crm-api-template-generator/backend/readme.md

2.1 KiB

Atenção

Para rodar a aplicação esteja na pasta backend. O .env deve estar dentro da pasta backend para rodar essa api.

Use o env.example

Nova Funcionalidade: Integração de Transcrição com HubSpot

Esta funcionalidade permite receber, processar e registrar transcrições de chamadas telefônicas diretamente no HubSpot, com associação automática ao contato e, se disponível, ao ticket da chamada.

Fluxo Geral

  1. Uma transcrição de chamada é recebida via endpoint REST (/api/v1/crm/transcriptions).
  2. O sistema consulta o Redis para verificar se há um ticketId associado ao callerId.
  3. Se existir:
    • A nota é associada ao contato e ao ticket correspondente no HubSpot.
  4. Se não existir:
    • A nota é criada e associada apenas ao contato.

Exemplo de Requisição

Endpoint: POST /api/v1/crm/transcriptions

Body:

{
  "callerId": "5511987654321",
  "uniqueId": "chamada-001",
  "transcription": {
    "summary": "Cliente solicitou informações sobre o pedido.",
    "client": "Gostaria de saber como está meu pedido.",
    "agent": "Claro! Posso verificar agora."
  },
  "recordingUrl": "https://exemplo.com/gravação/audio.wav"
}

Verificação Prévia de Ticket

Antes de enviar a transcrição de uma chamada, o sistema realiza uma verificação para saber se já existe um ticket associado ao número de telefone (callerId / crmPhone).

Endpoint:
GET /api/v1/crm/tickets/check-by-crmphone

Parâmetros de consulta (query params):

Parâmetro Tipo Obrigatório Descrição
crmPhone string Sim Número do telefone do cliente (E.164)

Exemplo de Requisição:

GET /api/v1/crm/tickets/check-by-crmphone?crmPhone=5511997532324

Resposta (200 OK):

{
  "hasTicket": true,
  "ticketId": "25292628260"
}

Lógica de Uso

  • Se hasTicket for true, o ticketId será incluído no envio da transcrição.
  • Se hasTicket for false, a transcrição não será enviada para essa api para o envio ao HubSpot.