Skip to main content

Boa noite,

Estou na parte final para liberação do meu chatbot com o serviço da Apple, o Business Chat.

A integração já está feita, a marca aprovada, agora eles estão pedindo para criar um template.

O template é simples, mas, a parte complicada é criar um time picker no padrão deles.

  1. Consumer says they want to make an appointment
  2. Agent sends them a list picker with options
  3. Consumer picks an appointment type
  4. Consumer makes some sub-category choices
  5. Agent generates a time picker for consumer with available appointment times
  6. Consumer chooses the date/time from time picker and appointment is scheduled

Time Picker

Alguém consegue me ajudar?

Olá @Victor_de_Oliveira_R,

basta enviar o ListPicker como um conteúdo dinâmico onde o tipo do conteúdo é application/json e o corpo do conteúdo é o JSON esperado pela API da Apple.

Um exemplo de JSON que representa o ListPicker está descrito no link abaixo:

Veja um exemplo de como enviá-lo no BLiP:

Obs.: Qual seu plano no BLiP @Victor_de_Oliveira_R?


Oi Rafa, o meu plano é o gratuito.

Então, agora estou precisando trabalhar com richlinks… ainda não consegui.

Estou usando como base o código da documentação da Apple, mas, não vai…


Olá @Victor_de_Oliveira_R,

Qual Richlink, especificamente, você gostaria de enviar?
veja o código que você precisará adicionar para enviar um listpicker

{
  "id": "<populated on send>",
  "sourceId": "<populated on send>",
  "destinationId": "<populated on send>",
  "interactiveData": {
    "bid": "com.apple.messages.MSMessageExtensionBalloonPlugin:0000000000:com.apple.icloud.apps.messages.business.extension",
    "data": {
      "version": "1.0",
      "requestIdentifier": "<populated on send>",
      "images": [
        {
          "identifier": "camisa-one-step-beyond",
          "data": "adicione o base64 da sua imagem"
        }
      ],
      "listPicker": {
        "sections": [
          {
            "items": [
              {
                "style": "default",
                "title": "P",
                "imageIdentifier": "38a46010-b0a7-41ac-8d82-c18cd8d27a67",
                "order": 0,
                "identifier": "0"
              },
              {
                "style": "default",
                "title": "M",
                "imageIdentifier": "b34ebba4-b0d6-4eef-aead-b41692b0f9ca",
                "order": 1,
                "identifier": "1"
              },
              {
                "style": "default",
                "title": "G",
                "imageIdentifier": "f8a160b0-d7a5-463c-960e-3e669452cb7f",
                "order": 2,
                "identifier": "2"
              },
              {
                "style": "default",
                "title": "GG",
                "imageIdentifier": "cd798cf6-b7bb-42ba-9858-dbf1de9bb7c8",
                "order": 3,
                "identifier": "3"
              }
            ],
            "title": "Tamanhos",
            "multipleSelection": false,
            "order": 0
          }
        ]
      }
    },
    "useLiveLayout": true,
    "receivedMessage": {
      "style": "small",
      "title": "Qual o tamanho da sua camisa?",
      "subtitle": "Tamanhos únicos, escolha o seu aqui...",
      "imageIdentifier": "camisa-one-step-beyond"
    },
    "replyMessage": {
      "style": "icon",
      "title": "Esse"
    }
  },
  "type": "interactive"
}```

Oi

O richlink eu consegui 😀 Estava tentando enviar um richlink com imagem mesmo.

Agora sobre o listPicker, peguei esse que você enviou que é o mesmo usado no bot do ABC do take.net e fiz a substituição de uma imagem em base64 para testar e ir trabalhando em cima deste modelo, mas, não consegui.


Consegui fazer o list picker funcionar, mas agora, a resposta não está sendo reconhecida.


@rafaelpa tudo resolvido! listPicker e richlink operantes! Obrigado pelo apoio!

Gostaria de saber se isso é possível aplicar condição nas mensagens de um bloco.

Por exemplo:

Em determinado bloco eu tenho uma mensagem (1) que contém um link que será exibido perfeitamente no Telegram, web, e messenger (no apple BC ele é enviado com um “tap to load”)

E no mesmo bloco eu tenho outra mensagem (2), porém, com conteúdo dinâmico (para o business chat).

Gostaria de criar uma condição do tipo: se contém businesschat na váriavel contact.identity a mensagem (2) é enviada e a mensagem (1) não.

E se businesschat na váriavel contact.identity não existe, então o conteúdo dinâmico (2) não é enviado.

É possível fazer isso?

Obrigado desde já.


Consegui resolver isso criando blocos e condições da presença de determinada variável.

No caso, se contém businesschat na variável contact.identity, ele passa para o bloco que contém programação json do ABC, caso não, ele passa para o outro bloco. Assim o bot fica “universal”.