国内虚拟物品自动发货流程(免爬虫免监听免营业执照)


想做独开卖软件,少不了收款发货这一步。就我所了解的方式有这么几种吧:

  1. 最直接的方式,上架应用商店,通过商店收款发货。但在国内上应用商店也不容易,大部分平台要营业执照,还有 app 备案,可能还要软著。
  2. 接支付宝或者微信支付,通过 sdk 发货。但是需要营业执照。
  3. 贴自己的付款码,靠爬虫或者监听触发发货流程。用爬虫有风险。

本文介绍一种新方案,虽然绕了些,但好在免爬虫免监听免营业执照。

1. 开淘宝店铺

开店流程很简单,也不需要营业执照。不得不说淘宝还是很 open 的,相较于腾讯系。

细节不表,按照流程来就行。

2. 在千牛创建自动化流程

千牛就是淘宝商家的后台,我们在这里找到自动化的入口:

创建自动化流程:

流程如下:

后两步的内容是重点。

流程中旺旺的设置

旺旺这一步是为了告知用户如何激活,以及激活码(其实就是订单号,我们无法自定义激活码)。

流程中飞书机器人的设置

飞书这一步是为了将订单 id 发送到飞书群,以便于后续使用。

有人可能要问了,为什么不直接用钉钉的待办?答:钉钉待办的 sdk 拿不到千牛创建的待办。原因就不清楚了,不然我也不至于绕到飞书去。

3. 开飞书企业账号

同样不需要营业执照,比较简单。

接下来是重点,我们需要添加两种机器人。

webhook 机器人

新建一个群聊,先添加 webhook 机器人:

他的主要用途是接受千牛那边的订单 id。如果一切正常,我们就可以收到千牛触发的消息:

自定义机器人

先开通飞书开发者后台,新建自定义机器人:

我们主要使用的 api 是 获取群消息,记得开通对应的权限。注意 api 有次数限制,调试时不要给用完了。

在创建完自定义机器人后也不要忘了添加进我们刚才创建的群聊。

飞书这个文档页面做的很不错,调试起来也比较方便。

sdk 查询消息

当用户激活时,我们的后端服务器通过自定义机器人的接口查询群消息,找到 webhook 机器人发送的订单 id。以 golang 为例:

	// 创建请求对象
	req := larkim.NewListMessageReqBuilder().
		ContainerIdType(`chat`).
		ContainerId(`xxx`).
		SortType(`ByCreateTimeDesc`).
		PageSize(1).
		Build()

	// 发起请求
	resp, err := client.Im.V1.Message.List(context.Background(), req)

有人可能要问了,为什么我们不直接用飞书的消息事件监听呢?答:消息事件监听收不到机器人消息。

拿到订单 id 后要怎么做,就不用我介绍了吧?

没错,就是这么绕。心累啊。