Como fazer o agendamento das mensagens

NO AMA 50 o Gabriel Petrone apresentou o case do coelho branco com agendamento das mensagens.

Será que poderiam fazer um tutorial sobre esse case.

É tudo feito no blip builder ou tem algum tipo de integração externa ? Esse módulo do blip de scheduler como funciona.

No AMA mostraram só a parte do chat sem mostrar como foi construido, será que poderiam fazer um tutorial de como utilizar essas funcionalidades de agendamento de mensagens. ?

4 curtidas

alô, chamando @GabrielPetrone :sparkles:

2 curtidas

Hey, bom dia @Guilherme_ribeiro_ca .

Vou preparar um material e posto aqui sim. Eu só vou precisar de uns 15 dias para conseguir entregar, tá?
De qualquer forma, reforço que a solução gira em torno do Schedule.

Abraços.

3 curtidas

@Guilherme_ribeiro_ca , o bot foi construído inteiramente pelo Builder, sem uso de integração externa.

Todo agendamento de mensagem ocorre pelo Scheduler e o ponto principal é que pra fazer um Scheduler, você precisa ter uma Lista de Distribuição. Dito isso, como funciona o Coelho Branco:

  1. Uma lista de distribuição é criada usando o endpoint Create a list.
POST https://http.msging.net/commands HTTP/1.1
Content-Type: application/json
Authorization: Key {{YOUR_TOKEN}}

{  
  "id": "{{random.guid}}",
  "to": "[email protected]",
  "method": "set",
  "type": "application/vnd.iris.distribution-list+json",
  "uri": "/lists",
  "resource": {  
    "identity": "{{nome_da_sua_lista}}@broadcast.msging.net"
  }
}
  1. Em seguida, adicione o usuário (contact.identity) a lista por meio do endpoint Add a member to list.
POST https://http.msging.net/commands HTTP/1.1
Content-Type: application/json
Authorization: Key {{YOUR_TOKEN}}

{  
  "id": "{{random.guid}}",
  "to": "[email protected]",
  "method": "set",
  "uri": "/lists/{{nome_da_sua_lista}}@broadcast.msging.net/recipients",
  "type": "application/vnd.lime.identity",
  "resource": "{{contact.identity}}"
}
  1. Criar um agendamento de mensagem usando o endpoint Create a Scheduling.
POST https://http.msging.net/commands HTTP/1.1
Content-Type: application/json
Authorization: Key {{YOUR_TOKEN}}

{
	"id": "{{random.guid}}",
	"to": "[email protected]",
	"method": "set",
	"uri": "/schedules",
	"type": "application/vnd.iris.schedule+json",
	"resource": {
		"message": {
			"id": "{{random.guid}}",
			"to": "{{nome_da_sua_lista}}@broadcast.msging.net",
			"type": "text/plain",
			"content": "Hey! Está na hora de registrar seu ponto!"
		},
		"when": "{{scheduledDate}}T{{scheduledHour}}.000Z",
		"name": "RMDR-{{contact.name}}_{{random.guid}}"
	}
}

3.1. As variáveis preenchidas em when, são criadas por scripts baseado no contexto do Coelho Branco, que pergunta se você quer ser notificado HOJE ou no PRÓXIMO DIA ÚTIL para preencher o scheduledDate e o horário para preencher o scheduledHour. O grande segredo aí é você formatar corretamente a data, seguindo o modelo: AAAA-MM-DDTHH:MM:SS.000Z.

Para acompanhar todos os agendamentos, você pode acessar a tela do módulo de Growth > Agendador:

:bulb: No caso do Coelho Branco eu crio uma Lista de Distribuição para cada contato, mas não é obrigatório! Uma lista pode contar vários contatos dentro e ao agendar uma mensagem, todos os contatos dessa lista receberão a mensagem.

A estrutura do Coelho Branco é essa aqui (marquei os 3 pontos acima no fluxo):

Recomendo também o uso da extensão Broadcast List para você conseguir gerenciar de forma mais fácil as suas listas de distribuição para agendamento de mensagem:

Espero ter ajudado, fique à vontade caso tenha mais dúvidas.

Abraços.

3 curtidas

Oi @GabrielPetrone consegui usar o endpoints.

veja que usei o mascara de AAA-MM-DD
E HORA HH:MM:SS

MAS o horário não ficou o mesmo. tenho que ajustar algum parametro do horário?

Como você faz com recorrência ou seja agendar os avisos por mais de um dia. é possível como agendar por 30 dias o alerta.

mas apesar de usar a data conforme sua indicação. no agendamento as datas ficaram diferentes


2 curtidas