daShangDao_kfzgw-info/md/kongfz.md
2025-12-31 17:56:22 +08:00

52 KiB
Raw Blame History

kongfz.dll 使用教程

1.创建DLL工具实例

加载DLL文件

// 加载DLL的函数
type kongfzDLL struct {
    dll                            *syscall.DLL
    outLogin                       *syscall.Proc // 孔网登录
    outGetUserMsg                  *syscall.Proc // 获取孔网用户信息
    outGetGoodsTplMsg              *syscall.Proc // 获取商品模版-已登的店铺
    outGetGoodsListMsgFromSelfShop *syscall.Proc // 获取商品列表-已登的店铺
    outAddGoods                    *syscall.Proc // 新增商品-已登的店铺
    outDelGoodsFromSelfShop        *syscall.Proc // 删除商品-已登的店铺
    outGetImageFilterShopId        *syscall.Proc // 获取孔网商品图片(官图和拍图)-带有店铺过滤
    outGetImageByIsbn              *syscall.Proc // 获取孔网商品图片和信息(官图和拍图)
    outGetGoodsListMsgByShopId     *syscall.Proc // 获取商品列表通过店铺ID
    outGetGoodsMsgByDetailUrl      *syscall.Proc // 获取商品信息通过商品详情链接
    outGetTopGoodsListMsg          *syscall.Proc // 获取销量榜商品列表
    freeCString                    *syscall.Proc // 释放C字符串内存
}

// 初始化kongfzDLL
func InitKongfzDLL() (*kongfzDLL, error) {
    dllPath := filepath.Join("dll", "kongfz.dll")
    if _, err := os.Stat(dllPath); os.IsNotExist(err) {
        return nil, fmt.Errorf("kongfz DLL 不存在: %s", dllPath)
    }
    if dll, err := syscall.LoadDLL(dllPath); err != nil {
        return nil, fmt.Errorf("加载 kongfz DLL 失败: %v", err)
    } else {
        return &kongfzDLL{
            dll:                            dll,
            outLogin:                       dll.MustFindProc("OutLogin"),
            outGetUserMsg:                  dll.MustFindProc("OutGetUserMsg"),
            outGetGoodsTplMsg:              dll.MustFindProc("OutGetGoodsTplMsg"),
            outGetGoodsListMsgFromSelfShop: dll.MustFindProc("OutGetGoodsListMsgFromSelfShop"),
            outAddGoods:                    dll.MustFindProc("OutAddGoods"),
            outDelGoodsFromSelfShop:        dll.MustFindProc("OutDelGoodsFromSelfShop"),
            outGetImageFilterShopId:        dll.MustFindProc("OutGetImageFilterShopId"),
            outGetImageByIsbn:              dll.MustFindProc("OutGetImageByIsbn"),
            outGetGoodsListMsgByShopId:     dll.MustFindProc("OutGetGoodsListMsgByShopId"),
            outGetGoodsMsgByDetailUrl:      dll.MustFindProc("OutGetGoodsMsgByDetailUrl"),
            outGetTopGoodsListMsg:          dll.MustFindProc("OutGetTopGoodsListMsg"),
            freeCString:                    dll.MustFindProc("FreeCString"),
		}, nil
	}
}

// main函数调用
dll, err := InitKongfzDLL()
if err != nil {
	fmt.Println(err)
}

获取C字符串

// cStr 获取C字符串
func (m *kongfzDLL) cStr(p uintptr) string {
    if p == 0 {
        return ""
    }
    b := []byte{}
    for i := uintptr(0); ; i++ {
        c := *(*byte)(unsafe.Pointer(p + i))
        if c == 0 {
        break   
		}
        b = append(b, c)
    }
    s := string(b)
    if m.freeCString != nil {
        m.freeCString.Call(p)
    }
    return s
}

2.使用dll函数示例

// 获取商品模版
func (m *kongfzDLL) OutGetGoodsTplMsg(token, itemId, proxy string) (string, error) {
	proc, err := m.dll.FindProc("OutGetGoodsTplMsg")
	if err != nil {
		return "", fmt.Errorf("找不到函数 OutGetGoodsTplMsg 函数: %v", err)
	}
	tokenPtr, _ := syscall.BytePtrFromString(token)
	itemIdPtr, _ := syscall.BytePtrFromString(itemId)
	proxyPtr, _ := syscall.BytePtrFromString(proxy)
	info, _, err := proc.Call(
		uintptr(unsafe.Pointer(tokenPtr)),
		uintptr(unsafe.Pointer(itemIdPtr)),
		uintptr(unsafe.Pointer(proxyPtr)))
	if err != nil && err.Error() != "The operation completed successfully." {
		return "", fmt.Errorf("调用函数 OutGetGoodsTplMsg 失败: %v", err)
	}
	return m.cStr(info), nil
}

初始化配置信息(可以不调用)

func main() {
    // 使用默认配置初始化
	config := createDefaultConfig()
    configJSON, err := json.Marshal(config)
    if err != nil {
        log.Fatalf("序列化配置失败: %v", err)
    }

    result, err := manager.Initialize(string(configJSON))
    if err != nil {
        log.Fatalf("初始化失败: %v", err)
    }

    var initResp APIResponse
    if err := json.Unmarshal([]byte(result), &initResp); err != nil {
        log.Fatalf("解析初始化响应失败: %v", err)
    }

    if !initResp.Success {
        log.Fatalf("初始化失败: %s", initResp.Message)
    }
}

