Pular para o conteúdo

API de Dispositivo

registerDevice

Anchor link to

POST https://api.pushwoosh.com/json/1.3/registerDevice

Chamado internamente pelo SDK. Registra o dispositivo para o aplicativo.

Cabeçalhos da requisição
Anchor link to
NomeObrigatórioValorDescrição
AuthorizationSimToken XXXXToken da API de Dispositivo para acessar a API de Dispositivo. Substitua XXXX pelo seu token real da API de Dispositivo.
Corpo da requisição
Anchor link to
NomeTipoDescrição
application*stringCódigo do aplicativo Pushwoosh
push_tokenstringToken de push para o dispositivo.
languagestringLocalidade do idioma do dispositivo. Deve ser um código de duas letras minúsculas de acordo com o padrão ISO-639-1.
hwid*stringString única para identificar o dispositivo (IDFV no iOS, valor gerado aleatoriamente no Android). Saiba mais
timezoneintegerDeslocamento do fuso horário em segundos para o dispositivo.
device_type*integerTipo de dispositivo. Veja os valores possíveis abaixo.
emailstringEndereço de e-mail para registrar (use para usuários de e-mail em vez de HWID и token de push).
tagsobjectValores de tag para atribuir ao dispositivo registrado.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemplo
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"push_token": "dec301908b9ba8XXXXX57a58e40f96f5XXXXX2068674f5XXXXa25cdc250a2a41", // optional.
"hwid": "1CA6XXXXX-8DAC-XXXXX-XXXXX-B756288B6D3C", // required. Hardware device ID
"idfa": "AEBE52E7-0XXXXX-455A-XXXXX-E57283966239", // optional.
"timezone": 3600, // optional. Offset in seconds
"device_type": 1, // required. See the possible values below. For emails,
// use the "emails" params as described below.
"email": "email_address@domain.com", // use instead of "hwid" and "push_token" to register
// the email address for your email project
"language": "en", // optional. ISO 639-1|639-2 language code
"userId": "Alex", // optional.
"tags": { // optional. Tag values to set for the device registered
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // sets the list of values for Tags of List type
"DateTag": "2024-10-02 22:11", // note the time should be in UTC
"BooleanTag": true // valid values are: true, false
},
// system tags, optionals
"app_version": "1.2.3",
"device_model": "Samsung SM-G355H",
"os_version": "2.3",
// optional encryption keys for chrome/firefox
"public_key": "BNmDO4BTKEMJqaqprTf7t/HBXXXXX/orcXXXXX/scS5CFP6XXXXXHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
"auth_token": "RlRmCXXXXX/s7XXXXXjKFzoQ==",
// optional FCM keys for Chrome (for XMPP)
"fcm_token": "BNmDO4BTKEMJXXXXXprTf7t/XXXXXBQ/orXXXXXc/scS5CFP6zhQGIHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
"fcm_push_set": "RlXXXXXGM/s7XXXXXjKFzoQ=="
}
}

Tipos de dispositivo possíveis:

  • 1 – iOS
  • 3 – Android
  • 7 – Mac OS X
  • 8 – Windows
  • 9 – Amazon
  • 10 – Safari
  • 11 – Chrome
  • 12 – Firefox
  • 14 – Email
  • 17 – Huawei
  • 18 – SMS
  • 21 – WhatsApp

Registrando dispositivos de e-mail

Anchor link to

Para registrar um assinante de e-mail para seu aplicativo, envie o parâmetro "email": "email_address@domain.com" em sua requisição /registerDevice ou /registerEmail da seguinte forma:

Exemplo de requisição
Anchor link to
{
"request":{
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"email": "email_address@domain.com", // required. Email address to register for your email project
"language": "en", // optional. ISO 639-1|639-2 language code
"userId": "Alex", // optional.
"tags": { // optional. Tag values to set for the device registered
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // sets the list of values for Tags of List type
"DateTag": "2024-10-02 22:11", // note the time should be in UTC
"BooleanTag": true // valid values are: true, false
}
}
}

Registrando dispositivos WhatsApp

Anchor link to

Para registrar um dispositivo WhatsApp para seu aplicativo, siga estas diretrizes:

  • hwid: Garanta que este campo inclua o prefixo whatsapp: seguido pelo número de telefone no formato E.164 (ex., whatsapp:+0000000000). O número de telefone deve ser válido, o que a Pushwoosh verificará.

  • Token de push: Um token de push não é necessário, pois o hwid funcionará automaticamente como o token de push.

  • device_type: Defina este campo como 21 para especificar o WhatsApp como a plataforma.

