Envio de mensagens de texto

Permite que mensagens sejam enviadas pela plataforma WhatsApp para um ou mais destinatários.

POST https://api-messaging.wavy.global/v1/whatsapp/send

O corpo da solicitação de qualquer solicitação deve conter um objeto JSON com os seguintes campos:

Base JSON:

FieldRequiredDetailsType

destinations

Sim

Lista de destinatários

Destination[]

message

Sim

Mensagem de texto que será enviada para a lista de destinatários

Message

flowId

Não

Identificação do 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, está vinculado a todas as mensagens de envio

String

Destination:

FieldRequiredDetailsType

correlationId

Não

Seu ID definido será retornado em uma mensagem de confirmação (retorno de chamada). Isso é útil nos casos em que você deseja acompanhar a mensagem enviada, já que você pode definir ids diferentes para mensagens diferentes.

String

destination

Sim

O número de telefone (código do país — 55 para o Brasil — e o estado devem estar presentes) para o qual a mensagem será enviada. Exemplos:5519900001111, +5519900001111, +55(19) 900001111

String

Message:

FieldRequiredDetailsType

messageText

Sim

campo usado para caso você queira enviar uma mensagem personalizada em resposta a uma mensagem recebida.

text

image

Sim

Campo usado para o caso de você querer enviar um conteúdo de imagem.

Image

audio

Sim

Campo usado para o caso de você querer enviar um conteúdo de áudio

Audio

video

Sim

Campo usado para o caso de você querer enviar um conteúdo de vídeo.

Video

document

Sim

Campo usado para o caso de você querer enviar um arquivo de documento.

Document

location

Sim

Campo usado para o caso de você querer enviar um local.

Location

contacts

Sim

Campo utilizado para o caso de você querer enviar contato(s).

Contact[]

previewFirstUrl

Não

Controlar a visualização do primeiro URL enviado pelo aplicativo

Boolean

Apenas uma das seguintes opções de mídia deve ser especificada, seja 'mesageText', image', 'audio', 'document', 'location' ou 'contacts'

Texto:

Somente uma mensagem personalizada deve ser enviada em resposta a uma mensagem recebida pelo usuário sempre que a sessão estiver aberta. Se a sessão não estiver aberta ou o usuário não tiver enviado uma mensagem, o Modelo deverá ser usado.

Exemplo de solicitação de texto

{
   "destinations":[
      {
         "correlationId":"MyCorrelationId",
         "destination":"5519900001111"
      }
   ],
   "message":{
      "messageText":"test message"
   }
}

Image:

FieldRequiredDetailsType

type

Sim

Tipo/extensão da imagem a ser enviada na mensagem. Opções disponíveis: JPG, JPEG, PNG.

String

caption

Não

Texto a ser apresentado ao usuário sob a imagem.

String

url

Sim

URL onde o conteúdo a ser enviado está hospedado.

String

data

Sim

Conteúdo codificado em Base64

String

Apenas uma das seguintes opções deve ser especificada, seja 'url', caso você queira enviar usando um arquivo, ou 'data', caso você queira enviar a imagem usando codificação base64

Exemplo de solicitação de imagem (URL)

{
   "destinations":[
      {
         "correlationId":"MyCorrelationId",
         "destination":"5519900001111"
      }
   ],
   "message":{
      "image":{
         "type":"JPG",
         "url":"https://...jpg",
         "caption":"image description"
      }
   }
}

Exemplo de solicitação de imagem (Base64)

{
   "destinations":[
      {
         "correlationId":"MyCorrelationId",
         "destination":"5519900001111"
      }
   ],
   "message":{
      "image":{
         "type":"JPG",
         "data":"ZmlsZQ=="
      }
   }
}

Audio:

FieldRequiredDetailsType

type

Sim

Tipo/extensão do áudio a ser enviado na mensagem. Opções disponíveis: AAC, MP4, AMR, MP3, OGG.

String

url

Não

URL onde o conteúdo a ser enviado está hospedado.

String

data

Sim

Conteúdo codificado em Base64

String

Apenas uma das seguintes opções deve ser especificada, seja 'url', caso você queira enviar usando um arquivo, ou 'data', caso você queira enviar o áudio usando codificação base64

Exemplo de solicitação de áudio (URL)

{
   "destinations":[
      {
         "correlationId":"MyCorrelationId",
         "destination":"5519900001111"
      }
   ],
   "message":{
      "audio":{
         "type":"MP3",
         "url":"https://...mp3"
      }
   }
}

Exemplo de solicitação de áudio (Base64)

{
   "destinations":[
      {
         "correlationId":"MyCorrelationId",
         "destination":"5519900001111"
      }
   ],
   "message":{
      "audio":{
         "type":"MP3",
         "data":"ZmlsZQ=="
      }
   }
}

Vídeo:

FieldRequiredDetailsType

type

Sim

Tipo/extensão do vídeo a ser enviado na mensagem. Opções disponíveis: MP4, 3gpp.

String

caption

Não

Texto a ser apresentado ao usuário sob o vídeo.

String

URL

Sim

URL onde o conteúdo a ser enviado está hospedado.

String

data

Sim

Conteúdo codificado em Base64

String

Apenas uma das seguintes opções deve ser especificada, seja 'url', caso você queira enviar usando um arquivo, ou 'data', caso você queira enviar o vídeo usando codificação base64

Exemplo de solicitação de Vídeo (URL)

{
   "destinations":[
      {
         "correlationId":"MyCorrelationId",
         "destination":"5519900001111"
      }
   ],
   "message":{
      "video":{
         "type":"MP4",
         "url":"https://...mp4",
         "caption":"video description"
      }
   }
}

