MO (mensagens enviadas pelo usuário final para a conta do Whatsapp)

Em cada resposta do usuário final (MO ou Mobile Originated) um callback/webhook é enviado. Essas MOs são enviadas em lote.

IMPORTANTE: O endpoint no qual o webhook será enviado deve ser previamente configurado com a equipe de suporte/operações.

O formato desta devolução será de acordo com a seguinte descrição:

Callback

FieldDetailsType

total

Número de retornos de chamada na solicitação

Long

data

Lista de mensagens originadas por dispositivos móveis

Data[]

clientInfo

Informações de quem é a mensagem

ClientInfo

Data

FieldDetailsType

id

Identificação da última mensagem

String

source

ID do remetente

String

origin

Telefone que identifica a conta do WhatsApp (incluindo o código do país). Exemplo: 5511900000000

String

userProfile

Perfil do usuário que enviou a mensagem

UserProfile

correlationId

Um ID exclusivo definido por você para corresponder ao status da mensagem (retorno de chamada e DLR). Opcional, pois você pode usar o ID gerado pela Sinch

String

campaignId

ID da campanha definida anteriormente

String

campaignAlias

Alias de campanha previamente definidos

String

message

Mensagem MO

Message

receivedDate

Data em que a mensagem foi recebida. Formato: yyyy-MM-dd’T'HH:mm:ssZ

String

receivedAt

Data em que a mensagem foi recebida, usando o formato Unix_time

Long

extraInfo

Informações extras relacionadas à mensagem. Formato: Json

String

referral

Apresente se a mensagem foi iniciada pelo usuário clicando em uma publicação ou anúncio. Contém informações relacionadas ao anúncio. Este campo é opcional (pode ser nulo).

Referral

mtSentAt

O carimbo de data/hora quando a última MT foi enviada para este destinatário.

Long

session

Informações da sessão

Session

MO Flow Control - Lista de segmentação

A mensagem terá uma lista de listas de segmentação no campo extraInfo. Nossos parceiros o usam para redirecionar as mensagens através de determinados fluxos. O nome da chave é segmentation_lists e contém uma lista de SegmentationList.

FieldDetailsType

id

Identificador de lista de segmentação

Integer

customerId

Identificador do cliente

Integer

subAccountId

Identificador de subconta

Integer

name

Nome da lista de segmentação

String

active

Status da lista de segmentação

Boolean

Referência

Todos os campos neste objeto são opcionais (podem ser nulos).

FieldDetailsType

headLine

Título do anúncio que gerou a mensagem.

String

body

Corpo do anúncio.

String

sourceType

Tipo do anúncio. Pode ser "anúncio", "post" ou "desconhecido".

String

sourceId

ID do anúncio no Facebook.

String

sourceUrl

URL do anúncio.

String

mediaType

Tipo de mídia do anúncio. Pode ser "imagem" ou "postagem".

String

mediaUrl

URL da mídia do anúncio.

String

Perfil do usuário

FieldDetailsType

name

Nome do usuário especificado no WhatsApp

String

whatsAppId

Número de telefone do usuário

String

Sessão

FieldDetailsType

sessionId

ID da sessão para este usuário

String

createdAt

Carimbo de data/hora de criação da sessão

Long

Message

FieldDetailsType

type

Tipo de mensagem enviada pelo usuário final: TEXT - IMAGE - AUDIO - VIDEO - DOCUMENT - STICKER - BUTTON - ORDER - LIST

String

messageText

A mensagem de texto (MO) enviada pelo usuário final. Para respostas de lista, é igual a rowTitle.

String

mediaUrl

Url para baixar a mídia enviada pelo usuário final.

String

mimeType

Tipo mime do arquivo enviado pelo usuário final.

String

caption

Etiqueta de mídia enviada pelo usuário final.

String

location

Local enviado pelo usuário final.

Location

contacts

Contato(s) enviado(s) pelo usuário final.

Contact[]

receivedInteractive

Os campos interativos recebidos.

ReceivedInteractive

ReceivedInteractive

FieldDetailsType

order

O objeto de pedido com as informações dos produtos (PRODUCT_LIST)

Order

listReply

Responder para lista enviada pelo usuário. (LIST)

ListReply

payload

Texto definido ao enviar botões (REPLY_BUTTON)

String

Order

FieldDetailsType

catalogId

O catalogId configurado no Gerenciador de Negócios

String

productItems

Matriz de ProductItem.

ProductItem[]

Product Item

FieldDetailsType

productRetailerId

Identificador exclusivo (no catálogo) do produto

String

quantity

Número de itens comprados

String

itemPrice

Preço unitário dos itens

String

currency

Moeda do preço

String

ListReply

FieldDetailsType

rowIdentifier

Identificador de linha enviando na mensagem original para o usuário

String

rowTitle

Título da linha enviando na mensagem original para o usuário

String

ClientInfo

FieldDetailsType

customerId

CustomerId para o qual a mensagem se destina

Long

subAccountId

SubAccountId para o qual a mensagem se destina

Long

userId

UserId para o qual a mensagem se destina

Long

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.

Exemplo de mensagem de texto:

{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "name of the user"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
        "type": "TEXT",
        "messageText": "Hi, this is a message from the user"
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}

Exemplo de informações extras

{  
   "segmentation_list":[  
      {  
         "id":26,
         "customerId":42,
         "subAccountId":0,
         "name":"Wavy WhatsApp Segmentation List",
         "active":true
      },
      {  
         "id":27,
         "customerId":43,
         "subAccountId":0,
         "name":"Wavy WhatsApp Segmentation List 2",
         "active":true
      }
   ]
}

Exemplo de mensagens de mídia

{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",      
      "userProfile": {
        "name": "name of the user"
      },
      "campaignId": 100,
      "correlationId":"...",
      "campaignAlias":"...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
            "type": "IMAGE",
           "mediaUrl": "https://...",
           "mimeType": "image/jpg",
           "caption": "..."
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}

Exemplo de localização

{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",      
      "userProfile": {
        "name": "name of the user"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
           "location": {
               "geoPoint": "-22.894180,-47.047960",
               "name": "Wavy",
               "address": "Av. Cel. Silva Telles"
           }
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}

Exemplo de mensagens de contatos

{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",      
      "userProfile": {
        "name": "name of the user"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "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"
                       }
                    ]
                 }
              ]
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}

Exemplo de texto de referência

{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "name of the user"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "referral": {
        "headLine": "...",
        "body": "...",
        "sourceType": "...",
        "sourceId": "...",
        "sourceUrl": "...",
        "mediaType": "...",
        "mediaUrl": "..."