SMS API
Documentação técnica: API de SMS.
Termo | Significado | Descrição |
---|---|---|
MT | Mobile Terminated | Mensagens enviadas por sua empresa destinadas ao usuário final. |
MO | Mobile Originated | É o termo utilizado para mensagens que têm como destino a sua empresa. Ou seja, mensagens originadas pelo usuário (Dispositivo). E utilizado, por exemplo, em fluxos de perguntas e respostas via SMS, quando é necessária a confirmação do usuário. |
Response | Resposta síncrona da Sinch | É uma resposta imediata a uma requisição feita em nossa API, onde informamos se a mensagem foi aceita ou não por nossa plataforma. |
Callback | Sent status ou status de envio | É o primeiro status enviado que retornamos, no qual informamos se foi possível ou não entregar a mensagem. para o operador. |
LA | Short Code | Número curto de 5 ou 6 dígitos, usado para enviar e receber mensagens SMS. São designados pelas operadoras para integradores certificados (Sinch), e possuem regras antifraude e antispam. |
DR | DLR | Delivery Receipt | É o segundo status de remessa que retornamos, onde informamos se foi possível, ou não, efetuar a entrega do aparelho. As operadoras enviam essas informações para a Sinch e nós entregamos para o cliente. O tempo de entrega é variável, por exemplo se o aparelho foi desligado no momento do envio e o usuário ligou 2 horas depois, esse status DLR será entregue ao cliente com 2 horas de atraso. Obs1: Esta confirmação de entrega no dispositivo existirá apenas para os casos em que a mensagem foi entregue com sucesso à operadora. Ou seja, o primeiro status (Callback) foi bem-sucedido. Obs2: É muito importante destacar que infelizmente as operadoras OI e Sercomtel não possuem essa funcionalidade, ou seja, não retornam as informações de entrega para o aparelho. Envios feitos para números dessas operadoras terão apenas a informação de entrega na operadora (callback). |
Fluxo simplificado: MT, Callback, DLR, MO

