Como configurar um Date Picker e listpicker no Apple Business Chat

Como configurar um Date Picker e listpicker no Apple Business Chat

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?


7 comentários

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”.

Comente