Exemplo de solicitação de Vídeo (Base64)

{
   "destinations":[
      {
         "correlationId":"MyCorrelationId",
         "destination":"5519900001111"
      }
   ],
   "message":{
      "video":{
         "type":"MP4",
         "data":"ZmlsZQ=="
      }
   }
}

Document:

FieldRequiredDetailsType

type

Sim

Tipo/extensão do documento a ser enviado na mensagem. Opções disponíveis: PDF, DOC, DOCX, PPT, PPTX, XLS, XLSX

String

caption

Sim

Texto a ser apresentado ao usuário sob o documento.

String

url

Sim

URL onde o conteúdo a ser enviado está hospedado.

String

data

Sim

Conteúdo codificado em Base64

String

Apenas uma das seguintes opções deve ser especificada, seja 'url', caso você queira enviar usando um arquivo, ou 'data', caso você queira enviar o documento usando codificação base64

Exemplo de solicitação de documento (URL)

{
   "destinations":[
      {
         "correlationId":"MyCorrelationId",
         "destination":"5519900001111"
      }
   ],
   "message":{
      "document":{
         "type":"PDF",
         "url":"https://...pdf",
         "caption":"pdf description"
      }
   }
}

Exemplo de solicitação de documento (Base64)

{
   "destinations":[
      {
         "correlationId":"MyCorrelationId",
         "destination":"5519900001111"
      }
   ],
   "message":{
      "document":{
         "type":"PDF",
         "data":"ZmlsZQ=="
      }
   }
}

Localização:

FieldRequiredDetailsType

geopoint

Sim

O geoponto do lugar. O formato deve ser: "latitude,longitude"

String

address

Não

Endereço do local.

String

name

Não

Nome do local.

String

Exemplo de solicitação de local

{
   "destinations":[
      {
         "correlationId":"MyCorrelationId",
         "destination":"5519900001111"
      }
   ],
   "message":{
      "location":{
         "geoPoint":"-22.894180,-47.047960",
         "name":"Wavy",
         "address":"Av. Cel. Silva Telles"
      }
   }
}

Contact:

FieldRequiredDetailsType

addresses

Não

Endereço(s) de contato completo(s).

Address[]

birthday

Não

Data de aniversário como cadeia de caracteres formatada AAAA-MM-DD.

String

emails

Não

Endereço(s) de e-mail de contato.

Email[]

name

Não

Nome completo do contato.

Name

org

Não

Informações da organização de contato.

Org

phones

Não

Telefone(s) de contato.

Phone[]

urls

Não

URL(s) de contato.

Url[]

Exemplo de solicitação de contatos

{
   "destinations":[
      {
         "correlationId":"MyCorrelationId",
         "destination":"5519900001111"
      }
   ],
   "message":{
      "contacts":[
         {
            "addresses":[
               {
                  "city":"Menlo Park",
                  "country":"United States",
                  "country_code":"us",
                  "state":"CA",
                  "street":"1 Hacker Way",
                  "type":"HOME",
                  "zip":"94025"
               },
               {
                  "city":"Menlo Park",
                  "country":"United States",
                  "country_code":"us",
                  "state":"CA",
                  "street":"200 Jefferson Dr",
                  "type":"WORK",
                  "zip":"94025"
               }
            ],
            "birthday":"2012-08-18",
            "emails":[
               {
                  "email":"test@fb.com",
                  "type":"WORK"
               },
               {
                  "email":"test@whatsapp.com",
                  "type":"WORK"
               }
            ],
            "name":{
               "first_name":"John",
               "formatted_name":"John Smith",
               "last_name":"Smith"
            },
            "org":{
               "company":"WhatsApp",
               "department":"Design",
               "title":"Manager"
            },
            "phones":[
               {
                  "phone":"+1 (940) 555-1234",
                  "type":"HOME"
               },
               {
                  "phone":"+1 (650) 555-1234",
                  "type":"WORK",
                  "wa_id":"16505551234"
               }
            ],
            "urls":[
               {
                  "url":"https://www.fb.com",
                  "type":"WORK"
               }
            ]
         }
      ]
   }
}

Address:

FieldRequiredDetailsType

street

Não

Número e nome da rua.

String

city

Não

Nome da cidade

String

state

Não

Abreviação do estado

String

zip

Não

Código postal

String

country

Não

Nome completo do país

String

country_code

Não

Abreviatura do país com duas letras

String

type

Não

Valores padrão: CASA, TRABALHO

String

Email:

FieldRequiredDetailsType

email

Não

Endereço de email

String

type

Não

Valores padrão: CASA, TRABALHO

String

Name:

FieldRequiredDetailsType

first_name

Não

Primeiro nome

String

last_name

Não

Apelido

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

Não

Nome completo

String

Org:

FieldRequiredDetailsType

company

Não

Nome da empresa do contato.

String

department

Não

Nome do departamento do contato.

String

title

Não

Título comercial do contato.

String

Phone:

FieldRequiredDetailsType

phone

Não

Número de telefone formatado.

String

type

Não

Valores Padrão: CELULAR, PRINCIPAL, IPHONE, CASA, TRABALHO.

String

wa_id

Não

ID do WhatsApp.

String

Url:

FieldRequiredDetailsType

phone

Não

URL de contato.

String

type

Não

Valores Padrão: CASA, TRABALHO.

String

Para os objetos que contêm um campo de tipo, os valores listados são simplesmente considerados os valores padrão que podem ser vistos, no entanto, você pode definir o campo para qualquer valor descritivo que escolher.

Last updated