Envio de Mensagens
As chamadas para a API Sinch Messaging devem ser realizadas para a URL https://api-messaging.wavy.global/v1/whatsapp/send no formato POST independentemente do tipo de mensagem, no entanto, o conteúdo do corpo da mensagem JSON varia para cada tipo de mensagem.
Os campos de autenticação no header também seguirão o mesmo formato, independente do tipo de mensagem:
POST
/v1/whatsapp/send HTTP/1.1
Host:
api-messaging.wavy.global
UserName:
user_name
AuthenticationToken:
aaaaaa-bbbbbbbbbbbbbXXXXX12
Content-Type:
application/json
A requisição precisa conter um objeto JSON no corpo com os seguintes campos:
destinations
Sim
Lista de Destinos
Destino[]
message
Sim
Mensagem de Texto que será enviada a todos os destinos
Mensagem
flowId
Não
Identificador de Fluxo do Bot
String
defaultExtraInfo
Não
Dados adicionais que identifiquem o envio, serão vinculados a todos os destinatários que receberão a mensagem
String
campaignAlias
Não
ID da campanha, é linkado com todas as mensagens enviadas
String
Destino:
correlationId
Não
Id definido por voce que será retornado na configuração da mensagem (callback). Isto é útil em casos quando é necessário rastear os envios das mensagens, pois é possivel definir ids diferentes para diferentes mensagens.
String
destination
Sim
Número de telefone (código do país — 55 para Brasil — e DDD devem estar presentes) que receberá a mensagem. Exemplos:5519900001111, +5519900001111, +55(19) 900001111.
String
Mensagem:
messageText
Sim
Campo usado quando for necessário enviar uma mensagem personalizada em resposta a uma mensagem recebida.
text
image
Sim
Campo utilizado quando for necessário o envio de uma imagem.
Image
audio
Sim
Campo utilizado quando for necessário o envio de uma áudio.
Audio
document
Sim
Campo utilizado quando for necessário o envio de uma documento.
Document
location
Sim
Campo utilizado quando for necessário o envio de uma localização.
Location
contacts
Sim
Campo utilizado quando for necessário o envio de contato(s).
Contact[]
previewFirstUrl
Não
Controla a exibição no app da primeira URL enviada ao usuário
Boolean
Apenas um dos seguintes tipos de envio deve ser especificado, sendo ‘messageText’, ‘image’, ‘audio’, ‘document’, ‘location’, ‘template’ ou ‘contacts’.
Uma mensagem personalizada deve ser enviada somente quando a sessão de conversa estiver aberta, ou seja, quando o envio for uma resposta para uma mensagem enviada pelo usuário. Se a sessão não estiver aberta ou o usuário não enviar uma mensagem, um Template deverá ser utilizado no envio.
Os tipos de envio abaixo só serão entregues com sucesso dentro da janela de atendimento (24h)
Texto
messageText
Sim
Texto que será enviado ao usuário
Exemplo de requisição com texto
Imagem
tipo
Sim
Tipo/extensão da imagem que será enviada na mensagem. Opções disponiveis: JPG, JPEG, PNG.
String
caption
Não
Texto que será apresentado ao usuário embaixo da imagem
String
url
Sim
URL que hospeda o arquivo a ser enviado.
String
data
Sim
conteúdo encodado em Base64
String
Exemplo de requisição com Imagem (URL)
Exemplo de requisição com Imagem (Base 64)
Audio
type
Sim
Tipo/extensão do audio que será enviado na mensagem. Opções disponiveis: AAC, MP4, AMR, MP3, OGG.
String
url
Sim
URL que hospeda o arquivo a ser enviado.
String
data
Sim
conteúdo encodado em Base64
String
Exemplo de requisição com Áudio (URL)
Exemplo de requisição com Áudio (Base 64)
Documento
type
Sim
Tipo/extensão do documento que será enviado na mensagem. Opções disponiveis: PDF.
String
caption
Não
Texto que será apresentado ao usuário embaixo do documento
String
url
Sim
URL que hospeda o arquivo a ser enviado.
String
data
Sim
Conteúdo encodado em Base64
String
filename
Sim
Nome do arquivo
String
Exemplo de requisição com Documento (URL)
Exemplo de requisição com Documento (Base 64)
Para envio de Imagens, Audios e Documentos apenas uma das seguintes opções deve ser especificado, sendo ‘url’ caso voce deseje enviar um arquivo e ‘data’ caso voce queira utilizar encoding base64.
Contact
addresses
Não
Endereço(s) completo(s) do contato.
Address[]
birthday
Não
Data de aniversário com formato YYYY-MM-DD.
String
emails
Não
Endereço(s) de e-mail de contato.
Email[]
name
Sim
Nome completo do contato.
Name
org
Não
Informações da organização do contato.
Org
phones
Não
Número(s) de telefone do contato.
Phone[]
urls
Não
URL(s) do contato.
Url[]
Exemplo de requisição com Contatos
Address
street
Não
Nome e número da rua.
String
city
Não
Nome da cidade.
String
state
Não
Sigla do Estado.
String
zip
Não
CEP.
String
country
Não
Nome completo do país.
String
country_code
Não
Abreviação de país (Duas letras).
String
type
Não
Valores Padrões: HOME, WORK.
String
Exemplo de requisição com Localização
Email
Não
Endereço de e-mail.
String
type
Não
Valores Padrões: HOME, WORK.
String
Name
first_name
Não
Primeiro nome.
String
last_name
Não
Último nome.
String
middle_name
Não
Nome do meio.
String
name_suffix
Não
Sufixo do nome.
String
name_prefix
Não
Prefixo do nome.
String
formatted_name
Sim
Nome completo como normalmente aparece.