Exemplo de requisição
Anchor link to
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "whatsapp:+0000000000", // required. WhatsApp prefix and valid phone number
"timezone": 3600, // optional. Time offset in seconds
"device_type": 21, // required. WhatsApp device type is 21
"language": "en", // optional. ISO 639-1|639-2 language code
"userId": "Alex", // optional. User identifier
"tags": { // optional. Tag values for custom segmentation
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // UTC format
"BooleanTag": true
},
"app_version": "1.2.3", // optional. Application version
"device_model": "Samsung SM-G355H", // optional. Device model
"os_version": "2.3" // optional. Operating system version
}
}

Registrando dispositivos SMS

Anchor link to

Para registrar um dispositivo SMS para seu aplicativo, siga estas diretrizes:

  • hwid: Garanta que este campo inclua o número de telefone no formato E.164 (ex., +0000000000). O número de telefone deve ser válido, o que a Pushwoosh verificará.

  • Token de push: Um token de push não é necessário, pois o hwid funcionará automaticamente como o token de push.

  • device_type: Defina este campo obrigatório como 18 para designar o SMS como a plataforma.

Exemplo de requisição
Anchor link to
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "+0000000000", // required. Valid phone number in E.164 format
"timezone": 3600, // optional. Time offset in seconds
"device_type": 18, // required. SMS device type is 18
"language": "en", // optional. ISO 639-1|639-2 language code
"userId": "Alex", // optional. User identifier
"tags": { // optional. Tag values for custom segmentation
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // UTC format
"BooleanTag": true
},
"app_version": "1.2.3", // optional. Application version
"device_model": "Samsung SM-G355H", // optional. Device model
"os_version": "2.3" // optional. Operating system version
}
}

Códigos de status:

Código de status HTTPstatus_codeDescrição
200200Dispositivo registrado com sucesso
200210Erro de argumento. Veja status_message para mais informações.
400N/AString de requisição malformada
500500Erro interno

unregisterDevice

Anchor link to

POST https://api.pushwoosh.com/json/1.3/unregisterDevice

Remove o token de push do dispositivo. O dispositivo não registrado ainda é contado em Total de Dispositivos e pode ser alcançado com In-Apps. Chamado internamente pelo SDK.

Cabeçalhos da requisição
Anchor link to
NomeObrigatórioValorDescrição
AuthorizationSimToken XXXXToken da API de Dispositivo para acessar a API de Dispositivo. Substitua XXXX pelo seu token real da API de Dispositivo.
Corpo da requisição
Anchor link to
NomeTipoDescrição
application*stringCódigo do aplicativo Pushwoosh
hwid*stringID de dispositivo de hardware usado na requisição /registerDevice.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemplo
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16XXXXXe7a6beceXXXXX530fb2" // required. Hardware device ID used in /registerDevice API
}
}

Códigos de status:

Código de status HTTPstatus_codeDescrição
200200Dispositivo desinscrito com sucesso
200210Erro de argumento. Veja status_message para mais informações.
400N/AString de requisição malformada
500500Erro interno

deleteDevice

Anchor link to

POST https://api.pushwoosh.com/api/v2/device-api/deleteDevice

Exclui um dispositivo e todos os seus dados associados, identificados pelo HWID especificado dentro do aplicativo. Diferente de /unregisterDevice, que apenas remove o token de push e mantém o registro do dispositivo, /deleteDevice remove completamente o dispositivo. A requisição é processada de forma assíncrona, e o endpoint retorna 200 OK assim que a requisição de exclusão for aceita para processamento.

Cabeçalhos da requisição

Anchor link to
NomeObrigatórioValorDescrição
AuthorizationSimToken XXXXToken da API de Dispositivo para acessar a API de Dispositivo. Substitua XXXX pelo seu token real da API de Dispositivo.
Content-TypeSimapplication/json

Corpo da requisição

Anchor link to
NomeObrigatórioTipoDescrição
applicationSimstringCódigo do aplicativo Pushwoosh
hwidSimstringID de dispositivo de hardware do dispositivo a ser excluído.

Exemplo de requisição

Anchor link to
{
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16df378e7a6bece9614e1530fb2" // required. Hardware device ID of the device to delete
}

Exemplo de resposta

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Códigos de status
Anchor link to
Código de status HTTPstatus_codeDescrição
200200Requisição de exclusão aceita
200210Erro de argumento. Veja status_message para mais informações.
400N/AString de requisição malformada
401N/AToken de autorização ausente ou inválido
500500Erro interno

