Quick Replies com Json não funcionam no Telegram?

Tenho uma estrutura assim:

"options": [
    {
      "text": "13/01 Qua",
      "type": "application/json",
      "value": {
        "dayIndex": 3,
        "dayChoosen": "2021-01-13",
        "dayTextChoosen": "13/01 Qua"
      }
    },
    {
      "text": "14/01 Qui",
      "type": "application/json",
      "value": {
        "dayIndex": 4,
        "dayChoosen": "2021-01-14",
        "dayTextChoosen": "14/01 Qui"
      }
    }

Isso não aparece no Telegram.
Vi nos Logs que o BliP envia a mensagem, mas no Telegram o usuário não recebe resposta.
Não encontrei nada sobre a compatibilidade deste tipo de conteúdo.
Não encontrei mais a página sobre isso https://help.blip.ai/contenttypes/

Olá @ShotDesign tudo bem?

Sobre isso: realmente a página está fora, pois estamos migrando de plataforma do nosso Help Center. Mas em breve ela volta.

O Telegram aceita sim Quick Replies, mas notei umas coisas no seu JSON.

  1. Não pode ter mais de 2 values, que parece ser uma limitação do Telegram, pois no Blip Chat funciona.

  2. Não sei se você adicionou aqui no Fórum faltando partes, mas é importante que o JSON seja completo

{
   "scope":"immediate",
   "text":"Choose an option",
   "options":[
      {
         "text":"13/01 Qua",
         "type":"application/json",
         "value":{
            "dayIndex":3,
            "dayChoosen":"2021-01-13"
         }
      },
      {
         "text":"14/01 Qui",
         "type":"application/json",
         "value":{
            "dayIndex":4,
            "dayChoosen":"2021-01-14"
         }
      }
   ]
}

Aqui está o JSON completo, é basicamente uma repetição das “options” para mais dias.
Ele funciona no canal WEB e Messenger.

{
  "scope": "immediate",
  "text": "Olha, eu tenho estes dias disponíveis",
  "options": [
    {
      "text": "13/01 Qua",
      "type": "application/json",
      "value": {
        "dayIndex": 3,
        "dayChoosen": "2021-01-13",
        "dayTextChoosen": "13/01 Qua"
      }
    },
    {
      "text": "14/01 Qui",
      "type": "application/json",
      "value": {
        "dayIndex": 4,
        "dayChoosen": "2021-01-14",
        "dayTextChoosen": "14/01 Qui"
      }
    },
    {
      "text": "15/01 Sex",
      "type": "application/json",
      "value": {
        "dayIndex": 5,
        "dayChoosen": "2021-01-15",
        "dayTextChoosen": "15/01 Sex"
      }
    },
    {
      "text": "18/01 Seg",
      "type": "application/json",
      "value": {
        "dayIndex": 8,
        "dayChoosen": "2021-01-18",
        "dayTextChoosen": "18/01 Seg"
      }
    },
    {
      "text": "19/01 Ter",
      "type": "application/json",
      "value": {
        "dayIndex": 9,
        "dayChoosen": "2021-01-19",
        "dayTextChoosen": "19/01 Ter"
      }
    },
    {
      "text": "20/01 Qua",
      "type": "application/json",
      "value": {
        "dayIndex": 10,
        "dayChoosen": "2021-01-20",
        "dayTextChoosen": "20/01 Qua"
      }
    }
  ]
}

Como sugere que eu contorne isso no Telegram?

1 Curtida

Cara, a única maneira que eu pensei (e não pensei muito, pra ser sincero), seria você mesclar duas dessas key: value em uma única e depois, caso necessário, tratar de separá-las via script.

Pegar a dayChoosen e a dayTextChoosen e fazer tudo em uma só:

dayChoosen: "2020-01-20 Qua"

Entendi, eu trato a informação pra sair pronta dentro de um único script.
Talvez separar isso e tratar posteriormente pra ser compatível.

Essa limitação do Telegram é oficial?
Onde posso me certificar disso?

Obrigado!

@ShotDesign, temos essas informações dos tipos de conteúdos suportados em todos os canais, incluindo o Telegram, nesta página. :wink:

Certo, mas seria interessante destacar ou documentar em algum lugar sobre esta limitação do Telegram.
Eu passei a tratar isso no fluxo e resolveu.

Obrigado

Agora estou com problema novamente, mas em outro projeto.
As mensagens de quick reply dinâmico não chegam no telegram, mas estão nos Logs.
Aqui a estrutura:

{
  "scope": "immediate",
  "text": "Escolha um serviço:",
  "options": [
    {
      "text": "Serviço 1",
      "type": "application/json",
      "value": {
        "serviceKey": "s207cfc30ab10390a56ab0491fd4c73846ed1742c"
      }
    },
    {
      "text": "Serviço 2",
      "type": "application/json",
      "value": {
        "serviceKey": "s37b4f2f51d725c61cdb1786e8dba25546313d7d9"
      }
    },
    {
      "text": "Serviço 3",
      "type": "application/json",
      "value": {
        "serviceKey": "sc0e6ef78b5f58ad585e6c9887c72a77b1331543e"
      }
    },
    {
      "text": "Serviço 4",
      "type": "application/json",
      "value": {
        "serviceKey": "seb2860d1c1d04496abfe26e18924eb460cada70c"
      }
    }
  ]
}

A única diferença desta estrutura para a que funcionou em outro projeto é o valor armazenado na chave “value” que neste caso é uma string "serviceKey": "sc0e6ef78b5f58ad585e6c9887c72a77b1331543e". No outro projeto era um número.

Fiz um teste aqui e realmente esta é mais uma limitação que encontrei no canal Telegram.
O valor da chave de “value” não pode ser string.
Que coisa louca… estou desenvolvendo às cegas aqui.
Temos alguma documentação que explica isso?
Obrigado

Segui os testes aqui e em outro bloco de quick reply o valor da chave de “value” é texto e funciona.
Agora estou perdido.

Isso não funciona para apresentar o Quick-reply:
"value": { "serviceKey": "s37b4f2f51d725c61cdb1786e8dba25546313d7d9"

Mas isso funciona para apresentar o Quick-reply:
"value": { "dayChoose": "13/01/2021"

Detalhe, ambos funcionam no canal Web

Vou solicitar que os times responsáveis façam uma descrição mais criteriosa sobre estes pontos. Você consegue olhar algumas coisas na Documentação do próprio Telegram, mas eu pelo menos não consegui encontrar nada sobre essas limitações.

2 Curtidas