// 创建默认配置
func createDefaultConfig() Config {
    var config Config
    // App配置
    config.App.MaxRetryTimes = 3
    config.App.RateLimitDelay = 1000
    config.App.Size = 10
    config.App.DefaultUserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
    
    // API配置
    config.API.LoginURL = "https://login.kongfz.com/Pc/Login/account"
    config.API.BookSearchURL = "https://search.kongfz.com/pc-gw/search-web/client/pc/bookLib/keyword/list"
    config.API.ProductSearchURL = "https://search.kongfz.com/pc-gw/search-web/client/pc/product/keyword/list"
    
    // 代理配置(需要根据实际情况修改)
    config.Proxy.Servers = "http-dynamic.xiaoxiangdaili.com,http-dynamic-S02.xiaoxiangdaili.com,http-dynamic-S03.xiaoxiangdaili.com,http-dynamic-S04.xiaoxiangdaili.com"
    config.Proxy.Username = "1297757178467602432"
    config.Proxy.Password = "QgQBvP7f"
    config.Proxy.TailMachineCode = "b7bf22a237ec692f13fcc2c43ee63252"
    config.Proxy.TailCardKey = "DL_20_YK_1920acb2129844c2aabade3896560a9b"
    config.Proxy.ProxyFilePath = "dll/proxyConfig.dll"
    
    config.Database.Username = "newAdmin"
    config.Database.Password = "bYPp8SbBe5F7nz2i"
    config.Database.Host = "146.56.227.42:3306"
    config.Database.Name = "newadmin"
    return config
}

2.配置结构体(可以不调用)

type Config struct {
    App struct {
        MaxRetryTimes    int    `json:"max_retry_times"`
        RateLimitDelay   int    `json:"rate_limit_delay"`
        Size             int    `json:"size"`
        DefaultUserAgent string `json:"default_user_agent"`
    } `json:"app"`

    API struct {
        LoginURL         string `json:"login_url"`
        BookSearchURL    string `json:"book_search_url"`
        ProductSearchURL string `json:"product_search_url"`
    } `json:"api"`

    Proxy struct {
        Servers         string `json:"servers"`
        Username        string `json:"username"`
        Password        string `json:"password"`
        TailMachineCode string `json:"tail_machine_code"`
        TailCardKey     string `json:"tail_card_key"`
        ProxyFilePath   string `json:"proxy_file_path"`
    } `json:"proxy"`
}

接口详情

1.孔网登录--OutLogin

请求信息

dll.OutLogin(username, password)

请求参数

参数名 类型 必填 说明
username string 登录用户名
password string 登录密码

响应示例

{
  "success": true,
  "message": "",
  "data": {
    "token": "abc123def456"
  }
}

2.获取孔网用户信息--OutGetUserMsg

请求信息

dll.OutGetUserMsg(token)

请求参数

参数名 类型 必填 说明
token string 登录凭证

响应示例

{
  "success": true,
  "message": "",
  "data": {
    "userId": 123456,
    "nickname": "用户昵称",
    "mobile": "13800138000"
  }
}

3.获取商品模版-已登的店铺--OutGetGoodsTplMsg

请求信息

dll.OutGetGoodsTplMsg(token, proxy, itemId)

请求参数

参数名 类型 必填 说明
token string 登录凭证
proxy string 代理地址
itemId string 商品ID

响应示例

