Ir para o conteúdo

PUSH

Enviando

Para enviar PUSH-notificações, você precisa executar o método POST /push/messages, passando parâmetros no corpo com a indicação dados de autorização no cabeçalho.

Informação

Para acessar a API Push, escreva para support@devinotele.com. Você receberá a ID do remetente necessária para usar a API.

Parâmetros de solicitação

Parâmetro Tipo de dados Descrição e valores permitidos
from integer Identificador do remetente
to string Identificador do dispositivo destinatário
title string Cabeçalho de notificação
text string Texto de notificação
badge
(optional)
integer Chave - definir o valor para o emblema do aplicativo
- Se a chave não estiver incluída no dicionário, o valor do emblema não muda
- Para remover o emblema, defina o valor da chave como 0
validity
(optional)
integer O tempo de vida da notificação.
Mínimo, em segundos: 15
- Máximo, em segundos: 86400
- Padrão, em segundos: 86400
priority string Prioridade de envio de mensagem, de 0 a 3, onde:
0 - baixa prioridade
3 - prioridade máxima
Padrão - 0
silentPush
(optional)
boolean Um sinalizador que informa ao SDK um dos valores: se for true, a notificação não será exibida no dispositivo
options
(optional)
string Map parâmetros adicionais que serão transferidos para o dispositivo
apns
(optional)
ApnsDto Campos específicos de Apns
android
(optional)
AndroidDto Campos específicos de Android

Atenção

Para enviar uma notificação, você deve usar um dos objetos: ApnsDto ou AndroidDto.

ApnsDto

Parâmetro Tipo de dados Descrição e valores permitidos
sound
(optional)
string Ligue esta chave se quiser que o sistema reproduza som. O valor desta chave é o nome do arquivo de som no pacote principal do aplicativo ou na pasta "Bibliotec / Sons" no contêiner de dados do aplicativo. Se o arquivo de som não for encontrado ou se você especificou um padrão para o valor, o sistema reproduz um som de aviso padrão.
Formatos suportados:
- AIF
- AIFF
- WAV
- MP3
- MP4
Tamanho máximo: 5МБ
buttons
(optional)
list ActionButtons Máximo de ActionButtons
linkToMedia
(optional)
string URL para o arquivo
Formatos suportados:
- Audio (AIFF, WAV, MP3, MPEG-4), 5 MB
- Movie (MPEG, MPEG-2, AVI), 50 MB
- Image (JPEG. PNG, GIF), resolução: 1024x1024 ou proporção de aspecto 1:1, 10МБ
action
(optional)
string Url/Deep link - ação ao clicar em uma notificação

ActionButtons

Parâmetro Tipo de dados Descrição e valores permitidos
caption
(optional)
string O nome do botão, pode conter até 30 caracteres
action
(optional)
string Url/Deep-link - ação ao clicar em um botão em uma notificação

AndroidDto

Parâmetro Tipo de dados Descrição e valores permitidos
iconCollor
(optional)
string Cor do ícone de notificação, formato #rrggbb
sound
(optional)
string Som a ser reproduzido quando o dispositivo recebe uma notificação. Suporta «default» ou o nome do arquivo do recurso de áudio incluído com o aplicativo. Os arquivos de som devem estar localizados /res/raw/. Formatos suportados:
- aif/aiff
- wav
- MP3
- MP4
Tamanho máximo: 5MB
image
(optional)
string O nome do arquivo da imagem incluída no aplicativo, com ou sem uma extensão de nome de arquivo. A imagem é usada como uma imagem inicial quando os usuários clicam em um botão de ação ou movem o controle deslizante de ação
Se essa propriedade não for especificada, o sistema usa a imagem identificada pela chave UILaunchImageFile no arquivo Info.plist do aplicativo ou Default.png
Formatos suportados:
- JPEG
- GIF
- PNG
Dimensões :
- Mínimo - 512х256
- Ideal - 1440x720
- Máximo - 2880х1440
Resolução:
- 1440x720 ou proporção de 2:1
androidChannelId
(optional)
string Identificador do canal de notificação. Descrição mais detalhada
tag
(optional)
string Identificador para selecionar usuários (usado para marcar assinantes em bancos de dados de clientes no lado do FireBase)
buttons
(optional)
list ActionButtons Máximo de ActionButtons
collapseKey
(optional)
string Quando há uma mensagem mais recente em que a mensagem associada mais antiga não é relevante para o aplicativo cliente, o FCM substitui a mensagem mais antiga
icon
(optional)
string O URL usado para o ícone de notificação. Formatos de ícone de notificação possíveis:
- 24x24
- 36x36
- 48x48
- 72x72
- 96x96
action
(optional)
string Url/Deep link - ação ao clicar em uma notificação

ActionButtons

