文档中心 > API类目 > 消息服务API

taobao.tmc.message.produce (发布单条消息)

发布单条消息

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
content String 必须 {"tid":2895732958732,"seller_nick":"helloworld"}
  • 最大长度:122880
  • 消息内容的JSON表述,必须按照topic的定义来填充
    target_group String 可选 default
  • 默认值:default
  • 目标分组,一般为default
    topic String 必须 taobao_trade_TradeCreate
  • 最大长度:256
  • 消息类型
    media_content byte[] 可选 1010101
  • 最大长度:1048576
  • 回传的文件内容,目前仅支持jpg,png,bmp,gif,pdf类型的文件,文件最大1M。只有消息中有byte[]类型的数据时,才需要传此字段; 否则不需要传此字段。
    media_content2 byte[] 可选 1010101
  • 最大长度:1048576
  • 回传的文件内容,目前仅支持jpg,png,bmp,gif,pdf类型的文件,文件最大1M。只有消息中有byte[]类型的数据时,才需要传此字段; 否则不需要传此字段。具体对应到沙体中的什么值,请参考消息字段说明。
    media_content3 byte[] 可选 1010101
  • 最大长度:1048576
  • 回传的文件内容,目前仅支持jpg,png,bmp,gif,pdf类型的文件,文件最大1M。只有消息中有byte[]类型的数据时,才需要传此字段; 否则不需要传此字段。具体对应到沙体中的什么值,请参考消息字段说明。
    media_content5 byte[] 可选 1010101
  • 最大长度:1048576
  • 回传的文件内容,目前仅支持jpg,png,bmp,gif,pdf类型的文件,文件最大1M。只有消息中有byte[]类型的数据时,才需要传此字段; 否则不需要传此字段。具体对应到沙体中的什么值,请参考消息字段说明。
    media_content4 byte[] 可选 1010101
  • 最大长度:1048576
  • 回传的文件内容,目前仅支持jpg,png,bmp,gif,pdf类型的文件,文件最大1M。只有消息中有byte[]类型的数据时,才需要传此字段; 否则不需要传此字段。具体对应到沙体中的什么值,请参考消息字段说明。
    delay_millis Number 可选 19832832833828
  • 默认值:0
  • 延时参数 时间戳 预期发送时间
    expires_millis Number 可选 3600000
  • 默认值:0
  • 提前过期 相对时间差 毫秒

    响应参数

    名称 类型 示例值 描述
    is_success Boolean true 是否成功
    total Number 1 投递目标数
    msg_ids String [] ["6445C8520000227100000395B127834B"] 消息ID

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
    TmcMessageProduceRequest req = new TmcMessageProduceRequest();
    req.setContent("{\"tid\":2895732958732,\"seller_nick\":\"helloworld\"}");
    req.setExContent("{\"full_link_test\":\"t\"}");
    req.setTargetAppkey("12345678");
    req.setTargetGroup("default");
    req.setTopic("taobao_trade_TradeCreate");
    req.setMediaContent(new FileItem("/tmp/file.txt"));
    req.setMediaContent2(new FileItem("/tmp/file.txt"));
    req.setMediaContent3(new FileItem("/tmp/file.txt"));
    req.setMediaContent5(new FileItem("/tmp/file.txt"));
    req.setMediaContent4(new FileItem("/tmp/file.txt"));
    req.setDelayMillis(19832832833828L);
    req.setExpiresMillis(3600000L);
    TmcMessageProduceResponse rsp = client.execute(req, sessionKey);
    System.out.println(rsp.getBody());

    响应示例

    • XML示例
    • JSON示例
    <tmc_message_produce_response>
        <is_success>true</is_success>
        <total>1</total>
        <msg_ids>
            <string>[&quot;6445C8520000227100000395B127834B&quot;]</string>
        </msg_ids>
    </tmc_message_produce_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>

    错误码解释

    错误码 错误描述 解决方案
    isv.invalid-message-field: unmatch-topic-meta-info 消息content中的字段与系统定义的字段不一致 参考消息的定义修改参数
    isv.topic-limitation: pub 应用没有发送消息的权限 在页面中订阅相应的消息
    isv.ivalid-message-content: error-json-format 消息体content的json格式错误 修改content为正确的json串
    isv.invalid-param: topic-empty topic不能为空 输入正确的topic

    API工具

    如何获得此API

    FAQ

    返回
    顶部