Send message to delivery
POST/company/delivery/msg/:id
Envia uma mensagem para o chat de uma entrega, com opção de anexar arquivos.
Objetivo
Facilitar a comunicação direta entre empresa e transportadora dentro do contexto de uma entrega específica.
Casos de Uso
- Coordenar detalhes do carregamento/descarga
- Notificar mudanças urgentes na operação
- Compartilhar fotos ou documentos relevantes
- Resolver incidentes durante o transporte
Fluxo de Validação
flowchart TD
A[Receber Mensagem] --> B{Tem Texto na Mensagem?}
B -->|Não/Vazio| C[400 NOT_MESSAGE]
B -->|Sim| D{A Entrega está Ativa?}
D -->|Não| E[403 NOT_ALLOWED]
D -->|Sim| F{Usuário Autenticado?}
F -->|Não| G[404 USER_NOT_FOUND]
F -->|Sim| H[Criar Objeto Mensagem]
H --> I{Tem Arquivos?}
I -->|Sim| J[Adicionar Chaves S3 à Mensagem]
I -->|Não| K[Continuar]
J --> K
K --> L[Adicionar ao Array de mensagens]
L --> M[Salvar Entrega]
M -->|Erro| N[503 Erro]
M -->|Sucesso| O[Retornar Todas as Mensagens DESC]
Observações
- O parâmetro {id} pode ser service_code ou MongoDB _id
- Aceita até 6 arquivos (multipart/form-data)
- Os arquivos são salvos no S3 com a chave do S3
- Somente entregas ativas podem receber mensagens (verificação isActive)
- Retorna todas as mensagens ordenadas por createdAt DESC
- Os arquivos são retornados com o caminho completo /images?file=
Request
Responses
- 200
- 400
- 403
- 404
- 503
Mensagem enviada com sucesso
Mensagem vazia ou inválida.
O envio não está ativo. Não é possível enviar mensagens.
Usuário ou envio não encontrado.
Erro ao salvar a mensagem.