要把好友进 CRM、把顾问名下资产对齐,手工导出通讯录既慢又脏。个人微信API二次开发用通讯录接口拉数据;先记住一句话:这份列表和「聊天列表里出现过的所有群」不是同一份东西。很多人以为拉一次通讯录就等于全量会话资产,后面同步永远对不齐。
拉通讯录
登录好节点、固定appId之后:
curl -X POST http://api.geweapi.com/gewe/v2/api/contacts/fetchContactsList \ -H "X-GEWE-TOKEN: YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "appId": "你的设备ID" }'ret === 200时,常见会有:
friends:好友 wxidchatrooms:已保存到通讯录的群ghs:关注的公众号
好友多时接口偏慢,超时按文档改走缓存结果,别死等一次全量把调用链打穿。系统号、文件传输助手之类不要当客户写入业务库。需要备注、详情时再调详情/搜索类接口,字段以文档为准,不要猜结构。
多顾问多号时,每个appId各自一份通讯录。业务库至少要有客户/群 → toWxid → appId的映射,禁止全局写死「默认设备的通讯录就是全公司」。
列表没有的群怎么办
未存通讯录的群,这份接口可能给不了。文档侧常见补法是:群里一旦有新消息走回调,你再拉群详情入库;或者运营侧要求顾问把常用群存进通讯录,再定时同步。
加好友则是另一条链:搜索拿v3/v4,再addContacts,和「拉列表」不要当成同一次任务。拉到好友之后,备注、标签可以继续维护——标签更新是全量覆盖,只传新标签会把旧的清掉,合并后再提交。
同步时最容易翻的车
每分钟全量打满。定时增量即可;把号打热了,后面发消息、加好友一起遭殃。
把公众号、系统号当客户。入库前过滤,否则 SCRM 脏数据会污染触达名单。
登录掉线还在同步。先恢复原appId,再重跑;换新设备 ID 等于换节点,旧映射全废。
脱敏与留存。联系人数据落地注意权限和留存周期,别把全量 wxid 明文甩进日志。
数据同步解决的是「资产看得见」;真正触达还要靠发送接口和回调。先把列表拉通、过滤干净、映射写稳,再接到推送和自动回。
API 文档:GeWe API - GeWe API|微信 API 开发文档