Serviço de criação chamados a partir da troca de e-mails.
Antes de iniciar o serviço, é necessário fazer a instalação das dependências do projeto. Para fazê-lo, execute o comando do Composer a seguir:
$ composer install
Para executar o projeto no ambiente de desenvolvimento, basta executar o comando a seguir:
$ docker-compose up
O arquivo Dockerfile, localizado na raíz do projeto, ficará por containerizar toda a aplicação para que ele possa ser usada em clusters. Para gerar uma imagem da aplicação containerizada, execute o comando abaixo na raíz do projeto:
$ docker build -t email_tickets_service .
Caso queira usar o Docker Compose para rodar a aplicação em produção, basta substituir o Dockerfile-dev indicado no arquivo docker-compose.yml pelo Dockerfile de produção.
A configuração da aplicação é feita por meio de variáveis de ambiente, que deve ser feito na criação do container.
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
DATABASE_URL | string | Sim | URL de conexão do banco de dados MySQL |
IMAP_HOST | string | Sim | Caminho do servidor de caixa de e-mail |
IMAP_USERNAME | string | Sim | E-mail do usuário para acessar a caixa de e-mail |
IMAP_PASSWORD | string | Sim | Senha do usuário para acessar a caixa de e-mail |
WEBHOOK_ENDPOINT | string | Sim | URL que deve receber os e-mails |
MAX_ATTEMPTS | int | Sim | Número máximo de tentativas de envio para URL configurada em WEBHOOK_ENDPOINT |
IMAP é o protocolo utilizado para buscar os e-mails na caixa de e-mail neste serviço e esta seção terá informações importantes sobre sua configuração. Antes de seguir com este guia de configuração você deve habilitar o acesso da caixa de e-mail por este protocolo no seu provedor de e-mail.
O caminho do servidor da caixa de e-mail segue o seguinte formato:
{<dominio_do_servidor>[:<porta>][<flags>]}[<nome_caixa_email>]
Para a lista completa de flags clique aqui.
- Gmail: {imap.gmail.com:993/imap/ssl}INBOX
- Outlook/Hotmail: {outlook.office365.com:993/imap/ssl}INBOX
- Yahoo: {imap.mail.yahoo.com:993/imap/ssl}INBOX
Devido a uma incompatiblidade com a biblioteca IMAP, alguns passos extras devem ser realizados caso queira configurar um e-mail do Gmail.
Para evitar esta etapa no servidor de e-mail você deve adicionar a flag /novalidate-cert. Resultado: {imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX
Para habilitar este recurso acesse este link.
Esta seção irá detalhar os dados que serão enviados para a URL configurada.
Atributo | Tipo | Descrição |
---|---|---|
id | string int | Identificador da mensagem |
name | string | Nome do remetente |
string | E-mail do remetente | |
body | string | Corpo da mensagem |
thread_id | string | Identificador da conversa |
contract_id | string | Identificador do contrato |
sent_at | date | Data de envio da mensagem no formato ISO 8601 |
attachments | Attachment[] | Anexos da mensagem |
Atributo | Tipo | Descrição |
---|---|---|
id | string int | Identificador do anexo |
name | string | Nome do arquivo em anexo |
attachment_id | string | Identificador do anexo no servidor de e-mail |
file | file | Arquivo em anexo |