O objetivo deste projeto é desenvolver uma solução para o envio de mensagens SMS, utilizando números de telefone adquiridos diretamente pelo cliente nas plataformas Dialpad, RingCentral e OpenPhone. Esta implementação substituirá o uso de um número padrão (como o Twilio) e permitirá que o número do cliente seja o remetente das mensagens.
O que deve ser desenvolvido:
1. Integração com 3 APIs de SMS:
* Dialpad:
https://developers.dialpad.com/docs/sms-api
* RingCentral:
https://developers.ringcentral.com/sms-api
* OpenPhone:
https://www.openphone.com/docs/mdx/api-reference/messages/send-a-text-message
2. Uso do número do cliente como remetente:
* Em vez de usar um número padrão, o sistema deve utilizar o número de telefone que o cliente adquiriu diretamente nas plataformas mencionadas, configurando-o como o remetente do SMS.
3. Autenticação e Comunicação com as APIs:
* Configurar os tokens ou chaves de autenticação fornecidos pelo cliente para cada API.
* Garantir que o número esteja autorizado e funcional nas respectivas APIs para o envio de mensagens.
4. Configuração e Persistência no Sistema:
* Criar uma estrutura no sistema para que o cliente possa informar, configurar e armazenar o número e as credenciais de sua conta na plataforma de SMS escolhida (Dialpad, RingCentral ou OpenPhone).
* Essas informações devem ser salvas no banco de dados para uso contínuo no envio de mensagens pelo sistema.
5. Roteamento dinâmico baseado na configuração do usuário:
* Ao enviar um SMS, o sistema deve verificar qual provedor está configurado pelo usuário (Dialpad, RingCentral ou OpenPhone).
* Utilizar o número correspondente como remetente e chamar a API correta com os dados necessários para o envio.
Observações:
* O sistema deve permitir que cada usuário escolha e configure apenas um provedor por vez (inicialmente).
* As mensagens devem continuar sendo monitoradas e registradas internamente (logs, histórico, etc.), De forma similar ao que é feito atualmente com o Twilio.
* A validação de envio, o tratamento de erros de API e a exibição das respostas ao usuário devem seguir o padrão atual do sistema.
Necessário disponibilizar documentação técnica do passo a passo da configuração necessária de cada plataforma. Passo a passo a partir do cadastro na plataforma.
Abaixo estrutura do projeto caso tenha interesse de avaliar.
https://drive.google.com/drive/folders/1P89TDjyiBroPMcFK0p9itIx7y8hhvK3g
Prazo de Entrega: Não estabelecido