很多人一听到接口、请求、回调这些词就头大,觉得这是程序员才看得懂的东西。其实完全不用怕,你只要把"你的程序想和微信说话"这件事,想成"你想给朋友寄一封信",就一下子通透了。
下面我用生活里的 6 个角色,把个人微信 API 的工作方式拆开讲。看完你会发现,哪怕没写过一行代码,也能说清楚它们谁管谁、谁找谁、哪里容易出问题。这 6 个角色分别是:大脑、翻译官兼邮递员(Eyun API)、邮局、收件人、你家信箱、身份证和门牌。
角色 1:大脑——你的程序
大脑只负责"想做什么",不负责"怎么送出去"。
比如大脑会想:"要给张三发一条发货通知",或者"李四刚才问了订单进度,我得查一下再回复他"。但大脑不懂微信的内部细节,不懂怎么打包消息,也不懂怎么把消息送到对方面前。它只懂自己的业务,比如订单系统、客服系统、提醒系统这些。
大白话一句:大脑只会拿主意,不会跑腿。
角色 2:翻译官兼邮递员——Eyun API
大脑和微信讲的不是一套话,中间必须有人翻译。Eyun API 干的就是这个活:一边当翻译官,一边当邮递员。
大脑说"给张三发通知",Eyun 先把这句话翻译成微信能懂的标准格式,再交给"邮局"去送。反过来,用户在微信里给你回了一条消息,"邮局"把信拿回来,Eyun 再翻译成大脑看得懂的话,递到你这边。大脑和 Eyun 之间用的是常见的 JSON + HTTP 说话,简单说就是"把事情写在纸条上,按统一格式递过去"。
大白话一句:两边语言不通,全靠 Eyun 翻来翻去、送来送去。
角色 3:邮局——微信
邮局管着全国所有用户的微信号,负责真正的"投递"。
Eyun 把翻译好的信交给邮局,邮局根据收件人信息,把消息送到对方的手机微信里。用户写了回信,邮局也不会直接找你,而是先交给 Eyun 这个邮递员,再由 Eyun 送到你这边。邮局只认规范的信封和正确的投递方式,不会替你操心业务上的事。
大白话一句:邮局就是官方渠道,谁的号、谁的消息,全是它在管。
角色 4:收件人——用户手机微信
收件人就是普通用户手里的微信。
他们做的事很简单:收到消息、看一眼、愿意回就打几个字。对收件人来说,他只知道"这个号给我发了一条消息",至于背后谁在想、谁在翻、谁在送,他完全不关心。如果消息没送到,问题一定在前面的环节,不在收件人这边。
大白话一句:收件人只负责收信和回信,其他一概不管。
角色 5:你家信箱——Webhook 回调地址
大脑想发消息很简单,通过 Eyun 递出去就行。但用户回信怎么到你手里?这就需要一个"你家信箱",也就是 Webhook 回调地址。
Eyun 从邮局拿到用户的回信,会按你事先留好的地址,把信塞进这个信箱里。信箱必须在 5 秒内签收,也就是返回 200,否则 Eyun 会认为没送到,可能再试一次。更关键的是,这个地址必须是公网能找到的,相当于邮局能导航到你家门口,不然 Eyun 想塞也塞不进来。
大白话一句:没有信箱,你就只能发,收不到回信。
角色 6:身份证和门牌——wId + Token
最后两个小东西别看不起眼,没了它们一步都走不通。
Token 就像身份证,Eyun 每次帮你送信前都要先验一眼:确认你是这个邮递区域的合法发件人,不是随便来蹭快递的。wId 就像门牌号,告诉 Eyun "这次用哪个微信号发"。一个人可能有好几个号,不同号对应不同的 wId,用错了就会送错门。这两样东西都是你在 Eyun 平台开通实例时领到的,要妥善保管。
大白话一句:没身份证人家不帮你送,没门牌号人家不知道从哪发。
6 个角色一眼看懂
| 角色 | 类比 | 实际对应的东西 | 主要职责 | 大白话说明 |
|---|---|---|---|---|
| 大脑 | 拿主意的人 | 你的业务程序 | 决定"要做什么" | 只会想,不会送 |
| 翻译官兼邮递员 | Eyun API | Eyun 接口服务 | 翻译双方语言、来回投递 | 两边话不通,全靠它传 |
| 邮局 | 微信官方 | 微信系统 | 管理账号和消息投递 | 所有微信号都归它管 |
| 收件人 | 收信的人 | 用户手机微信 | 接收消息、写回信 | 只管收和回 |
| 你家信箱 | 门口信箱 | Webhook 回调地址 | 接收用户回信并签收 | 没信箱就收不到回信 |
| 身份证 + 门牌 | 证件和地址 | Token + wId | 证明身份、指明发信号 | 缺一不可 |
6 个角色怎么配合(伪代码)
大脑说:"给张三发通知,内容是'您的订单已发货'"
-> Eyun 把这句话翻译成标准信封(JSON),检查身份证 Token 和门牌 wId
-> Eyun 把信封交给邮局(微信)
-> 邮局根据地址送到收件人手机
用户在微信里写回信:"发的什么快递?"
-> 邮局收到回信,转交给邮递员 Eyun
-> Eyun 把回信翻译成大脑能懂的纸条
-> Eyun 把纸条塞进你家信箱(Webhook),信箱返回 200 表示"收到"
-> 大脑从信箱里取信,继续想下一步怎么做
用这个模型,一眼看出哪里出了问题
如果你把整条链路想成"大脑 -> Eyun -> 邮局 -> 收件人",再从"收件人 -> 邮局 -> Eyun -> 信箱 -> 大脑"绕回来,很多常见问题一下就好判断了。
用户收不到消息,大概率是翻译官或邮局这一环出了问题:要么信封格式不对,要么身份和门牌不对,要么邮局暂时没送到。你收不到用户的回信,先看信箱地址是不是公网可达,再看有没有在规定时间内签收。接口调不通,先翻出你的身份证 Token 和门牌 wId,看看是不是少写、写错、用错了实例。
简单说,这 6 个角色一个管想、一个管翻译和跑腿、一个管总调度、一个管收信、一个管收回信、一个管你是谁从哪发。每个角色只干自己那点事,不乱套、不跨界,整个接口就能顺顺当当跑起来。身份凭证可以在 Eyun 平台 开通。

76

被折叠的 条评论
为什么被折叠?



