“我的订单到哪儿了?”
这是电商客服最常遇到问题,约占总问题数的 20%+。
如果机器人能够很好地解决这类问题,将帮助你节省 20% 的人工客服时间。
为此,我们设计了一套订单 & 包裹查询流程。接入电商机器人的商家完成一定配置后,都能够实现如下效果:
通过 AI 查询订单
在电商机器人中,我们提供了 2 种查询订单方式:
- 点击菜单中的 My Orders,回调触发流程
- 输入 查订单 意图的句子,AI 触发流程
下面,我将分5个步骤,为你详细说明订单 & 物流查询的配置方法:
- 验证接口有效性
- 获取订单
- 获取物流信息
- 订单号格式配置
- 真实情况测试
开始前,你需要准备一个 Webhook URL。以验证 Webhook 的有效性,并在实际使用中返回正确值。
验证接口有效性
为了便于你了解 Meetbot 的请求结构,签名算法等,并验证 Webhook 的有效性,你需要验证测试接口。前往 “API 对接 -> 密钥管理 -> Webhook" 管理 下方,填写 Webhook URL。我们在 params 字段中放置了随机生成的 test_token 字段。你需要读取该字段并返回。
请求
{
"request":{
"category":"ecommerce",
"method":"test",
"id":"test_12582312",
"page_id":"231231232134111",
"meta":""
},
"params":{
"test_token":"12345"
}
}
返回
{
"success":true,
"object":"test",
"test_token":"12345"
}
如果返回值正确,则验证通过。
验证通过后,我们继续进行订单接口的配置。
获取订单
接口
{
"request":{
"category":"ecommerce",
"method":"orders",
"id":"order_list_12582312",
"page_id":"231231232134111",
"meta":""
},
"params":{
"user_account":"jack@meetsocial.biz",
"filter":"open",
"order_number":12344556 // user_account和order_number只能取一个
},
"pagination":{
"page":1,
"limit":3
}
}
接口说明
这个接口将用于,根据顾客输入的订单号 / 账号(默认为邮箱),获取对应的订单详情 / 订单列表。
- 如果根据顾客的账号获取,params 中是 user_account,代表用户账号,filter 则代表订单类型:open 为进行中订单unpaid 为未支付订单past 为已完成订单
- open 为进行中订单
- unpaid 为未支付订单
- past 为已完成订单
- 如果根据订单号获取,params 中是 order_number,代表订单号。
- user_account 和 order_number 仅可指定一个。
- pagination 用于分页。比如顾客提供账号,调取订单列表时,page 表示页数,limit 表示一页的订单数。
返回值
成功
有订单情形:
{
"success":true,
"object":"orders",
"has_next_page":true,
"orders":[
{
"recipient_name":"Stephane Crozatier", // 收货人姓名,必填项
"order_number":"12345678902", // 订单号,必填项
"currency":"USD", // 订单货币,必填项
"payment_method":"Visa 2345", // 支付方式,必填项
"order_url":"http://petersapparel.parseapp.com/order?order_id=123456",// 订单Url,订单详情卡片会将此链接以按钮形式展示,供用户点击跳转,必填项
"timestamp":"1428444852", // 订单发生的时间戳,必填项
"status":"unpaid", // 订单状态,必填项
"address":{ // 订单地址,必填项
"street_1":"1 Hacker Way",
"street_2":"",
"city":"Menlo Park",
"postal_code":"94025",
"state":"CA",
"country":"US"
},
"summary":{ // 订单金额总结,必填项
"subtotal":75,
"shipping_cost":4.95,
"total_tax":6.19,
"total_cost":56.14
},
"adjustments":[ // 订单使用优惠情况
{
"name":"New Customer Discount",
"amount":20
},
{
"name":"$10 Off Coupon",
"amount":10
}
],
"elements":[ // 订单货品,必填项
{
"title":"Classic White T-Shirt",
"subtitle":"100% Soft and Luxurious Cotton",
"quantity":2,
"price":50,
"currency":"USD",
"image_url":"http://petersapparel.parseapp.com/img/whiteshirt.png"
},
{
"title":"Classic Gray T-Shirt",
"subtitle":"100% Soft and Luxurious Cotton",
"quantity":1,
"price":25,
"currency":"USD",
"image_url":"http://petersapparel.parseapp.com/img/grayshirt.png"
}
]
},
{
"recipient_name":"Stephane Crozatier",
"order_number":"12345678902",
"currency":"USD",
"payment_method":"Visa 2345",
"order_url":"http://petersapparel.parseapp.com/order?order_id=123456",
"timestamp":"1428444852",
"status":"unpaid",
"address":{
"street_1":"1 Hacker Way",
"street_2":"",
"city":"Menlo Park",
"postal_code":"94025",
"state":"CA",
"country":"US"
},
"summary":{
"subtotal":75,
"shipping_cost":4.95,
"total_tax":6.19,
"total_cost":56.14
},
"adjustments":[
{
"name":"New Customer Discount",
"amount":20
},
{
"name":"$10 Off Coupon",
"amount":10
}
],
"elements":[
{
"title":"Classic White T-Shirt",
"subtitle":"100% Soft and Luxurious Cotton",
"quantity":2,
"price":50,
"currency":"USD",
"image_url":"http://petersapparel.parseapp.com/img/whiteshirt.png"
},
{
"title":"Classic Gray T-Shirt",
"subtitle":"100% Soft and Luxurious Cotton",
"quantity":1,
"price":25,
"currency":"USD",
"image_url":"http://petersapparel.parseapp.com/img/grayshirt.png"
}
]
}
]
}
无订单情形:
{
"success":true,
"object":"orders",
"has_next_page":true,
"orders":[
]
}
失败
失败时无内容发送出去
{
"success":false,
"error":{
"code":14222,
"message":"User not found"
}
}
测试
这部分接通后,你可以在 “API 对接” -> “Webhook 管理” 中测试真实订单的返回情况。
调整完成后,我们继续添加物流信息的查询接口
获取物流信息
接口
{
"request":{
"category":"ecommerce",
"method":"packages",
"id":"packages_213124",
"page_id":"231231232134111",
"meta":""
},
"params":{
"order_number":"12345"
},
"pagination":{
"page":1,
"limit":3
}
}
接口说明
当用户想查询一个订单的所有包裹,或是查看某个特定包裹的送达情况时,我们会向你的 Webhook 发出此接口进行查询。params 字段为顾客的查询依据:
- order_number 查询该订单的所有包裹。
- package_number 查询该包裹的状态。
- 两者不兼容,仅可指定一个。
- package_status包括:1.未发货:In warehouse;2.在途中:On the way;3.已送达:Delivered
返回值
成功
有物流信息情形:
{
"success":true,
"object":"packages",
"has_next_page":true,
"packages":[
{
"order_number":12345, // 订单号,必填项
"package_number":"A1231411", // 包裹编号,必填项
"product_name":"Classic White Shirt", // 包裹中主要商品的名字,必填项
"carrier":"UPS", // 承运商,必填项
"tracking_number":"UPS11012", // 承运商包裹编号,必填项
"tracking_url":"http://www.ups.com?id=aaaaaa", // 包裹在承运商处的追踪地址,必填项
"package_status":"Delivered", //包裹状态,必填项
"exp_delivery":"2017-12-12", // 预订送达日期。如果包裹是已送达状态,即位送达日期,必填项
"image_url":"http://image.com/image1" // 包裹图片,必填项
},
{
"order_number":23456,
"package_number":"A12345zzz",
"product_name":"Classic White Shirt 2",
"carrier":"USPS",
"tracking_number":"USPS12345",
"tracking_url":"http://www.ups.com?id=aaaaaa",
"package_status":"Delivered",
"exp_delivery":"2018-01-11",
"image_url":"http://image.com/image1"
}
]
}
无物流信息情形:
{
"success":true,
"object":"packages",
"has_next_page":true,
"packages":[
]
}
失败
失败时无内容发送出去
{
"success":false,
"error":{
"code":14223,
"message":"Order not found"
}
}
测试
同样地,设置完成后,你可以对这部分消息进行真实情况的测试。
现在,我们已经完成了 订单 & 物流查询流程 的大半。还有最后一个步骤即可大功告成啦:
订单号格式配置
查询的过程是这样的:顾客想要查询订单 -> 机器人询问订单号 / 账号 -> 顾客给到格式正确的信息 -> 机器人识别 -> 返回对应订单信息。
我们已为你创建好了整个流程,你需要做的是在 “Another Account” 的用户输入组件中,设置你网站订单号的简易正则表达式。让机器人在这个流程中,识别订单号并发送请求。
我们提供了两种推荐查询方式:订单号和邮箱。如果你希望增减查询方式,也可以通过调整这里的用户输入组件与对应内容块来实现。具体操作方法见 客户输入插件 说明文档。
如果你选择用两种已有方式,那么现在我们已经可以与 Page 对话,来完成查询:
真实情况测试
我们点击“测试机器人”,开始对话。
如果你还没有发布欢迎消息,你将不会收到机器人的欢迎消息。没关系,我们可以通过测试发送来走通流程。
当然,如果你的 Bot 还没有接入真实顾客,你可以大胆地发布欢迎设置,来测试更真实的情况。
我们为你提供了不同订单状态的所有消息样式,你可以照着测试。在确保没有问题后,即可向所有用户开放。
锦上添花
如果你希望自定义消息内容,我们也为你留出足够的发挥空间。
前往 “API 对接 -> Webhook 管理” 编辑订单 / 物流状态卡片后的提示内容。你可以随意编辑——添加图片卡片、快速回复、甚至是高级插件!我们对消息类型没有做任何限制,你可以尝试任何新鲜的玩法:)。
以上便是接入订单 & 物流查询的所有设置步骤,有任何疑问,请拨打 4008501696 联系我们。