跳到主要内容

按主题发送推送通知 (API)

用于按主题发送推送通知的 API​

操作主题需要以下凭据。

  • project_id (项目 ID)、ss_token (服务令牌) —— 这些值可以在开发者控制台中获取。 为此,需要进入推送通知部分,并在应用页面上打开项目选项卡。 详情请参阅发送推送通知部分。
  • push_token —— 用于订阅或取消订阅主题推送的设备推送令牌。
  • topic —— 项目中的主题。

向主题发送推送通知​

信息

需要包含 Authorization 请求头:Authorization: Bearer $ss_token。

请求体​

参数类型描述
datamap包含 "key": value 键值对的对象。
notificationobject (message.notification)适用于所有平台的通知基础模板。
androidobject (message.android)消息的 Android 专用参数。

成功响应体​

参数类型描述
messagetext推送发送成功的消息。

错误响应体​

参数类型描述
codenumber错误代码。
statustext状态。
messagetext详细错误信息。

订阅主题推送通知​

信息

需要包含 Authorization 请求头:Authorization: Bearer $ss_token。

请求体​

参数类型描述
push_tokensarray (string)需要订阅主题的推送令牌。

成功响应体​

参数类型描述
messagetext订阅成功或存在错误的消息。
errorsobject array (令牌错误体)令牌相关的错误。

令牌错误体​

参数类型描述
push_tokentext推送令牌。
errorobject (错误响应体)错误。

错误响应体​

参数类型描述
codenumber错误代码。
statustext状态。
messagetext详细错误信息。

取消订阅主题推送通知​

信息

需要包含 Authorization 请求头:Authorization: Bearer $ss_token。

请求体​

参数类型描述
push_tokensstring array需要取消订阅主题的推送令牌。

成功响应体​

参数类型描述
messagetext订阅成功或存在错误的消息。
errorsobject array (令牌错误体)令牌相关的错误。

令牌错误体​

参数类型描述
push_tokentext推送令牌。
errorobject (错误响应体)错误。

错误响应体​

参数类型描述
codenumber错误代码。
statustext状态。
messagetext详细错误信息。

按主题发送推送通知的示例​

订阅 hello 主题​

请求​

POST  'https://vkpns-topics.rustore.ru/v1/projects/{project_id}/topics/{topic}/batch_subscribe' HTTP /2
Content-Type: application /json
Authorization: Bearer $ss_token
{
"push_tokens" : [
"kHrfTow3AjqdgUeCJLwbIHd7c0......",
"9mbJVS0-2e0cCcIx7X5nxMIgp8......"
]
}

成功响应​

HTTP/ 2 200
{
"message" : "success"
}

部分成功响应​

HTTP/ 2 200
{
"message" : "1 error(s)",
"errors" : [
{
"push_token" : "9mbJVS0-2e0cCcIx7X5nxMIgp8......",
"error" : {
"code" : 1001 ,
"status" : "FORBIDDEN",
"message" : "s2s token invalid"
}
}
]
}

取消订阅 hello 主题​

请求​

POST  'https://vkpns-topics.rustore.ru/v1/projects/{project_id}/topics/{topic}/batch_unsubscribe' HTTP /2
Content-Type: application /json
Authorization: Bearer $ss_token
{
"push_tokens" : [
"kHrfTow3AjqdgUeCJLwbIHd7c0......",
"9mbJVS0-2e0cCcIx7X5nxMIgp8......"
]
}

成功响应​

HTTP/ 2 200
{
"message" : "success"
}

部分成功响应​

HTTP/ 2 200
{
"message" : "1 error(s)",
"errors" : [
{
"push_token" : "9mbJVS0-2e0cCcIx7X5nxMIgp8......",
"error" : {
"code" : 1001 ,
"status" : "FORBIDDEN",
"message" : "s2s token invalid"
}
}
]
}

向 hello 主题发送消息​

请求​

POST  'https://vkpns-topics.rustore.ru/v1/projects/Lpvk29a2Al2P6tWu-a-aN3PKwO6-qvXZ/topics/hello/publish' HTTP /2
Content-Type: application /json
Authorization: Bearer $ss_token
{
"message" : {
"notification" :{
"body" : "This is a notification message!",
"title" : "Message",
"image" : "https://image-hosting.org/284239234.jpeg"
}
}
}

成功响应​

HTTP/ 2 200
{
"message" : "payload has been successfully published to topic hello"
}

BAD_REQUEST 错误示例​

HTTP/ 2 400
{
"code" : 2000 ,
"status" : "BAD_REQUEST",
"message" : "failed to parse request: invalid character 's' after object key:value pair"
}

FORBIDDEN 错误示例​

HTTP/ 2 403
{
"code" : 1001 ,
"status" : "FORBIDDEN",
"message" : "s2s token invalid"
}