O objetivo deste projeto é possibilitar que tanto os mentores quanto os participantes possam enviar um alerta via whatsapp caso uma das partes não tenham comparecido para a call.
Para manter os números de contato privados foi utilizada a API de Whatsapp ZENVIA para fazer o envio dos alertas.
Envie o comando mentoria mais o id #1 - mentoria#1.
Após o envio o sistema vai verificar se você pertence a essa mentoria e enviar os alertas.
| Comando | Participante | Mentor |
|---|---|---|
![]() |
![]() |
![]() |
| Comando enviado por uma das partes. | Alerta recebido pelo participante. | Alerta recebido pelo mentor. |
Para utilizar a API utilizei os dados da documentação, sandbox e tutorial em video.
O envio de mensagem é efetuado através de uma requisição http do tipo POST. Exemplo:
const sendingMessage =(request: AxiosInstance) =>
async (contact:BodySengingText) =>
(await request({data: JSON.stringify(contact)})).dataEstá função tem como entrada no primeiro parâmetro uma configuração axios:
const setAxiosConfig = (baseURL:string) =>
(contentType:string) =>
(token:string) =>
(method:Method) => axios.create({
baseURL,
headers: {
'content-type': contentType,
'X-API-TOKEN': token
},
method: method
})O segundo parâmetro é composto de um objeto com as informações necessárias para o envio da mensagem:
type BodySengingText = {
from: string,
to: string,
contents: [
{
type: string,
text: string
}
]
}O retorno da função contem o body de resposta da requisição.
Iniciei esse projeto para testar a o Next.js e a API Zenvia de whatsapp.
O Next.js foi bem simples de usar e de fazer o deploy.
A API Zenvia também foi muito fácil de utilizar, como ela funciona com base em requisições as chamadas tanto de envio quanto de recebimento são simples de usar, neste projeto não utilizei o recebimento dos status das mensagens, mas a implementação segue o mesmo principio da de recebimento das mensagens.