Esta API permite que você automatize as requisições de envios de mensagens, únicas ou em lote, e a recuperação dos status de envio através de consultas. Ela utiliza o protocolo HTTP com TLS e aceita os métodos GET, com a passagem de parâmetros na query string, ou POST, com parâmetros em JSON.
Para efetuar envios e consultas em nossa API é necessária a autenticação por meio de usuário ou e-mail, em conjunto com um token.
Campo | Detalhes | Data Type |
UserName | Seu usuário ou email | String |
Authentication Token | String | |
TemplateID | Identificador de modelo de SMS. O texto da mensagem será recuperado e deve ser criado primeiro por meio do Portal do Messaging. | Long |
TemplateName | Nome do modelo de SMS. Pode não ser exclusivo, resultando em erro se mais de um modelo for encontrado para o nível de acesso do usuário. O texto da mensagem será recuperado e deve ser criado primeiro por meio do Portal do Messaging | String |
Campo | Detalhes |
---|---|
Hostname | api-messaging.wavy.global |
API's | Envios individuais /v1/send-sms
Envios em lote /v1/send-bulk-sms |
Porta | 443 (https) |
Protocolo | HTTPS (encriptação TLS) |
Autenticação | |
Portal | messaging.wavy.global |
O Padrão de codificação utilizado é o UTF-8, todo conteúdo das mensagens deve seguir esse padrão.
É possível escapar os caracteres caso deseje ou codificar utilizando o formato HTTP.
Ao lado estão alguns exemplos de codificação:
“messageText”:“A combinação foi perfeita :)”
Ou você pode escapar os caracteres caso queira:
“messageText”:“A combina\u00e7\u00e3o foi perfeita :)"
curl -X POST \
https://api-messaging.wavy.global/v1/send-sms \
-H 'authenticationtoken: <authenticationtoken>' \
-H 'username: <username>' \
-H 'content-type: application/json' \
-d '{"destination": "5511900000000" , "messageText": "linha\nquebrada"}'
Ao fazer o envio, você receberá um JSON informando o id que foi gerado para esta mensagem (Response ou Resposta síncrona da Wavy):
[
{
"id":"9cb87d36-79af-11e5-89f3-1b0591cdf807",
"correlationId":"myId"
}
]
Via método GET, é possível realizar o envio de uma mensagem passando todos os parâmetros como query string.
GET https://api-messaging.wavy.global/v1/send-sms?destination=..
Via método POST, é possível realizar o envio de uma mensagem passando todos os parâmetros no body.
POST https://api-messaging.wavy.global/v1/send-sms - Content-Type: application/json
* Campo obrigatório
Campo | Detalhes | Tipo |
destination* | Telefone para qual será enviada a mensagem (incluindo código de país). Exemplo: 5511900000000 | String |
messageText* | Texto da mensagem que será enviada (max 1280 chars). | String |
correlationId | Um ID único definido por você para batimento com os status de envio (callback e DLR). Este parâmetro é opcional, e você pode utilizar o ID gerado pela Sinch para este batimento (max 64 chars). | String |
extraInfo | Qualquer informação extra que você deseja adicionar a mensagem (max 255 chars). | String |
timeWindow | Mensagens serão enviadas apenas no horário especificado. Por exemplo, Se você configurar uma janela [11, 12, 18], as mensagens serão enviadas entre 11:00 e 11:59, 12:00 e 12:59 e 18:00 e 18:59, este parâmetro deve ser definido na raiz do objeto JSON | Integer[] |
expiresAt | A mensagem não será enviada após esta data. O formato utilizado é o Unix time . Obs: Os campos expiresAt, expiresInMinutes e expiresDate são mutuamente exclusivos (use somente um deles) | Long |
expiresInMinutes | A mensagem será expirada após o tempo informado neste campo. O tempo passa a ser contabilizado assim que a mensagem é recebida pela Sinch. Obs: Os campos expiresAt, expiresInMinutes e expiresDate são mutuamente exclusivos (use somente um deles) | Long |
expiresDate | A mensagem não será enviada após esta data. O campo aceita o seguinte formato yyyy-MM-dd’T'HH:mm:ss. Obs: Os campos expiresAt, expiresInMinutes e expiresDate são mutuamente exclusivos (use somente um deles) | String |
scheduledAt | A mensagem não será enviada após esta data. IMPORTANTE! É possível realizar o agendamento apenas em um período superior a 30 minutos, pois é processado por um fluxo diferenciado do envio sem agendamento. O formato utilizado é o Unix time. Os campos expiresAt, expiresInMinutes e expiresDate são mutuamente exclusivos (use somente um deles) | Long |
delayedInMinutes | Minutos depois que a requisição é feita que a mensagem será enviada. Os campos expiresAt, expiresInMinutes e expiresDate são mutuamente exclusivos (use somente um deles) | Long |
scheduledDate | A mensagem não será enviada antes desta data. O campo suporta o seguinte formato yyyy-MM-dd’T'HH:mm:ss. Obs: Os campos expiresAt, expiresInMinutes e expiresDate são mutuamente exclusivos (use somente um deles) | String |
timeZone | Especifica o timezone que será utilizado diretamente nos campos: expiresDate, scheduledDate and timeWindow (que será modificado caso seja utilizado timezones dinâmicos, como os com horário de verão). Se o timezone não estiver presente na requisição o sistema irá verificar o timezone do usuário - se presente - ou o timezone do país do usuário em último caso. Se nenhuma das opções estiverem presentes, o sistema irá utlizar o horário UTC | String |
campaignAlias | Identificação de campanha criada previamente. Clique aqui para registar uma nova campanha, este parâmetro deve ser definido na raiz do objeto JSON | String |
flashSMS | Flash SMS, use esta opção para enviar uma mensagem pop-up no telefone do usuário. Para enviar uma mensagem Flash passe o parametro true. | Boolean |
flowId | Identificador do fluxo de Bot. O texto da mensagem virá do fluxo selecionado | String |
subAccount | Referência da subconta. Ela só pode ser utilizada por usuários Administradores | String |
params | Mapa de placeholders que serão substituídos no texto da mensagem. Se um ou mais parâmetros estiverem incorretos, a mensagem será marcada como inválida, mas o envio não será cancelado. É necessário enviar o flowId para utilizar os parâmetros | Map |
Para cada usuário existe um token de autenticação único. Para evitar problemas com exclusão de usuários, crie um usuário de sistema para suas integrações.
curl --request POST \
--url https://api-messaging.wavy.global/v1/send-bulk-sms \
--header 'authenticationtoken: <Token de autenticação>' \
--header 'username:<Usuário Movile Messaging>' \
--header 'content-type: application/json' \
--data "{ "messages":[{ "destination":"5519999999999", "messageText":"First message" }, { "destination":"5519999999999" }, { "destination":"5519999999999" }], "defaultValues":{"messageText":"Default message" }}"
Existe um limite de 1000 mensagens por requisição
Ao fazer o envio, será retornado um objeto JSON com o UUID do lote e das mensagens individuais :
{
"id": "ce528d70-013b-11e7-98f2-e27c463c8809",
"messages": [
{
"id": "ce528d71-013b-11e7-98f2-e27c463c8809"
},
{
"id": "ce528d72-013b-11e7-98f2-e27c463c8809"
}
]
}
Permite o envio de mensagens em lote ou individuais passando os parametros em um objeto JSON Existe um limite de 1000 mensagens por requisição
Exemplo de JSON para envio em Lote:Exemplo 1:
{
"messages":[
{
"destination":"5519900001111",
"messageText":"First message"
},
{
"destination":"5519900002222"
},
{
"destination":"5519900003333"
}
],
"defaultValues":{
"messageText":"Default message"
}
}
Exemplo 2:
{
"messages":[
{
"destination":"5519900001111",
"messageText":"First message"
},
{
"destination":"5519900002222"
}
],
"timeZone":"America/Sao_Paulo",
"scheduledDate": "2017-01-28T02:30:43",
"timeWindow": [12, 15, 20],
"defaultValues":{
"messageText":"Default message"
}
}
Exemplo 3:
{
"messages":[
{
"destination":"5519900001111"
},
{
"destination":"5519900002222"
}
],
"defaultValues":{
"messageText":"Default message",
"flashSMS":"true"
}
}
Exemplo 4, com flowId e params:
{
"messages":[
{
"destination":"5519900001111",
"params": {
"param1": "other_value1",
"param2": "other_value2"
}
},
{
"destination":"5519900002222"
}
],
"defaultValues":{
"params": {
"param1": "value1",
"param2": "value2"
}
},
"flowId": "14f8142d-e731-4971-8220-5a76a12c413f"
}
Exemplo 5, com templateId/templateName (possível com qualquer um ou ambos) e os parâmetros:{"messages":[{"destination":"5519900001111","params": {"param1": "other_value1","param2": "other_value2"}},{"destination":"5519900002222"}],"defaultValues":{"params": {"param1": "value1","param2": "value2"}},"templateId": 0,"templateName": 'name'}
Códigos de status HTTP mais comuns:
Grupo | Descrição |
2xx | Sucesso |
4xx | Erro Cliente |
5xx | Erro Servidor |
Código | Descrição |
200 | Sucesso |
400 | Requisição errada |
401 | Sem autorização |
403 | Proibido |
404 | Não encontrado |
429 | Muitas Requisições Realizadas |
500 | Erro Interno do Servidor |
503 | Serviço indisponível |
504 | Gateway Timeout |
O limite de máximo é de 700 requisições por segundo por IP.
Existem duas maneiras de obter os status de envio das mensagens, são elas:
- Webhook: Receber os status em um webservice de sua empresa (recomendado)
Assim que entregamos a mensagem na operadora, ou assim que a operadora nos informa se entregou a mensagem no aparelho, a informação é repassada instantaneamente para você.
- API de consulta: Fazer requisições de consulta em nossa API sms-status.
Os status ficam disponíveis por 3 dias, e podem ser consultados pelo UUID que a Sinch retornou ao receber a mensagem de sua empresa, ou pelo ID que sua empresa recebeu ao entregar a mensagem para a Sinch.
A desvantagem desta opção de Observe que nos exemplos acima, alguns campos “destination” não possuem um “messageText” atribudo direto a eles, nestes casos, o texto da mensagem será o “messageText” dentro de “defaultValues”. Essa função é útil quando é necessário o envio da mesma mensagem para vários números diferentes consultas ao invés de webhook, é que você fará requisições de consulta de um ID que pode ainda não ter sido entregue na operadora ou no aparelho, neste caso, uma série de requisições desnecessárias serão feitas. Por exemplo, se um usuário estava com o aparelho desligado quando você enviou uma mensagem para ele, e ligou 2 horas depois, você ficará consultando este ID inúmeras vezes por duas horas. E no caso da utilização de um webhook, esta informação seria enviada para você assim que fosse entregue no aparelho, sem requisições vazias.
As consultas de status possuem rate-limit de 1 requisição por segundo por endereço IP. Requisições além deste limite são respondidas com o código de status HTTP 429.
Para configurar o envio dos Callbacks e DRs (dúvida sobre os termos consulte a aba Termos Importantes) primeiramente é necessário logar no Sinch Messaging nas configurações da API, no formulário de configuração você poderá fornecer as URLs para onde serão enviado os status de envio (Callbacks) e os status de confirmação do aparelho (DRs)
Após a inclusão de seu webhook no portal acima, as configurações serão replicadas para nossa plataforma em até 10 minutos, e chamaremos sua URL quando as seguintes ações ocorrem:
Ação | Status de retorno enviado |
Depois que uma mensagem for entregue ou não, na operadora | API de status de envio (callback) |
Quando uma mensagem for entregue ou não, no aparelho do cliente | API de Delivery Report (DRs) |
Exemplo JSON Status de Envio (callback - entrega na operadora)
POST https://example.com/callback/
Content-Type: application/json
{
"id":"f9c100ff-aed0-4456-898c-e57d754c439c",
"correlationId":"client-id",
"carrierId":1,
"carrierName":"VIVO",
"destination":"5511900009999",
"sentStatusCode":2,
"sentStatus":"SENT_SUCCESS",
"sentAt":1266660300000,
"sentDate":"2010-02-20T10:05:00Z",
"campaignId":"64",
"extraInfo":"",
}
Campo | Descrição |
id | UUID gerado da mensagem |
correlationId | Sua identificação desta mensagem |
carrierId | Identificador da operadora |
carrierName | Nome da operadora |
destination | Número de telefone da mensagem enviada |
sentStatusCode | Código de status gerado pela Sinch para mensagem indicando o status de envio. Verifique em códigos de status para mais informações |
sentStatus | descrição do status de envio. Verifique em códigos de status para mais informações |
sentAt | Hora do envio, formato utilizado é o Unix_time |
sentDate | Data que a mensagem foi enviada. Formato: yyyy-MM-dd’T'HH:mm:ssZ |
campaignId | Identificador de campanha caso exista |
extraInfo | Qualquer informação extra adicionada pelo cliente no envio da mensagem |
Campo | Descrição |
id | UUID gerado da mensagem |
correlationId | Sua identificação desta mensagem |
carrierId | Identificador da operadora |
carrierName | Nome da operadora |
destination | Número de telefone da mensagem enviada |
sentStatusCode | Código de status gerado pela Sinch para mensagem indicando o status de envio. Verifique em códigos de status para mais informações |
sentStatus | descrição do status de envio. Verifique em códigos de status para mais informações |
sentAt | Hora do envio, formato utilizado é o Unix_time |
sentDate | Data que a mensagem foi enviada. Formato: yyyy-MM-dd’T'HH:mm:ssZ |
deliveredStatusCode | Código de status gerado pela Sinch para mensagem indicando o status de envio. Verifique em códigos de status para mais informações |
deliveredStatus | descrição do status de envio. Verifique em códigos de status para mais informações |
deliveredAt | Hora do envio, formato utilizado é o Unix_time |
deliveredDate | Data que a mensagem foi enviada. Formato: yyyy-MM-dd’T'HH:mm:ssZ |
campaignId | Identificador de campanha caso exista |
extraInfo | Qualquer informação extra adicionada pelo cliente no envio da mensagem |
Para consultar o status das últimas mensagens enviadas é necessário fazer uma requisição POST na URL abaixo enviando o(s) UUID(s) e/ou o(s) correlationId(s) obtidos na resposta do envio:
POST https://api-messaging.wavy.global/v1/sms/status/search
{ "ids": ["918F3591-9AD6-11E7-9C9B-E255B01A8B1A","234F3591-6AD6-11E7-9C9B-E255B01A8B1A"], "correlationIds": ["2468"] }
Também é possível obter apenas os status ainda não consultados:
GET https://api-messaging.wavy.global/v1/sms/status/list
Observe que este endpoint retorna apenas os status ainda não retornados por este endpoint.
Campos JSON de resposta:
Campo | Detalhes | Tipo |
id | UUID gerado na requisição para a mensagem | String |
correlationId | Mesmo correlationId da requisição | String |
carrierId | ID da operadora, para mais informações consulte código de erro | Long |
carrierName | Nome da operadora | String |
destination | Número de telefone da mensagem enviada | String |
sentStatusCode | Sent status code. Check Sent Status Codes for more information | Long |
sentStatus | Sent status. Check Sent Status Codes for more information | String |
sentStatusAt | When the message was sent. It is an Epoch Date | Long |
sentStatusDate | When the message was sent. Format yyyy-MM-dd’T'HH:mm:ssZ. Date format with time and time zone (ISO 8601) | String |
deliveredStatusCode | Delivered status code. Check Delivered Status Codes for more information | Long |
deliveredStatus | Delivered status. Check Delivered Status Codes for more information | String |
deliveredAt | When the message was delivered. It is an Epoch Date | Long |
deliveredDate | When the message was delivered. Format yyyy-MM-dd’T'HH:mm:ssZ. Date format with time and time zone (ISO 8601) | String |
campaignId | Campaign Identifier | Long |
extraInfo | Any extra info set by the user when the message was sent | String |
Exemplo JSON Delivery Report (DR ou DLR - Entrega no aparelho do usuário)
{
"id":"8f5af680-973e-11e4-ad43-4ee58e9a13a6",
"correlationId":"myId",
"carrierId":5,
"carrierName":"TIM",
"destination":"5519900001111",
"sentStatusCode":2,
"sentStatus":"SENT_SUCCESS",
"sentStatusAt":1420732929252,
"sentStatusDate":"2015-01-08T16:02:09Z",
"deliveredStatusCode":4,
"deliveredStatus":"DELIVERED_SUCCESS",
"deliveredAt":1420732954000,
"deliveredDate":"2015-01-08T16:02:34Z",
"campaignId":1234
}
A API de MO permite a automação do processo de recuperação de respostas enviadas pelos clientes em resposta as mensagens que voce enviou a eles. Todas as requisições usam o método GET e as respostas são enviadas no formato JSON. IMPORTANTE! O recebimento de MOs esta habilitado por padrão apenas para os LAs 27182 e 28149, caso seja necessário receber as mensagens através de outros LAs será necessário entrar em contato com o suporte para avaliar.
É possível também a configuração para que as MOs sejam encaminhadas conforme chegaram para uma API do cliente, essa é a forma mais eficiente pois não é necessário realizar nenhuma chamada, so tratar os envios conforme chegaram. Para que esta configuração seja realizada é necessário abrir um ticket com nosso time de suporte técnico através do nosso suporte passando a url que receberá os MOs. Conseguimos enviar os MOs tanto via método GET (query string) como via método POST (JSON)
Exemplo JSON enviado para sua API (método POST)
{
"id": "25950050-7362-11e6-be62-001b7843e7d4",
"subAccount": "Marketing",
"campaignAlias": "Promo",
"carrierId": 1,
"carrierName": "VIVO",
"source": "5516981562820",
"shortCode": "28128",
"messageText": "Eu quero pizza",
"receivedAt": 1473088405588,
"receivedDate": "2016-09-05T12:13:25Z",
"mt": {
"id": "8be584fd-2554-439b-9ba9-aab507278992",
"correlationId": "1876",
"username": "iFoodCS",
"email": "[email protected]"
}
}
Cada requisição feita irá retornar os MOs dos últimos 3 dias, até um limite de 1.000 MOs. Para datas anteriores ou quantidades maiores favor entrar em contato com nosso time de suporte através do nosso Service Center.
O comportamento da query List MO será diferente para cada usuário autenticado devido ao nível de permissão de cada usuário.
Recomendamos o método de envio das MOs para API, toda MO enviada será automaticamente enviada para API pois desta forma as respostas podem ser tratadas imediatamente após o recebimento
Perfil | Permissão |
Regular | cada requisição realizada na MO API só irá retornar os MOs correspondentes a subconta que o usuário pertence. Não é possível a um usuário regular recuperar MOs de outras subcontas. |
Administrador | o comportamento padrão para o usuário administrador é recuperar todos os MOs de todas as subcontas. se um admin desejar recuperar os MOs de apenas uma das subcontas é necessário especificar a subconta no parametro subAccount com o id da subconta desejada. |
Exemplo de JSON de resposta chamada API Sinch:
"total": 1,
"start": "2016-09-04T11:12:41Z",
"end": "2016-09-08T11:17:39.113Z",
"messages": [
{
"id": "25950050-7362-11e6-be62-001b7843e7d4",
"subAccount": "Marketing",
"campaignAlias": "Promo",
"carrierId": 1,
"carrierName": "VIVO",
"source": "5516981562820",
"shortCode": "28128",
"messageText": "Eu quero pizza",
"receivedAt": 1473088405588,
"receivedDate": "2016-09-05T12:13:25Z",
"mt": {
"id": "8be584fd-2554-439b-9ba9-aab507278992",
"correlationId": "1876",
"username": "CS",
"email": "[email protected]"
}
},
{
"id": "d3afc42a-1fd9-49ff-8b8b-34299c070ef3",
"subAccount": "Marketing",
"campaignAlias": "Promo",
"carrierId": 5,
"carrierName": "TIM",
"source": "5519987565020",
"shortCode": "28128",
"messageText": "Meu hamburguer está chegando?",
"receivedAt": 1473088405588,
"receivedDate": "2016-09-05T12:13:25Z",
"mt": {
"id": "302db832-3527-4e3c-b57b-6a481644d88b",
"correlationId": "1893",
"username": "CS",
"email": "[email protected]"
}
}
]
}
Tanto as requisições de listagem (list) e a função de busca (search) retornam um objeto JSON com os campos abaixo:
Campo | Detalhes | Tipo |
total | O número total de MOs retornadas pela requisição | Integer |
start | O limite minimo da query | String |
end | O limite máximo da query | String |
messages | Listagem dos objetos | List |
Campo | Detalhes | Tipo |
id | Id da mensagem | String |
subAccount | subconta responsável por enviar a mensagem que gerou a resposta | String |
carrierId | Id da operadora | Integer |
carrierName | Nome da operadora | String |
source | Número de telefone que enviou a mensagem de resposta | String |
shortCode | O shortcode da mensagem que originou a resposta e pelo qual a resposta foi enviada | String |
messageText | Texto da mensagem de resposta | String |
receivedAt | hora de recebimento | Long |
receivedDate | Data e hora de recebimento em formato UTC | String |
campaignAlias | Alias da campanha que originou a resposta | String |
mt | MT original que gerou a resposta | MT |
Campo | Detalhes | Tipo |
id | Id da MT | String |
correlationId | CorrelationID enviado na MT | String |
username | Username do usuário responsavel por enviar a MT | String |
email | Email do responsavel por enviar a MT | String |
A Listagem irá retornar todos os MOs recebidos desde a última chamada de acordo com a resposta padrão descrita acima. Uma vez que esta chamada é realizada ela será consumida e não irá retornar as chamadas seguintes.
Como um usuário regular, para recuperar todas MOs de uma subconta use:
GET https://api-messaging.wavy.global/v1/sms/receive/list
Como usuário administrador, para recuperar TODAS as MOs de TODAS subcontas use:
GET https://api-messaging.wavy.global/v1/sms/receive/list
Como usuário administrador. para recuperar as MOs de uma subconta com a referencia “referencia_subconta”, use:
GET https://api-messaging.wavy.global/v1/sms/receive/list?subAccount=referencia_subconta
A requisição de busca (search request) irá retornar cada MO recebido num determinado periodo de tempo. Voce precisa definir os parametros start and end para especificar um periodo de tempo, deverá ser utilizado o formato ISO-8601. START por padrão é definido 5 dias antes da data atual e END por padrão é definido na data atual. Não é possivel recuperar MOs anteriores a 5 dias.
Como um usuário regular, para recuperar todas MOs de uma subconta use:
GET https://api-messaging.wavy.global/v1/sms/receive/search
Como usuário administrador, para recuperar TODAS as MOs de TODAS subcontas use:
GET https://api-messaging.wavy.global/v1/sms/receive/search
Como usuário administrador. para recuperar as MOs de uma subconta com a referencia “referencia_subconta”, use:
GET https://api-messaging.wavy.global/v1/sms/receive/search?subAccount=referencia_subconta
Busca com START e END definidos:
GET https://api-messaging.wavy.global/v1/sms/receive/search?start=2016-09-12T00:00:00&end=2016-09-15T00:00:00
Somente com START especificado (utilizando END padrão, data atual)
GET https://api-messaging.wavy.globalv1/sms/receive/search?start=2016-09-12T00:00:00
Somente com END especificado (utilizando START padrão, 5 dias antes da data atual)
GET https://api-messaging.wavy.global/v1/sms/receive/search?end=2016-09-15T00:00:00
Usado valores padrão para START e END e especificado subconta
GET https://api-messaging.wavy.global/v1/sms/receive/search?subAccount=iFoodMarketing
Existem dois níveis de status, que são enviados independentemente.
1 - Primeiro status (sent_status - Status de envio = Callback)
Status de entrega na operadora, este é o primeiro status que retornamos, e todas as operadoras possuem.
Código | Mensagem | Significado |
2 | SENT_SUCCESS | Entregue na operadora com sucesso (Este é o status que deve ser considerado para efeito de cobrança.) |
101 | EXPIRED | Expirado antes de ser entregue ao aparelho |
102 | CARRIER_COMMUNICATION_ERROR | Erro de comunicação com a operadora |
103 | REJECTED_BY_CARRIER | Operadora rejeitou a mensagem |
201 | NO_CREDIT | O limite de mensagens setado pelo administrador de sua empresa, para sua conta ou sub conta, foi excedido. Ou, caso sua empresa utilize o modelo pré-pago de créditos, ele terminou. |
202 | INVALID_DESTINATION_NUMBER | O número de destino é inválido (Não é um número de celular válido). |
203 | BLACKLISTED | O número de destino está na lista bloqueada, e foi inserido manualmente por sua empresa. |
204 |