POST https://api.pushwoosh.com/json/1.3/setTags

Define os valores das tags para o dispositivo. Chamado pelo SDK.

Cabeçalhos da requisição
Anchor link to
NomeObrigatórioValorDescrição
AuthorizationSimToken XXXXToken da API de Dispositivo para acessar a API de Dispositivo. Substitua XXXX pelo seu token real da API de Dispositivo.
Corpo da requisição
Anchor link to
NomeTipoDescrição
application*stringCódigo do aplicativo Pushwoosh
hwid*stringID de dispositivo de hardware usado na requisição /registerDevice.
tags*objectObjeto JSON de tags a serem definidas, envie “null” para remover o valor.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemplo
{
"request":{
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16XXXXXe7a6becXXXXXe1530fb2", // required. Hardware device ID used in /registerDevice API
"tags": { // required.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // sets the list of values for Tags of List type
"DateTag": "2024-10-02 22:11", // note the time is in UTC
"BooleanTag": true // valid values are - true, false
}
}
}

Incrementar valores de tag de Inteiro

Anchor link to

Para incrementar um valor da Tag de Inteiro, use o parâmetro operation com o valor “increment” da seguinte forma:

{
"request":{
"application": "12345-67890", // required. Pushwoosh application code
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // required. hardware device ID used in /registerDevice API
"tags": { // required.
"Level": { // Tag name
"operation": "increment", // overwrites the integer tag in increments of the following value
"value": 1 // increment for the tag value
}
}
}
}

Decrementar valores de tag de Inteiro

Anchor link to

Para decrementar, use números negativos como valor para a operação “increment” (-1, -2, -3,-n):

{
"request":{
"application": "12345-67890", // required. Pushwoosh application code
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // required. Hardware device ID used in /registerDevice API
"tags": { // required
"Level": { // Tag name
"operation": "increment", // overwrites the integer tag in decrement of the following value
"value": -1 // decrement for the tag value
}
}
}
}

Anexar valores de tag de Lista

Anchor link to

Para estender a Tag de Lista com novos valores, use o parâmetro operation com o valor “append” da seguinte forma:

Exemplo
{
"request": {
"hwid": "3d124a79XXXXf189XXXX7dfd9XXXXafd", // required. Hardware device ID used in /registerDevice API
"application": "6XXXX-XXXX3", // required. Pushwoosh application code
"tags": { // required.
"ListTag": { // Tag name
"operation": "append", // appends following values to the Tag's list of values
"value": [ // values to append
"tag2",
"tag3"
]
}
}
}
}

Remover valores de tag de Lista

Anchor link to

Para remover alguns valores da Tag de Lista, use a operação “remove” da seguinte forma:

{
"request":{
"application": "12345-67890", // required. Pushwoosh application code
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // required. Hardware device ID used in /registerDevice API
"tags": { // required.
"In-App Product": { // Tag name
"operation": "remove", // removes the following values from the list tag
"value": "outwear_02" // value or values to remove
}
}
}
}

Definir tags por UserID

Anchor link to

Para definir tags para todos os dispositivos associados a um ID de Usuário específico, use o parâmetro “userId” em vez de “hwid”.

Exemplo
{
"request":{
"application": "AAAAA-BBBBB", // Pushwoosh app code
"userId": "some_user", // user ID you'd like to set tags for
"tags": { // tags and values to set
"Language": "es"
}
}
}

Códigos de status:

Código de status HTTPstatus_codeDescrição
200200Tags foram definidas com sucesso
200210Erro de argumento. Veja status_message para mais informações.
400N/AString de requisição malformada
500500Erro interno

POST https://api.pushwoosh.com/json/1.3/getTags

Recupera uma lista de tags com os valores correspondentes para o dispositivo específico.

Cabeçalhos da requisição
Anchor link to
NomeObrigatórioValorDescrição
AuthorizationSimToken XXXXToken da API de Dispositivo para acessar a API de Dispositivo. Substitua XXXX pelo seu token real da API de Dispositivo.
Corpo da requisição
Anchor link to
NomeTipoDescrição
application*stringCódigo do aplicativo Pushwoosh
userIdstringID de Usuário a ser usado em vez de “hwid”. Se usado junto com um “hwid”, o “hwid” prevalece.
hwidstringID de dispositivo de hardware usado na requisição /registerDevice.
{
"status_code": 200,
"status_message": "OK",
"response": {
"result": {
"Language": "fr"
}
}
}
Exemplo
{
"request":{
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "HWID", // optional. Hardware device ID used in /registerDevice API
"userId": "USER_ID" // optional. Can be used instead of "hwid" to retrieve tags for a specific user
}
}

