电商API
开发人员可以调用JoinChat的电商API,实现符合电商场景的垂直功能
介绍
JoinChat针对电商客户提供了三个功能卡片, 分别是
商品查找
商品搜索
订单查找
使用JoinChat电商机器人的商户,可以实现自己的商品和订单查询接口,并和JoinChat的电商模板三个功能卡片集成,随后即可让用户以便捷的方式查询商品和订单信息。
接口安全性验证
JoinChat会为每一个机器人生成独一无二的私钥。JoinChat调取API时,先用此密钥对整个请求参数进行sha256、base64加密,并将签名加在请求Header的x-joinchat-signature字段里。商户需要验证此字段来证明此请求确实来自JoinChat,并注意不要泄露自己的私钥。 商户可以随时在后台设置--API管理页面更改自己的私钥
开发者可以使用如下代码验证签名:
<?php
// API管理中秘钥
const API_SECRET = 'xxxxx';
// 伪代码, 从请求头获取签名
$src_sign = $request->header('x-joinchat-signature');
// 伪代码, 获取请求参数, 字符串格式
$input = $request->getContentRaw();
// 对请求参数进行加密生成签名并对比header里的签名
$result_sign = base64_encode(hash_hmac('sha256', $input, API_SECRET, true));
$result = hash_equals($src_sign, $result_sign);
var_dump($result);获取商品
当用户想查询商品或者,JoinChat将向商户的webhook发送请求参数进行查询
请求参数
title: 根据商品标题进行模糊查询
product_type: 根据商品分类来查询
vendor: 根据商品品牌来查询
以上三者之间是 或关系
order_type是排序规则,以逗号分隔,前面是要排序的字段,后面是升序或者降序。可以排序的值有title,created_at,updated_at,排序只有asc,desc两种
成功返回
失败返回
获取商品品牌和类别
当商店想给顾客更多查询选择,但是考虑到顾客不知道输入什么,JoinChat将向商户的webhook发送请求参数进行查询,获取商家的商品分类和品牌,展示给客户,让客户有明确的选择。
请求参数
字段值说明情况如下:
product_type: 获取商品的所有分类
vendor: 获取商品的所有品牌
返回结果
品牌接口
分类接口
失败返回
获取订单
当用户查询订单时, JoinChat提供给用户两种查询方式, 账户查询和订单号查询
查询时JoinChat将向商户的webhook提交请求参数进行查询,获取用户的订单, 然后通过messenger呈现给用户
请求参数
如果跟据用户账户获取,params中是user_amount代表用户账号,filter则代表要取什么类型的订单
open 代表所有正在进行中的订单
closed 代表所有已完成的订单
如果根据订单号获取,params中是order_number,代表订单号.
user_account和order_number只能指定一个
pagination是用于分页。在用户以账号获取订单列表时给出。page表示页数,limit表示一页的订单数
成功返回
返回数据字段含义和是否必传可以参考facebook文档, JoinChat不做处理, 直接传递给facebook
facebook messenger 回执模板文档
https://developers.facebook.com/docs/messenger-platform/reference/template/receipt/
失败返回
Last updated
Was this helpful?