# 简介 To 蚂蚁的消息主要是用于外部商家将数据回流至蚂蚁,如用户位置信息。回流数据一般具有数据量比较大、实时性要求不高、并且对蚂蚁内部业务处理结果无需强感知等特点。
**注意:**若商家需强感知蚂蚁内部业务处理结果,如交易是否创建成功、交易是否支付成功等场景,切勿使用开放平台 To 蚂蚁的消息接口,针对这种业务需求,请走开放平台同步 OpenAPI 接口。若商家自己无法确定自己的业务场景该使用开放平台哪种服务接口,请联系支付宝技术支持进行评估。 # 使用方法 ## To 蚂蚁消息服务接入流程与 OpenAPI 接口服务接入流程基本保持一致,流程图如下。![](https://gw.alipayobjects.com/zos/skylark/5216a8b8-bff3-458c-9638-a2328d66f354/2018/png/85ce5a60-1b2b-44c3-8a23-d7920b3301d5.png#align=left&display=inline&height=323&originHeight=670&originWidth=1556&status=done&width=750#align=left&display=inline&height=321&originHeight=670&originWidth=1556&status=done&width=746#align=left&display=inline&height=670&originHeight=670&originWidth=1556&status=done&style=none&width=1556)入驻支付宝开放平台 开放平台入驻流程详情可查看 [平台入驻](https://opendocs.alipay.com/open/00hqwq)。 ## 开通消息服务 ### 应用开通消息服务 在上述步骤创建应用过程中,开发者需要基于自身业务场景添加对应的功能。同样,若开发者需要开通消息服务,则需添加包含该消息服务的功能至自己的功能列表中,若功能需要签约,则开发者需走功能签约流程。 举例说明如下:![](https://gw.alipayobjects.com/zos/skylark/94133e94-25d3-4bed-ab5a-dbd741ea0ab4/2018/png/c8111e8a-753e-46ff-a54f-a261e51105c8.png#align=left&display=inline&height=336&originHeight=1272&originWidth=2842&status=done&width=750#align=left&display=inline&height=334&originHeight=1272&originWidth=2842&status=done&width=746#align=left&display=inline&height=1272&originHeight=1272&originWidth=2842&status=done&style=none&width=2842) ### 应用订阅消息 添加完功能后,针对消息服务,开发者还需完成 **主动订阅 **操作。
进入应用详情页,点击左侧 **消息服务 **菜单,进入消息服务管理页面,在 **To 蚂蚁 **标签页具体接口操作列中点击 **订阅**。 ## 发送消息 从通讯协议上,开放平台 **To 蚂蚁消息服务** 目前提供了两种接入方式,https 以及 WebSocket 长连接,开发者可以在订阅消息接口时进行选择 **接入方式**。 ### https 接入 针对 **To 蚂蚁消息服务**,开发者可直接通过开放平台对外提供的 [SDK](https://opendocs.alipay.com/open/54/103419) 访问服务,调用方式与同步 OpenAPI 接口调用方式基本一致。
**注意:**开发者访问 **To 蚂蚁消息服务**,需访问 **开放平台入口消息网关域名 gateway,请根据对应接口文档选择新老域名:** - 老域名地址:https://openasyncapi.alipay.com/gateway.do - 新域名地址:https://openmq.alipay.com/message.do #### 普通公钥加签方式 请求示例 ```javascript AlipayClient alipayClient = new DefaultAlipayClient("gateway","app_id","your private_key","json","GBK","alipay_public_key","RSA2"); AlipayOpenAppOpenapiPreheatPublishRequest request = new AlipayOpenAppOpenapiPreheatPublishRequest(); AlipayOpenAppOpenapiPreheatPublishResponse response = alipayClient.execute(request); if(response.isSuccess()){ System.out.println("调用成功"); } else { System.out.println("调用失败"); } ``` 响应示例 ```javascript { "alipay_open_app_openapi_preheat_publish_response":{ "code":"10000", "msg":"Success" } ,"sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE" } ``` #### 公钥证书加签方式 请求示例
```java //构造client CertAlipayRequest certAlipayRequest = new CertAlipayRequest(); // 开放平台入口消息网关域名 certAlipayRequest.setServerUrl(gateway); // 应用APPID certAlipayRequest.setAppId(app_id); // 应用私钥 certAlipayRequest.setPrivateKey(privateKey); certAlipayRequest.setFormat("json"); certAlipayRequest.setCharset(charset); certAlipayRequest.setSignType(sign_type); // 应用公钥证书路径 certAlipayRequest.setCertPath(app_cert_path); // 支付宝公钥证书路径 certAlipayRequest.setAlipayPublicCertPath(alipay_cert_path); // 支付宝根证书路径 certAlipayRequest.setRootCertPath(alipay_root_cert_path); DefaultAlipayClient alipayClient = new DefaultAlipayClient(certAlipayRequest);  AlipayOpenAppOpenapiPreheatPublishRequest request = new AlipayOpenAppOpenapiPreheatPublishRequest(); AlipayOpenAppOpenapiPreheatPublishResponse response = alipayClient.execute(request); if(response.isSuccess()){ System.out.println("调用成功"); } else { System.out.println("调用失败"); } ``` 响应示例
```json { "alipay_open_app_openapi_preheat_publish_response": { "code": "10000", "msg": "Success" }, "alipay_cert_sn": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", // 不参与签名 "sign": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" } ``` ### WebSocket 除了原有的 http(s) 来发送 **To 蚂蚁消息 **外,开放平台还提供了 WebSocket 长连接的接入方案,保持长连接针对量大的消息投递性能更优。详情可查看 [WebSocket长连接接入](https://opendocs.alipay.com/common/02kiq1)。 # FAQ ## To 蚂蚁消息接口和同步 OpenAPI 接口有什么区别? To 蚂蚁消息接口主要应用于需将数据回流至蚂蚁的场景,这种数据一般具有数据量比较大,实时性要求不高,并且对蚂蚁内部业务处理结果无需强感知等特点。 入口消息网关收到外部商家的请求后,将请求内容封装成消息投递到蚂蚁内部的消息集群后,立即将 **消息投递结果 **返回给外部商家,**该结果并不代表蚂蚁内部业务系统是否已正确处理了该笔请求**,处理链路图如下:![](https://gw.alipayobjects.com/zos/skylark/ad01e785-613a-4b5d-b7fb-396c79887938/2018/png/0f1547a8-805e-4489-b1e7-6cf87ee4e460.png#align=left&display=inline&height=349&originHeight=846&originWidth=1818&status=done&width=750#align=left&display=inline&height=347&originHeight=846&originWidth=1818&status=done&width=746#align=left&display=inline&height=846&originHeight=846&originWidth=1818&status=done&style=none&width=1818)而同 OpenAPI 接口的返回内容,是蚂蚁内部业务系统的真实处理结果,处理链路图如下:![](https://gw.alipayobjects.com/zos/skylark/f43f3e38-aef6-44f3-bd62-f345318351fc/2018/png/5bc92cb0-47fe-4ea9-b120-4a91efaed096.png#align=left&display=inline&height=386&originHeight=684&originWidth=1328&status=done&width=750#align=left&display=inline&height=384&originHeight=684&originWidth=1328&status=done&width=746#align=left&display=inline&height=684&originHeight=684&originWidth=1328&status=done&style=none&width=1328)