POST https://api.pushwoosh.com/json/1.3/setBadge

Envia o valor atual do badge de um dispositivo para o Pushwoosh. Chamado internamente pelo SDK.

Cabeçalhos da requisição
Anchor link to
NomeObrigatórioValorDescrição
AuthorizationSimToken XXXXToken da API de Dispositivo para acessar a API de Dispositivo. Substitua XXXX pelo seu token real da API de Dispositivo.
Corpo da requisição
Anchor link to
NomeTipoDescrição
application*stringCódigo do aplicativo Pushwoosh
hwid*stringID de dispositivo de hardware usado na requisição /registerDevice.
badge*integerBadge atual no aplicativo.
{
"status_code": 200,
"status_message": "OK"
}
Exemplo
{
"request":{
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16dXXXXe7a6XXXX9614XXXX0fb2", // required. Hardware device ID used in /registerDevice API
"badge": 4 // required. Current badge on the application
}
}

Chamado internamente pelo SDK. Envia o valor atual do badge de um dispositivo para o Pushwoosh. Isso acontece internamente quando o aplicativo altera o valor do badge no dispositivo iOS. Permite que os badges de auto-incremento funcionem corretamente.

applicationOpen

Anchor link to

POST https://api.pushwoosh.com/json/1.3/applicationOpen

Registra um evento de abertura de aplicativo. Chamado internamente pelo SDK.

Cabeçalhos da requisição
Anchor link to
NomeObrigatórioValorDescrição
AuthorizationSimToken XXXXToken da API de Dispositivo para acessar a API de Dispositivo. Substitua XXXX pelo seu token real da API de Dispositivo.
Corpo da requisição
Anchor link to
NomeTipoDescrição
application*stringCódigo do aplicativo Pushwoosh
hwid*stringID de dispositivo de hardware usado na requisição /registerDevice.
{
"status_code": 200,
"status_message": "OK"
}
Exemplo
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16dXXXXe7a6XXXX9614eXXXXfb2" // required. Hardware device ID used in /registerDevice API
}
}

POST https://api.pushwoosh.com/json/1.3/pushStat

Registra um evento de abertura de push. Chamado internamente pelo SDK.

Cabeçalhos da requisição
Anchor link to
NomeObrigatórioValorDescrição
AuthorizationSimToken XXXXToken da API de Dispositivo para acessar a API de Dispositivo. Substitua XXXX pelo seu token real da API de Dispositivo.
Corpo da requisição
Anchor link to
NomeTipoDescrição
application*stringCódigo do aplicativo Pushwoosh
hwid*stringID de dispositivo de hardware usado na requisição /registerDevice.
userIdstringID de Usuário a ser associado ao evento de abertura de push.
hashstringTag de hash recebida na notificação push (parâmetro “p” do payload do push).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemplo
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16dfXXXX7a6beXXXX14e1530fb2", // required. Hardware device ID used in /registerDevice API
"userId": "USER012345", // optional. The user id to associate with the push open event
"hash": "HASH_TAG" // optional. Hash tag received in push notification
// ("p" parameter in the push payload)
}
}

messageDeliveryEvent

Anchor link to

POST https://api.pushwoosh.com/json/1.3/messageDeliveryEvent

Registra o evento de entrega de push para o dispositivo. Chamado internamente pelo SDK.

Cabeçalhos da requisição
Anchor link to
NomeObrigatórioValorDescrição
AuthorizationSimToken XXXXToken da API de Dispositivo para acessar a API de Dispositivo. Substitua XXXX pelo seu token real da API de Dispositivo.
Corpo da requisição
Anchor link to
NomeTipoDescrição
application*stringCódigo do aplicativo Pushwoosh
hwid*stringID de dispositivo de hardware usado na requisição /registerDevice.
hashstringTag de hash recebida na notificação push (parâmetro “p” do payload do push).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemplo
{
"request": {
"application": "XXXXX-XXXXX", // required. Pushwoosh application code
"hwid": "8f65b16dfXXXX7a6bece9XXXX1530fb2", // required. Hardware device ID used in /registerDevice API
"hash": "HASH_TAG" // optional. Hash tag received in push notification
// ("p" parameter in the push payload)
}
}