Envio de mensagens (MT)
Envio por método GET - Individual
Via método GET, é possivel realizar o envio de uma mensagem passando todos os parâmetros como query string.
URL para envios unitários com método GET
GET https://api-messaging.wavy.global/v1/send-sms?destination=..
Via método POST, é possivel realizar o envio de uma mensagem passando todos os parâmetros no body.
URL para envios unitários com método POST
POST https://api-messaging.wavy.global/v1/send-sms - Content-Type: application/json
Parametros da Requisição
* Campo obrigatório
Campo | Detalhes | Tipo |
---|---|---|
destination* | Telefone para qual será enviada a mensagem (incluido 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 Wavy 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 ontabilizado assim que a mensagem é recebida pela Wavy.. 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! É possivel realizar o agendamento apenas em um periodo 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 dinamicos, 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 |
Ao fazer o envio, você receberá um JSON informando o id que foi gerado para esta mensagem (Response ou Resposta síncrona da Wavy):
Envio por método POST - Individual ou em lote
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
Requisição HTTP Method POST
POST https://api-messaging.wavy.global/v1/send-bulk-sms Content-Type: application/json
O corpo da requisição precisa conter o objeto JSON com as informações conforme campos abaixo:
* Campo obrigatório
Campo | Detalhes | Tipo |
---|---|---|
destination* | Telefone para qual será enviada a mensagem (incluido 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 Wavy 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 | 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 ontabilizado assim que a mensagem é recebida pela Wavy.. 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. 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 dinamicos, 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 | 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 |
IMPORTANTE! Para cada subconta existe um usuário de sistema único.
Ao fazer o envio, será retornado um objeto JSON com o UUID do lote e das mensagens individuais :
Observe que nos exemplos acima, alguns campos “destination” não possuem um “messageText” atribuido 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
Respostas de mensagens em lote
A resposta do envio em lote conterá um arquivo JSON com as informações necessárias para rastreio, será gerado um id para o lote todo e um id e correlationId individual para cada mensagem:
Campo | Detalhes | Tipo |
---|---|---|
id | UUID gerado para este lote | String |
messages | Este campo é um array com as respostas das mensanges individuais do lote, contém o id e o correlationId de cada mensagem enviada | SingleSMSResponse[] |
Last updated