注意:以下文档只适用于TOP接口,请谨慎使用!

文档中心 > API类目 > 千牛业务API

taobao.message.chatrobot.async (聊天机器人异步action)

机器人开放,异步action数据下发接口

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
auth_param AuthParam 可选 授权参数
  • └ request_token
  • String
  • 必须
  • xxxxxxxxxx
  • 请求服务的访问token,数据平台颁发
actions ActionBody [] 可选
  • 最大列表长度:20
  • 需要触发的actions
    • body
    • ChatMessage
    • 可选
    • 数据action对应body数据
    • └ ext
    • String
    • 可选
    • {}
    • {}
    • └ tags
    • String
    • 可选
    • {}
    • {}
    • └ options
    • String
    • 可选
    • {}
    • {}
    • sender
    • User
    • 可选
    • 发送者信息
    • └ nick
    • String
    • 可选
    • ww店铺测试账号003:xx
    • 账号nick
    • └ user_domain
    • String
    • 可选
    • cntaobao
    • 账号域,可以从上行消息中获取
    • └ open_uid
    • String
    • 可选
    • asdasdasdas
    • 开放加密账号uid
    • └ create_time
    • Number
    • 可选
    • 1581476539000
    • 当前ms系统时间
    • └ channel_type
    • String
    • 可选
    • bc
    • 通道类型
    • └ content
    • String
    • 必须
    • {"templateId":"1500058606222280","templateData":{"text":"hello world"}}
    • 消息内容
    • └ content_type
    • Number
    • 必须
    • 1
    • 1 文本消息 2 模板 6 图片等
    • receivers
    • User []
    • 可选
    • 接收者信息
    • └ user_domain
    • String
    • 可选
    • 账号域
    • 账号域,可以从上行消息中获取
    • └ nick
    • String
    • 可选
    • ww店铺测试账号003:xx
    • 账号Nick
    • └ open_uid
    • String
    • 可选
    • asdasdsadsa
    • 开放加密账号uid
    • header
    • Header
    • 可选
    • 请求header
    • └ serialize_type
    • String
    • 可选
    • Json
    • 序列化方式 Json,Hessian,ProtoBuff等
    • └ ctx
    • String
    • 可选
    • {"a":"b"}
    • 无特殊需要不需指定
    • └ action_mode
    • Number
    • 必须
    • 1
    • 从上行event的header中获取
    • └ create_time
    • Number
    • 可选
    • 1581476539000
    • 当前系统的ms时间戳
    • └ type
    • Number
    • 必须
    • 1
    • 1. bc单聊消息 2.bc富文本及卡片的点击事件 3. bc转交
    • └ request_id
    • String
    • 必须
    • xxxxx
    • 从上行event的header中获取
    • └ tenant_id
    • Number
    • 必须
    • 123
    • 从上行event的header中获取

    响应参数

    名称 类型 示例值 描述
    err_code_info String xxx code
    is_success Boolean false 是否成功
    message String xx message
    results Boolean [] xx xx

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
    MessageChatrobotAsyncRequest req = new MessageChatrobotAsyncRequest();
    MessageChatrobotAsyncRequest.AuthParam obj1 = new MessageChatrobotAsyncRequest.AuthParam();
    obj1.setRequestToken("xxxxxxxxxx");
    req.setAuthParam(obj1);
    List<MessageChatrobotAsyncRequest.ActionBody> list3 = new ArrayList<MessageChatrobotAsyncRequest.ActionBody>();
    MessageChatrobotAsyncRequest.ActionBody obj4 = new MessageChatrobotAsyncRequest.ActionBody();
    list3.add(obj4);
    MessageChatrobotAsyncRequest.ChatMessage obj6 = new MessageChatrobotAsyncRequest.ChatMessage();
    obj6.setExt("{}");
    obj6.setTags("{}");
    obj6.setOptions("{}");
    MessageChatrobotAsyncRequest.User obj7 = new MessageChatrobotAsyncRequest.User();
    obj7.setNick("ww店铺测试账号003:xx");
    obj7.setUserDomain("cntaobao");
    obj7.setOpenUid("asdasdasdas");
    obj6.setSender(obj7);
    obj6.setCreateTime(1581476539000L);
    obj6.setChannelType("bc");
    obj6.setContent("{\"templateId\":\"1500058606222280\",\"templateData\":{\"text\":\"hello world\"}}");
    obj6.setContentType(1L);
    List<MessageChatrobotAsyncRequest.User> list9 = new ArrayList<MessageChatrobotAsyncRequest.User>();
    MessageChatrobotAsyncRequest.User obj10 = new MessageChatrobotAsyncRequest.User();
    list9.add(obj10);
    obj10.setUserDomain("账号域");
    obj10.setNick("ww店铺测试账号003:xx");
    obj10.setOpenUid("asdasdsadsa");
    obj6.setReceivers(list9);
    list5.setBody(obj6);
    MessageChatrobotAsyncRequest.Header obj12 = new MessageChatrobotAsyncRequest.Header();
    obj12.setSerializeType("Json");
    obj12.setCtx("{\"a\":\"b\"}");
    obj12.setActionMode(1L);
    obj12.setCreateTime(1581476539000L);
    obj12.setType(1L);
    obj12.setRequestId("xxxxx");
    obj12.setTenantId(123L);
    list11.setHeader(obj12);
    req.setActions(list3);
    MessageChatrobotAsyncResponse rsp = client.execute(req, sessionKey);
    System.out.println(rsp.getBody());

    响应示例

    • XML示例
    • JSON示例
    <message_chatrobot_async_response>
        <err_code_info>xxx</err_code_info>
        <is_success>false</is_success>
        <message>xx</message>
        <results>
            <boolean>xx</boolean>
        </results>
    </message_chatrobot_async_response>

    异常示例

    • XML示例
    • JSON示例
    <error_response>
        <code>50</code>
        <msg>Remote service error</msg>
        <sub_code>isv.invalid-parameter</sub_code>
        <sub_msg>非法参数</sub_msg>
    </error_response>

    错误码解释

    错误码 错误描述 解决方案

    API工具

    如何获得此API

    FAQ

    返回
    顶部