{
  "success": true,
  "message": "",
  "data": {
    "status": 1,
    "data": {
      "categorySection": {
        "key": "catId",
        "name": "分类",
        "value": "58012000000000000",
        "catName": "收藏杂项 > 其他杂项",
        "inputType": "other",
        "title": "",
        "tips": "",
        "unit": "",
        "check": {
          "type": "categorySelect",
          "status": 0,
          "isRequired": 1
        },
        "isValid": true
      },
      "goodsSection": [
        {
          "key": "itemName",
          "name": "商品名称",
          "value": "鎏金降魔杵 全品",
          "inputType": "textarea",
          "title": "请填写商品名称",
          "tips": "请填写商品名称",
          "unit": "",
          "explain": "",
          "check": {
            "type": "string",
            "status": 0,
            "isRequired": 1,
            "maxLen": 200
          }
        },
        {
          "key": "author",
          "name": "制作者",
          "value": "未知",
          "inputType": "text",
          "title": "请填写制作者",
          "tips": "请填写制作者",
          "unit": "",
          "explain": "",
          "check": {
            "type": "string",
            "status": 0,
            "isRequired": 0,
            "maxLen": 120
          }
        },
        {
          "key": "yearsGroup",
          "name": "年代",
          "value": "2",
          "inputType": "yearsGroup",
          "title": "请填写时间或选择年代",
          "tips": "",
          "unit": "",
          "check": {
            "type": "radio",
            "status": 0,
            "isRequired": 0
          },
          "options": [
            {
              "name": "填写时间",
              "value": "1",
              "group": [
                {
                  "key": "pubDate",
                  "name": "年代",
                  "value": "",
                  "inputType": "dateGroup",
                  "title": "请填写年代",
                  "tips": "请填写年代",
                  "unit": "",
                  "check": {
                    "type": "date",
                    "status": 0,
                    "isRequired": 0,
                    "enableUnknow": false,
                    "maxDate": "2026-12"
                  },
                  "group": [
                    {
                      "key": "pubDateYear",
                      "name": "年份",
                      "value": "",
                      "leftWords": "hidden",
                      "inputType": "int",
                      "title": "请填写年份",
                      "tips": "请填写年份",
                      "unit": "年",
                      "explain": "",
                      "check": {
                        "type": "int",
                        "status": 0,
                        "isRequired": 0,
                        "min": 0,
                        "max": 2026
                      }
                    },
                    {
                      "key": "pubDateMonth",
                      "name": "月份",
                      "value": "",
                      "leftWords": "hidden",
                      "inputType": "int",
                      "title": "请填写月份",
                      "tips": "请填写月份",
                      "unit": "月",
                      "explain": "",
                      "check": {
                        "type": "int",
                        "status": 0,
                        "isRequired": 0,
                        "min": 1,
                        "max": 12
                      }
                    }
                  ]
                }
              ]
            },
            {
              "name": "选择年代",
              "value": "2",
              "group": [
                {
                  "key": "years",
                  "name": "年代",
                  "value": 0,
                  "inputType": "yearsSelect",
                  "title": "请选择年代",
                  "tips": "",
                  "unit": "",
                  "check": {
                    "type": "yearsSelect",
                    "status": 0,
                    "isRequired": 0
                  }
                }
              ]
            }
          ]
        },
        {
          "key": "material",
          "name": "材质",
          "value": "金属",
          "inputType": "text",
          "title": "请填写材质",
          "tips": "请填写材质",
          "unit": "",
          "explain": "",
          "check": {
            "type": "string",
            "status": 0,
            "isRequired": 0,
            "maxLen": 10
          }
        },
        {
          "key": "size",
          "name": "尺寸",
          "value": "",
          "inputType": "row",
          "isRequired": 0,
          "title": "请填写尺寸",
          "tips": "请填写尺寸",
          "group": [
            {
              "key": "sizeLength",
              "name": "长度",
              "value": "6",
              "leftWords": "长",
              "inputType": "float",
              "title": "请填写长度",
              "tips": "请填写长度",
              "unit": "cm",
              "check": {
                "type": "float",
                "status": 0,
                "isRequired": 1,
                "min": 0.01,
                "max": 99999.99,
                "decimals": 2
              }
            },
            {
              "key": "sizeWidth",
              "name": "宽度",
              "value": "2",
              "leftWords": "宽",
              "inputType": "float",
              "title": "请填写宽度",
              "tips": "请填写宽度",
              "unit": "cm",
              "check": {
                "type": "float",
                "status": 0,
                "isRequired": 1,
                "min": 0.01,
                "max": 99999.99,
                "decimals": 2
              }
            },
            {
              "key": "sizeHeight",
              "name": "高度",
              "value": "3",
              "leftWords": "高",
              "inputType": "float",
              "title": "请填写高度",
              "tips": "请填写高度",
              "unit": "cm",
              "check": {
                "type": "float",
                "status": 0,
                "isRequired": 0,
                "min": 0.01,
                "max": 99999.99,
                "decimals": 2
              }
            }
          ]
        },
        {
          "key": "quality",
          "name": "品相",
          "value": "95",
          "inputType": "select",
          "options": [
            {
              "name": "全新",
              "value": 100
            },
            {
              "name": "九五品",
              "value": 95
            },
            {
              "name": "九品",
              "value": 90
            },
            {
              "name": "八五品",
              "value": 85
            },
            {
              "name": "八品",
              "value": 80
            },
            {
              "name": "七五品",
              "value": 75
            },
            {
              "name": "七品",
              "value": 70
            },
            {
              "name": "六五品",
              "value": 65
            },
            {
              "name": "六品",
              "value": 60
            },
            {
              "name": "五品",
              "value": 50
            },
            {
              "name": "四品",
              "value": 40
            },
            {
              "name": "三品",
              "value": 30
            },
            {
              "name": "二品",
              "value": 20
            },
            {
              "name": "一品",
              "value": 10
            }
          ],
          "title": "请选择品相",
          "tips": "",
          "unit": "",
          "check": {
            "type": "select",
            "status": 0,
            "isRequired": 1
          }
        },
        {
          "key": "qualityDesc",
          "name": "品相描述",
          "value": "老好了",
          "inputType": "textarea",
          "title": "请填写品相描述",
          "tips": "请填写品相描述",
          "unit": "",
          "explain": "",
          "check": {
            "type": "string",
            "status": 0,
            "isRequired": 0,
            "maxLen": 400
          }
        },
        {
          "key": "price",
          "name": "售价",
          "value": "1467.00",
          "leftWords": "",
          "inputType": "float",
          "title": "请填写售价",
          "tips": "请填写售价",
          "unit": "元",
          "check": {
            "type": "float",
            "status": 0,
            "isRequired": 1,
            "min": 0.01,
            "max": 99999999.99,
            "decimals": 2
          }
        },
        {
          "key": "number",
          "name": "库存数量",
          "value": "1",
          "leftWords": "",
          "inputType": "int",
          "title": "请填写库存数量",
          "tips": "请填写库存数量",
          "unit": "件",
          "explain": "",
          "check": {
            "type": "int",
            "status": 0,
            "isRequired": 0,
            "min": 0,
            "max": 9999
          }
        },
        {
          "key": "itemSn",
          "name": "货号",
          "value": "",
          "inputType": "text",
          "title": "请填写货号",
          "tips": "请填写货号",
          "unit": "",
          "explain": "",
          "check": {
            "type": "string",
            "status": 0,
            "isRequired": 0,
            "maxLen": 20
          }
        },
        {
          "key": "myCatId",
          "name": "本店分类",
          "value": "",
          "inputType": "select",
          "options": [],
          "title": "请选择本店分类",
          "tips": "",
          "unit": "",
          "check": {
            "type": "select",
            "status": 0,
            "isRequired": 0
          }
        },
        {
          "key": "itemDesc",
          "name": "详细描述",
          "value": "",
          "inputType": "textarea",
          "title": "请填写详细描述",
          "tips": "请填写详细描述",
          "unit": "",
          "explain": "",
          "check": {
            "type": "string",
            "status": 0,
            "isRequired": 0,
            "maxLen": 10000
          }
        },
        {
          "key": "images",
          "name": "图片",
          "inputType": "images",
          "title": "请填写图片",
          "tips": "图片格式为jpg、png、gif、jpeg图片大小不能超过10M一次可以选择多张上传最多上传30张拖拽调整顺序。",
          "unit": "",
          "value": "",
          "images": [
            {
              "imgId": 239722,
              "imgType": 0,
              "isMain": 1,
              "imgUrl": "sw/kfz-cos/kfzimg/24175337/00fff0d9a9dbb89c_s.jpg",
              "imgSrc": "https://www0.kfzimg.com/sw/kfz-cos/kfzimg/24175337/00fff0d9a9dbb89c_s.jpg",
              "imgSrcMiddle": "https://www0.kfzimg.com/sw/kfz-cos/kfzimg/24175337/00fff0d9a9dbb89c_n.jpg",
              "imgSrcBig": "https://www0.kfzimg.com/sw/kfz-cos/kfzimg/24175337/00fff0d9a9dbb89c_b.jpg",
              "imgDesc": "",
              "imgTag": []
            }
          ],
          "batchKey": "img",
          "check": {
            "type": "images",
            "status": 0,
            "isRequired": 1,
            "descMaxLen": 300,
            "minNum": 1,
            "maxNum": 30,
            "appMaxSize": "2MB",
            "appMaxWidth": "1200",
            "pcMaxSize": "10MB"
          }
        },
        {
          "key": "isOnSale",
          "name": "货架状态",
          "value": "1",
          "inputType": "radio",
          "title": "",
          "tips": "",
          "unit": "",
          "check": {
            "type": "radio",
            "status": -1,
            "isRequired": 1
          },
          "options": [
            {
              "name": "直接上架",
              "value": "1"
            },
            {
              "name": "暂时下架",
              "value": "0"
            }
          ]
        },
        {
          "key": "itemId",
          "name": "商品编号",
          "value": 9250897118,
          "inputType": "hidden",
          "title": "",
          "tips": "",
          "unit": ""
        },
        {
          "key": "oldCatId",
          "name": "原商品分类",
          "value": "58012000000000000",
          "inputType": "hidden",
          "title": "",
          "tips": "",
          "unit": ""
        },
        {
          "key": "oldPrice",
          "name": "原商品价格",
          "value": "1467.00",
          "inputType": "hidden",
          "title": "",
          "tips": "",
          "unit": ""
        },
        {
          "key": "tpl",
          "name": "模板编号",
          "value": 12,
          "inputType": "hidden",
          "title": "",
          "tips": "",
          "unit": ""
        }
      ],
      "deliverSection": [
        {
          "key": "deliverTimeGroup",
          "name": "发货模式",
          "value": "1",
          "inputType": "ridio",
          "title": "发货模式",
          "tips": "",
          "unit": "",
          "check": {
            "type": "radio",
            "status": 0,
            "isRequired": 1
          },
          "options": [
            {
              "name": "现货模式",
              "value": "1",
              "key": "deliverTypeInStock",
              "group": [
                {
                  "key": "deliverTime",
                  "name": "发货时间",
                  "value": "48h",
                  "inputType": "radio",
                  "title": "发货时间",
                  "tips": "",
                  "unit": "",
                  "check": {
                    "type": "radio",
                    "status": 0,
                    "isRequired": 1
                  },
                  "options": [
                    {
                      "name": "当日发",
                      "value": "today",
                      "tips": "买家在16点前付款当日24点前发货16点后付款次日24点前发货且在发货24小时内返回物流轨迹。"
                    },
                    {
                      "name": "24小时",
                      "value": "24h",
                      "tips": "买家付款后24小时内发货且在发货24小时内返回物流轨迹。"
                    },
                    {
                      "name": "48小时",
                      "value": "48h"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "key": "isDeliverTimeDefault",
          "name": "设为默认发货时间",
          "value": "48h",
          "inputType": "hidden"
        }
      ],
      "shippingSection": [
        {
          "key": "bearShipping",
          "name": "",
          "value": "buyer",
          "inputType": "radio",
          "options": [
            {
              "name": "卖家承担运费",
              "tips": "(必须支持快递)",
              "value": "seller"
            },
            {
              "name": "运费模板",
              "value": "buyer"
            }
          ],
          "title": "请选择",
          "tips": "",
          "unit": "",
          "check": {
            "type": "radio",
            "status": 0,
            "isRequired": 1
          }
        },
        {
          "key": "isUseMould",
          "name": "是否使用运费模板",
          "value": "1",
          "inputType": "hidden",
          "title": "",
          "tips": "",
          "unit": ""
        },
        {
          "key": "mouldId",
          "name": "运费模板",
          "value": 975623,
          "inputType": "select",
          "title": "请选择运费模板",
          "tips": "为了提升消费者购物体验,方便您计算运费,买家承担运费的商品均需使用运费模板,如何使用模板,[url=]查看视频教程[/url]",
          "unit": "",
          "check": {
            "type": "shippingMouldSelect",
            "status": 0,
            "isRequired": 1
          },
          "shipping": [],
          "shopProductArea": 1001000000,
          "mouldList": [
            {
              "mouldId": "975623",
              "mouldName": "模板1",
              "isTransfer": "0",
              "isDefault": "0",
              "isAppMould": "0",
              "feeManner": "weight",
              "productArea": "1001000000",
              "mouldInfo": {
                "mouldId": "975623",
                "userId": "24175337",
                "mouldName": "模板1",
                "productArea": "1001000000",
                "feeManner": "weight",
                "sortOrder": [
                  "express"
                ],
                "enableShipping": "express",
                "dataMd5": "",
                "isDefault": "0",
                "isAppMould": "0",
                "description": "",
                "smartMouldId": "0",
                "shipmentType": "0",
                "provId": "1000000000",
                "provName": "北京",
                "cityId": "1001000000",
                "cityName": "东城",
                "feeList": {
                  "express": {
                    "enabled": true,
                    "name": "快递",
                    "special": [
                      {
                        "feeId": 8587228,
                        "area": [
                          {
                            "provId": "1000000000",
                            "provName": "北京",
                            "cities": []
                          }
                        ],
                        "areaDivide": "china",
                        "initialNum": 1,
                        "addNum": 1,
                        "addFee": "5.00",
                        "initialFee": "5.00",
                        "registerFee": "0.00"
                      },
                      {
                        "feeId": 8587229,
                        "area": [
                          {
                            "provId": "3000000000",
                            "provName": "天津",
                            "cities": []
                          },
                          {
                            "provId": "12000000000",
                            "provName": "河北",
                            "cities": []
                          }
                        ],
                        "areaDivide": "china",
                        "initialNum": 1,
                        "addNum": 1,
                        "addFee": "5.00",
                        "initialFee": "5.00",
                        "registerFee": "0.00"
                      },
                      {
                        "feeId": 8587230,
                        "area": [
                          {
                            "provId": "2000000000",
                            "provName": "上海",
                            "cities": []
                          },
                          {
                            "provId": "18000000000",
                            "provName": "江苏",
                            "cities": []
                          },
                          {
                            "provId": "31000000000",
                            "provName": "浙江",
                            "cities": []
                          },
                          {
                            "provId": "5000000000",
                            "provName": "安徽",
                            "cities": []
                          },
                          {
                            "provId": "19000000000",
                            "provName": "江西",
                            "cities": []
                          },
                          {
                            "provId": "25000000000",
                            "provName": "山西",
                            "cities": []
                          },
                          {
                            "provId": "24000000000",
                            "provName": "山东",
                            "cities": []
                          },
                          {
                            "provId": "21000000000",
                            "provName": "内蒙古",
                            "cities": []
                          },
                          {
                            "provId": "16000000000",
                            "provName": "湖南",
                            "cities": []
                          },
                          {
                            "provId": "15000000000",
                            "provName": "湖北",
                            "cities": []
                          },
                          {
                            "provId": "13000000000",
                            "provName": "河南",
                            "cities": []
                          },
                          {
                            "provId": "8000000000",
                            "provName": "广东",
                            "cities": []
                          },
                          {
                            "provId": "9000000000",
                            "provName": "广西",
                            "cities": []
                          },
                          {
                            "provId": "6000000000",
                            "provName": "福建",
                            "cities": []
                          },
                          {
                            "provId": "11000000000",
                            "provName": "海南",
                            "cities": []
                          },
                          {
                            "provId": "20000000000",
                            "provName": "辽宁",
                            "cities": []
                          },
                          {
                            "provId": "17000000000",
                            "provName": "吉林",
                            "cities": []
                          },
                          {
                            "provId": "14000000000",
                            "provName": "黑龙江",
                            "cities": []
                          },
                          {
                            "provId": "26000000000",
                            "provName": "陕西",
                            "cities": []
                          },
                          {
                            "provId": "7000000000",
                            "provName": "甘肃",
                            "cities": []
                          },
                          {
                            "provId": "22000000000",
                            "provName": "宁夏",
                            "cities": []
                          },
                          {
                            "provId": "23000000000",
                            "provName": "青海",
                            "cities": []
                          },
                          {
                            "provId": "4000000000",
                            "provName": "重庆",
                            "cities": []
                          },
                          {
                            "provId": "30000000000",
                            "provName": "云南",
                            "cities": []
                          },
                          {
                            "provId": "10000000000",
                            "provName": "贵州",
                            "cities": []
                          },
                          {
                            "provId": "27000000000",
                            "provName": "四川",
                            "cities": []
                          }
                        ],
                        "areaDivide": "china",
                        "initialNum": 1,
                        "addNum": 1,
                        "addFee": "5.00",
                        "initialFee": "5.00",
                        "registerFee": "0.00"
                      },
                      {
                        "feeId": 8587231,
                        "area": [
                          {
                            "provId": "29000000000",
                            "provName": "新疆",
                            "cities": []
                          },
                          {
                            "provId": "28000000000",
                            "provName": "西藏",
                            "cities": []
                          }
                        ],
                        "areaDivide": "china",
                        "initialNum": 1,
                        "addNum": 1,
                        "addFee": "30.00",
                        "initialFee": "30.00",
                        "registerFee": "0.00"
                      },
                      {
                        "feeId": 8587232,
                        "area": [
                          {
                            "provId": "34000000000",
                            "provName": "香港",
                            "cities": []
                          },
                          {
                            "provId": "32000000000",
                            "provName": "澳门",
                            "cities": []
                          },
                          {
                            "provId": "33000000000",
                            "provName": "台湾",
                            "cities": []
                          },
                          {
                            "provId": "40000000000",
                            "provName": "海外",
                            "cities": []
                          }
                        ],
                        "areaDivide": "outChinaDefault",
                        "initialNum": 0,
                        "addNum": 0,
                        "addFee": "0.00",
                        "initialFee": "0.00",
                        "registerFee": 0
                      }
                    ]
                  }
                }
              },
              "shipmentType": "0"
            }
          ]
        },
        {
          "key": "weight",
          "name": "物流重量",
          "value": "0.5",
          "leftWords": "",
          "inputType": "float",
          "title": "请填写物流重量",
          "tips": "请填写物流重量",
          "unit": "千克",
          "check": {
            "type": "float",
            "status": 0,
            "isRequired": 1,
            "min": 0.01,
            "max": 9999.99,
            "decimals": 2
          }
        },
        {
          "key": "weightPiece",
          "name": "物流标准本数",
          "value": "1",
          "leftWords": "",
          "inputType": "float",
          "title": "请填写物流标准本数",
          "tips": "请填写物流标准本数",
          "unit": "本",
          "check": {
            "type": "float",
            "status": 0,
            "isRequired": 1,
            "min": 0.01,
            "max": 9999.99,
            "decimals": 2
          }
        }
      ],
      "isDraft": 0
    },
    "message": "",
    "errType": ""
  }
}

4.获取商品列表-已登的店铺--OutGetGoodsListMsgFromSelfShop

请求信息

dll.OutGetGoodsListMsgFromSelfShop(token, proxy, itemSn, priceMin, priceMax, 
startCreateTime, endCreateTime, requestType, 
isItemSnEqual, page, size)

请求参数

参数名 类型 必填 说明
token string 登录凭证
proxy string 代理地址
itemSn string 店铺货号
priceMin string 最低价格
priceMax string 最高价格
startCreateTime string 上书开始时间
endCreateTime string 上书结束时间
requestType string 请求类型 onSale:出售中
isItemSnEqual int 验证货号 填 0 就行
page int 页码
size int 每页数量

响应示例

{
  "success": true,
  "message": "",
  "data": {
    "status": true,
    "errCode": 0,
    "errMessage": "",
    "result": {
      "productInfoPageResult": {
        "list": [
          {
            "name": "鎏金降魔杵 全品",
            "qualityName": "九五品",
            "quality": 95,
            "price": 1467.00,
            "realPrice": 1467.00,
            "number": 1,
            "mouldName": "模板1",
            "feeManner": "0.5千克",
            "weight": 0.5,
            "weightPiece": 0.0,
            "mouldId": 975623,
            "imageUrl": "https://www0.kfzimg.com/sw/kfz-cos/kfzimg/24175337/00fff0d9a9dbb89c_s.jpg",
            "imageSrc": "https://www0.kfzimg.com/sw/kfz-cos/kfzimg/24175337/00fff0d9a9dbb89c_s.jpg",
            "createTime": "2025-12-11 11:42",
            "updateTime": "2025-12-11 11:43",
            "itemId": 9250897118,
            "catId": 58012000000000000,
            "catName": "收藏杂项 > 其他杂项",
            "tpl": 12,
            "itemSn": "",
            "discount": 100,
            "certifyStatus": "certified",
            "isOnSale": 1,
            "certifyStatusName": "出售中",
            "soldNumber": null,
            "soldAmount": null,
            "soldTime": null,
            "operateList": null,
            "shareInfo": null,
            "isSyncISBN": 0,
            "deliverType": 1,
            "deliverTime": "48h",
            "isDraft": 0
          }
        ],
        "pager": {
          "page": 1,
          "size": 100,
          "total": 1,
          "pages": 1
        }
      },
      "productStatCount": {
        "allUnSold": 3,
        "onSale": 1,
        "zeroStock": 0,
        "offSale": 2,
        "needApproved": 0,
        "soldCount": null
      },
      "productListStat": {
        "count": 1,
        "itemNum": 1,
        "amount": "1467.00"
      }
    }
  }
}

5.新增商品-已登的店铺--OutAddGoods

请求信息

dll.OutAddGoods(token, proxy, formData)

请求参数

参数名 类型 必填 说明
token string 登录凭证
proxy string 代理地址
formData string 新增商品信息的json字符串

响应示例

{
  "success": true,
  "message": "",
  "data": {
    "status":1,
    "data":9279010923,
    "message":"",
    "errType":""
  }
}

6.删除商品-已登的店铺--OutDelGoodsFromSelfShop

请求信息

dll.OutDelGoodsFromSelfShop(token, proxy, itemId)

请求参数

参数名 类型 必填 说明
token string 登录凭证
proxy string 代理地址
itemId string 店铺ID

响应示例

{
  "success": true,
  "message": "",
  "data": {
    "status":true,
    "errCode":0,
    "errMessage":"",
    "result":true
  }
}

7.获取孔网商品图片(官图和拍图)-带有店铺过滤--OutGetImageFilterShopId

请求信息

dll.OutGetImageFilterShopId(token, proxy, isbn, shopId, isLiveImage, isReturnMsg)

请求参数

参数名 类型 必填 说明
token string 登录凭证
proxy string 代理地址
isbn string ISBN
shopId int 店铺ID
isLiveImage int 需要官图还是实拍图 0:官图 1:实拍图
isReturnMsg int 是否需要详细信息 0:是 1:否

响应示例

{
  "success": true,
  "message": "",
  "data": {
    "book_name": "",
    "book_pic":  "",
    "book_pic_s":  "",
    "isbn":      ""
  }
}

8.获取孔网商品图片和信息(官图和拍图)--OutGetImageByIsbn

请求信息

dll.OutGetImageByIsbn(token, proxy,isbn, isLiveImage, isReturnMsg)

请求参数

参数名 类型 必填 说明
token string 登录凭证
proxy string 代理地址
isbn string ISBN
isLiveImage int 需要官图还是实拍图 0:官图 1:实拍图
isReturnMsg int 是否需要详细信息 0:是 1:否

响应示例

{
  "success": true,
  "message": "",
  "data": {
    "author": "",
    "publisher": "",
    "isbn": "",
    "publication_time": 0,
    "edition": "",
    "print_time": "",
    "fix_price": "",
    "binding_layout": "",
    "format": "",
    "paper": "",
    "pages": "",
    "wordage": "",
    "languages": "",
    "era": "",
    "engraving_method": "",
    "dimensions": "",
    "volume_number": "",
    "book_pic": "",
    "book_pic_s": "",
    "selling_price": "",
    "condition": "",
    "express_delivery_fee": "",
    "editor": "",
    "category": "",
    "buy_count": "",
    "sell_count": "",
    "content": "",
    "mid": 0,
    "item_id": 0,
    "shop_id": 0,
    "detail_url": ""
  }
}

9.获取商品列表通过店铺ID--OutGetGoodsListMsgByShopId

请求信息

dll.OutGetGoodsListMsgByShopId(
shopId, proxy, retPrice, isImage, sortType, 
sort, priceMin, priceMax, pageNum, returnNum)

请求参数

参数名 类型 必填 说明
shopId int 店铺ID
proxy string 代理地址
retPrice int 是否返回价格
isImage int 是否有图片
sortType string 排序类型
sort string 排序方式
priceMin float 最低价格
priceMax float 最高价格
pageNum int 页码
returnNum int 每页数量

响应示例

{
  "success": true,
  "message": "",
  "data": {
    "goods_num": "",
    "pnum": "",
    "book_info": [{
      "author": "",
      "publisher": "",
      "isbn": "",
      "publication_time": 0,
      "edition": "",
      "print_time": "",
      "fix_price": "",
      "binding_layout": "",
      "format": "",
      "paper": "",
      "pages": "",
      "wordage": "",
      "languages": "",
      "era": "",
      "engraving_method": "",
      "dimensions": "",
      "volume_number": "",
      "book_pic": "",
      "book_pic_s": "",
      "selling_price": "",
      "condition": "",
      "express_delivery_fee": "",
      "editor": "",
      "category": "",
      "buy_count": "",
      "sell_count": "",
      "content": "",
      "mid": 0,
      "item_id": 0,
      "shop_id": 0,
      "detail_url": ""
    }]
  }
}

10.获取商品信息通过商品详情链接--OutGetGoodsMsgByDetailUrl

请求信息

dll.OutGetGoodsMsgByDetailUrl(detailUrl,proxy)

请求参数

参数名 类型 必填 说明
detailUrl string 请求详情页的url
proxy string 代理地址

响应示例

{
  "success": true,
  "message": "",
  "data": {
    "author": "",
    "publisher": "",
    "isbn": "",
    "publication_time": 0,
    "edition": "",
    "print_time": "",
    "fix_price": "",
    "binding_layout": "",
    "format": "",
    "paper": "",
    "pages": "",
    "wordage": "",
    "languages": "",
    "era": "",
    "engraving_method": "",
    "dimensions": "",
    "volume_number": "",
    "book_pic": "",
    "book_pic_s": "",
    "selling_price": "",
    "condition": "",
    "express_delivery_fee": "",
    "editor": "",
    "category": "",
    "buy_count": "",
    "sell_count": "",
    "content": "",
    "mid": 0,
    "item_id": 0,
    "shop_id": 0,
    "detail_url": ""
  }
}

11.获取销量榜商品列表--OutGetTopGoodsListMsg

请求信息

dll.OutGetTopGoodsListMsg(catId,proxy)

请求参数

参数名 类型 必填 说明
catId int 销量榜类型ID
proxy string 代理地址

响应示例

{
  "success": true,
  "message": "",
  "data": {
    "status": true,
    "result": {
      "current": 1,
      "data": [
        {
          "author": "吴承恩  著",
          "bookName": "西游记",
          "contentIntroduction": "在中国古代小说中,《西游记(评注本)》是一部思想性和艺术性都臻于第一流的伟大作品。它也是明代长篇小说的重要流派之一神魔小说的代表作,是中国古代神魔小说的翘楚、浪漫文学的代表,作者以其丰富的艺术想象力建构了一个光怪陆离的神话世界,并塑造出以孙悟空、猪八戒为代表的一批性格鲜明、影响深远的文学形象,数百年来一直为人们所喜闻乐见。《西游记(评注本)》主要描写的是孙悟空保唐僧西天取经,历经九九八十一难的故事",
          "imgUrl": "https://booklibimg.kfzimg.com/data/book_lib_img_v2/isbn/1/536c/536c60e36e75bf67f43d790901fc0fe2_0_1_300_300.jpg",
          "isbn": "9787540310097",
          "itemUrls": {
            "appUrl": "kongfz://app.kongfz.com?page=isbnDetail&mid=52528207",
            "mUrl": "https://m.kongfz.com/item/52528207/",
            "miniUrl": "/pages/bookdetail/bookdetail?mid=52528207",
            "pcUrl": "https://item.kongfz.com/book/52528207.html"
          },
          "mid": 52528207,
          "newMinPrice": "3.45",
          "oldMinPrice": "0.20",
          "press": "崇文书局",
          "price": "15.00",
          "pubDate": "2006-05",
          "riseTag": "",
          "authorArr": [
            {
              "name": "吴承恩",
              "oriName": "",
              "nationality": "",
              "role": "著",
              "url": "https://search.kongfz.com/item_result/?status=0&select=2&author=hk5434k627fk6069"
            }
          ],
          "pressUrl": "https://search.kongfz.com/item_result/?status=0&press=hk5d07k6587k4e66k5c40"
        }
      ],
      "total": 100
    },
    "errMessage": "",
    "errCode": 0
  }
}

12.获取配送方式列表--KongfzDeliveryMethodList

请求信息

dll.KongfzDeliveryMethodList(appId C.int, appSecret, accessToken *C.char)

请求参数

参数名 类型 必填 说明
appId int 开放平台分配给应用的AppId
appSecret string App密钥
accessToken string 用户登录授权成功后,开放平台颁发给应用的授权信息。

响应示例

{
  "requestId": "EGLJzOwutBCR9RDE",
  "requestMethod": "kongfz.delivery.method.list",
  "successResponse": [
    {
      "shippingId": "registerPost", 
      "shippingName": "挂号印刷品",
      "isDefault": false, 
      "companies": [ 
        {
          "shippingCom": "registeredPrint",  
          "shippingComName": "邮局",   
          "isDefault": false  
        }
      ]
    },
    {
      "shippingId": "express", 
      "shippingName": "快递",  
      "isDefault": false,  
      "companies": [ 
        {
          "shippingCom": "huitongkuaidi",  
          "shippingComName": "百世快递",  
          "isDefault": true
        },
        {
          "shippingCom": "yunda",
          "shippingComName": "韵达快递",
          "isDefault": false,
        },
      ]
    },
    {
      "shippingId": "generalParcel",
      "shippingName": "普通包裹",
      "isDefault": false,
      "companies": [
        {
          "shippingCom": "generalParcel",
          "shippingComName": "邮局",
          "isDefault": false
        }
      ]
    },
    {
      "shippingId": "ems",
      "shippingName": "EMS",
      "isDefault": false,
      "companies": [
        {
          "shippingCom": "ems",
          "shippingComName": "邮局",
          "isDefault": false
        }
      ]
    },
    {
      "shippingId": "noLogistics",
      "shippingName": "无需物流",
      "isDefault": false,
      "companies": []
    }
  ],
  "errorResponse": null
}

13.订单发货--KongfzOrderDeliver

请求信息

dll.KongfzOrderDeliver(appId, appSecret, accessToken ,
orderId , shippingId, shippingCom, shipmentNum, userDefined, moreShipmentNum )

请求参数

参数名 类型 必填 说明
appId int 开放平台分配给应用的AppId
appSecret string App密钥
accessToken string 用户登录授权成功后,开放平台颁发给应用的授权信息
orderId int 订单编号
shippingId string 配送方式
shippingCom string 快递公司。当shippingId!=noLogistics时此参数为必填。取值参考kongfz.delivery.method.list接口的返回值
shipmentNum string 快递单号。当shippingId!=noLogistics时此参数为必填。
userDefined string 用户自定义物流公司。当shippingCom=other时此参数为必填。
moreShipmentNum string 填写更多的快递单号,以逗号分隔。

响应示例

{
  "requestId": "bbXrGb2dOBRRDRBL",
  "requestMethod": "kongfz.order.deliver",
  "successResponse": {
    "order": {
      "orderId": 73609014,
      "remark": "订单发货成功",
      "updateTime": "2019-05-22 16:32:08"
    }
  },
  "errorResponse": null
}

14.孔网订单同步--KongfzOrderSynchronization

请求信息

result, err := dll.KongfzOrderSynchronization(appId, appSecret, accessToken, shippingComName,
orderId, shippingId, shippingCom, shipmentNum, userDefined, moreShipmentNum)

请求参数

参数名 类型 必填 说明
appId int 开放平台分配给应用的AppId
appSecret string App密钥
accessToken string 用户登录授权成功后,开放平台颁发给应用的授权信息
shippingComName string 快递名称
orderId int 订单编号
shippingId string 配送方式
shippingCom string 快递公司。当shippingId!=noLogistics时此参数为必填。取值参考kongfz.delivery.method.list接口的返回值
shipmentNum string 快递单号。当shippingId!=noLogistics时此参数为必填。
userDefined string 用户自定义物流公司。当shippingCom=other时此参数为必填。
moreShipmentNum string 填写更多的快递单号,以逗号分隔。

响应示例

{
  "requestId": "bbXrGb2dOBRRDRBL",
  "requestMethod": "kongfz.order.deliver",
  "successResponse": {
    "order": {
      "orderId": 73609014,
      "remark": "订单发货成功",
      "updateTime": "2019-05-22 16:32:08"
    }
  },
  "errorResponse": null
}

12.初始化--Initialize(可以不调用)

请求信息

result, err := dll.Initialize(configJSON)

请求参数

参数名 类型 必填 说明
configJSON string 配置信息的 JSON 字符串

响应示例

{
  "success": true,
  "message": "初始化成功"
}

12.释放C字符串内存--FreeCString

请求信息

dll.FreeCString(str)

请求参数

参数名 类型 必填 说明
str string 需要释放的字符串