[Resolvido] Carrosel Dinâmico com Tipo Localização

É possível usar o
tipo: application/vnd.lime.location+json
como uma opção (options) ou título (header) do
tipo: application/vnd.lime.document-select+json

Eu tentei montar da seguinte maneira o conteúdo dinâmico:


{

    "itemType": "application/vnd.lime.document-select+json",

    "items": [

        {

            "header": {

                "type": "application/vnd.lime.media-link+json",

                "value": {

                    "title": "EMPORIUM ALIMENTE",

                    "text": "** Loja Parceira (#PDX)\n\nEndereço: Av Armando Salles De Oliveira, 1455 - Centro, \nPiracicaba"

                }

            },

            "options": [

                {

                    "order": 1,

                    "label": {

                        "type": "application/vnd.lime.web-link+json",

                        "value": {

                            "title": "Telefone: 019 00000000",

                            "uri": "tel:019 00000000"

                        }

                    }

                },

                {

                    "order": 2,

                    "label": {

                        "type": "application/vnd.lime.location+json",

                        "value": {

                            "text": "Localização",

                            "latitude": -19.918899,

                            "longitude": -43.959275,

                            "altitude": 853

                        }

                    }

                }

            ]

        },

        {

            "header": {

                "type": "application/vnd.lime.location+json",

                "value": {

                    "text": "DROGAL - Endereço: Av. Independencia, 2759 - Dos Alemaes, \nPiracicaba",

                    "latitude": -19.918899,

                    "longitude": -43.959275,

                    "altitude": 853

                }

            },

            "options": [

                {

                    "label": {

                        "type": "application/vnd.lime.web-link+json",

                        "value": {

                            "title": "Telefone: 019 00000000",

                            "uri": "tel:019 00000000"

                        }

                    }

                }

            ]

        },

        {

            "header": {

                "type": "application/vnd.lime.media-link+json",

                "value": {

                    "title": "EMPORIO DO VOVO",

                    "text": "Endereço: Rua Bom Jesus, 74 - Cidade Alta, Brcao\nPiracicaba"

                }

            },

            "options": [

                {

                    "label": {

                        "type": "application/vnd.lime.web-link+json",

                        "value": {

                            "title": "Telefone: 019 34227001",

                            "uri": "tel:019 34227001"

                        }

                    }

                }

            ]

        }

    ]

}

Não funcionou em nenhum dos exemplos usando "type": "application/vnd.lime.location+json"

Referência:

Usando carrosel dinamico

Olá @AndyDaSilva52,

Conseguiu efetuar o desenvolvimento?

@AndyDaSilva52

Você só consegue criar Carrossel com label do tipo Texto ou Web Link, portanto, como você está fazendo não é possível (com um label do tipo Localização).

Ok, alinhado a isso eu consigo identificar o dispositivo que a pessoa está?

Digo isso pois há variação na maneira de gerar a URL para iphone/ipad de demais aparelhos.

Consigo verificar isso dentro do Script Editor ou passar uma variável para ele avaliar?

Não é possível enviar apenas a localização (digo, o conteúdo tipo Localização), quando o usuário clicar em Localização em um novo bloco?

Até pensei nisso, mas fiquei na dúvida de como teria de ser o payload do conteúdo dinâmico

@AndyDaSilva52,

Que tipos de dados você deseja colocar no payload? Poderia mandar um exemplo ?

O comando para exibir a localização no chat

Pensei em algo como está na imagem usando o componente Menu, mas seu funcionamento não ocorreu como eu esperei, devo ter entendido errado como usar

image

Mas preciso entender como encaixar isso no carrosel com o conteúdo dinâmico gerado no script conforme postado no inicio:

@AndyDaSilva52

Quando você envia um payload, esse dado é enviado para o bot e não para o usuário. Acredito que por isso ele não esteja funcionando conforme você gostaria.

O que eu te indiquei a fazer é que, ao clicar no botão Localização, o usuário seja direcionado para um bloco onde ele irá receber um conteúdo do tipo Enviar Localização do BLiP. Não sei se isso seria interesse para o seu fluxo, mas não consigo pensar em outra forma.

1 Curtida

Entendi

Sabe dizer como identifico o dispositivo para gerar URL conforme o device da pessoa?

Assim consigo avaliar as opções:

  • URL de acordo com dispositivo

  • Blocos que apresenta o conteúdo Enviar Localização

1 Curtida

@AndyDaSilva52

Não existe uma maneira de descobrir o device da pessoa. Qual o motivo de você querer saber esse tipo de informação?

Quando você envia um conteúdo do tipo localização, seu dispositivo ficará encarregado de tratar dele da maneira correta.

Para gerar URL conforme exemplos postados nos links abaixo por exemplo

[1]https://stackoverflow.com/questions/9688607/how-to-open-a-mobile-devices-map-app-when-a-user-clicks-on-a-link

[2]https://stackoverflow.com/questions/18739436/how-to-create-a-link-for-all-mobile-devices-that-opens-google-maps-with-a-route

Quero deixar a pessoa decidir qual app usar para navegar até o endereço, só que não existe um padrão entre os dispositivos, por isso durante o script precisaria identificar o device da pessoa, no canal BlipChat acredito que consigo usar um campo extra, mas para os demais canais teria de fazer uma URL genérica baseado nessa sua afirmação

Para Android por exemplo funciona URL com o formato: geo:124.028582,-29.201930, mas em dispositivos Apple essa mesma URL não funciona :sob: Reference

1 Curtida