Parâmetro Tipo de dados Descrição e valores permitidos
icon
(optional)
string O URL usado para o ícone de notificação. Formatos de ícone de notificação possíveis:
- 24x24
- 36x36
- 48x48
- 72x72
- 96x96
caption
(optional)
string O nome do botão, pode conter até 30 caracteres
action
(optional)
string Url/Deep-link - ação ao clicar em um botão em uma notificação

Solicitar exemplo

```json tab="JSON" POST /push/messages Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ== Content-Type: application/json Accept: application/json [ { "from":400, "to":"r0Fo0EjfqKjTeZZpPW4s63PpMEYpgKIj55DT", "title":"title", "text":"Hello", "badge":1, "valitity":86400, "priority":"NORMAL", "options":{ "name":"Ivan", "phone":"79169492211" }, "apns":{ "linkToMedia":"Default.png", "sound":"hi.mp3", "action":"https://test.com/apple-app-site-association" }, "android":{ "icon":"Default.png", "iconCollor":"#FF4500", "sound":"hi.mp3", "action":"https://test.com/android-app-site-association" } } ]

```curl tab="cURL"
curl
-X POST
-H "Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ=="
-H "Content-Type: application/json"
-d '[{
   "from":400,
   "to":"r0Fo0EjfqKjTeZZpPW4s63PpMEYpgKIj55DT",
   "title":"title",
   "text":"Hello",
   "badge":1,
   "valitity":86400,
   "priority":"NORMAL",
   "options":{
      "name":"Ivan",
      "phone":"79169492211"
   },
   "apns":{
      "linkToMedia":"Default.png",
      "sound":"hi.mp3",
      "action":"https://test.com/apple-app-site-association"
   },
   "android":{
      "icon":"Default.png",
      "iconCollor":"#FF4500",
      "sound":"hi.mp3",
      "action":"https://test.com/android-app-site-association"
   },
}]' "https://api.devino.online/push/messages"

```json tab="Modelo" [ { "from": 0, "validity": 0, "to": "string", "title": "string", "text": "string", "badge": 0, "priority": "LOW", "silentPush": true, "options": { "additionalProp1": "string", "additionalProp2": "string", "additionalProp3": "string" }, "apns": { "action": "string", "linkToMedia": "string", "sound": "string", "image": "string", "buttons": [ { "caption": "string", "action": "string" } ] }, "android": { "icon": "string", "action": "string", "iconColor": "string", "sound": "string", "image": "string", "androidChannelId": "string", "tag": "string", "buttons": [ { "icon": "string", "caption": "string", "action": "string" } ], "collapseKey": "string" } } ]

### Resposta exemplo

```json tab="JSON"
{ 
   "result":[ 
      { 
         "code":"string",
         "description":[ 
            { 
               "errorMessage":"string",
               "fieldName":"string"
            }
         ],
         "index":0,
         "pushId":0,
         "pushToken":"string"
      }
   ]
}

json tab="Modelo" { "description": "string", "reasons": [ { "key": "string", "params": [ {} ], "ref": "string" } ], "result": [ { "code": "string", "description": [ { "errorMessage": "string", "fieldName": "string" } ], "index": 0, "pushId": 0, "pushToken": "string" } ] }

Parâmetros de resposta

Parâmetro Tipo de dados Descrição e valores permitidos
description string Descrição da resposta
reasons object Razões que acompanham a resposta
reasons.key string Chave de localização
reasons.params list Lista por parâmetro quando o erro é recebido
reasons.ref string Referência ao parâmetro em que ocorreu o erro
result object Objeto de resultado
code string Indica o resultado do processamento da mensagem
1. OK - Processado com sucesso
2. REJECTED - Ocorreu um erro ao processar a solicitação
description object Descrição do resultado do processamento
description.errorMessage string Uma mensagem descrevendo o erro
description.fieldName string O campo em que ocorreu o erro
index integer Numeração de mensagens
pushId integer Identificador push
pushToken string Identificador do dispositivo do usuário

Webhook

Atenção

Para conectar os status de envio por chamadas de retorno, entre em contato com o seu comercial ou suporte técnico em support@devinotele.com

Ao gerar o status da mensagem, uma POST-solicitação será enviada para a URL do servidor remoto com uma lista de objetos do seguinte tipo:

Parâmetro Tipo de dados Descrição e valores permitidos
pushToken string Identificador do dispositivo para o qual a notificação foi enviada
pushId long Identificador de notificação
state State Descrição de status
stateDesc
(optional)
string
state State Descrição de status
actionId
(optional)
string Url/Deep link - ação ao clicar em uma notificação
pushApplicationId integer Identificador do aplicativo, campo from na solicitação de envio
reportedTimestamp long Formação de status timestamp

Status possíveis

Status Descrição
send Enviado para o serviço de notificação do dispositivo
delivered Notificação entregue ao dispositivo
opened Houve um clique no link da notificação
canceled O destinatário tirou a notificação da tela
expired A notificação não foi entregue dentro do tempo estipulado