Create SDR interaction
Cria uma nova interação SDR e atualiza a tabela sell com informações de contato e qualificação. **Identificação do Contato:** O agente SDR deve fornecer **UM** dos seguintes campos para identificar o lead: - `phone`: Número de telefone do lead (formato brasileiro, com ou sem código 55) - Exemplo: `"5511999999999"` ou `"11999999999"` - `session_id`: UUID da sessão web (formato: Lia-{uuid}) - Exemplo: `"Lia-2a08196b-ac9a-4984-9f78-a681cf3653c3"` - Use quando o contato veio do chat web (sem telefone disponível) **Campos Obrigatórios:** - `phone` OU `session_id` (um dos dois) - `channel`: Canal usado ('whatsapp', 'sms', 'email') - `result`: Resultado da interação ('interested', 'not_interested', 'no_response', 'callback_requested', 'converted') **Comportamento:** - Busca pessoa existente pelo telefone (com matching flexível) ou cria pessoa mínima se não existir - Para UUIDs web, cria pessoa mínima automaticamente - Cria/atualiza registro em `sdr_interactions` - Atualiza tabela `sell` com informações de contato e qualificação - Sincroniza dados entre ambas as tabelas automaticamente - Evita duplicatas (atualiza se houver interação recente para o mesmo telefone/pessoa) **Exemplos de Uso:** 1. **Contato por telefone - Lead interessado:** - Fornece `phone` - Define `contact: true` e `result: "interested"` 2. **Contato por telefone - Lead qualificado:** - Fornece `phone` - Define `contact: true`, `sent: true`, `sent_to`, `converted_to_lead: true` 3. **Contato web (UUID) - Lead interessado:** - Fornece `session_id` (formato: Lia-{uuid}) - Define `contact: true` e `result: "interested"` 4. **Contato web (UUID) - Lead qualificado:** - Fornece `session_id` - Define `contact: true`, `sent: true`, `sent_to`, `converted_to_lead: true`
Cria uma nova interação SDR e atualiza a tabela sell com informações de contato e qualificação.
Identificação do Contato:
O agente SDR deve fornecer UM dos seguintes campos para identificar o lead:
phone: Número de telefone do lead (formato brasileiro, com ou sem código 55)- Exemplo:
"5511999999999"ou"11999999999"
- Exemplo:
session_id: UUID da sessão web (formato: Lia-{uuid})- Exemplo:
"Lia-2a08196b-ac9a-4984-9f78-a681cf3653c3" - Use quando o contato veio do chat web (sem telefone disponível)
- Exemplo:
Campos Obrigatórios:
phoneOUsession_id(um dos dois)channel: Canal usado ('whatsapp', 'sms', 'email')result: Resultado da interação ('interested', 'not_interested', 'no_response', 'callback_requested', 'converted')
Comportamento:
- Busca pessoa existente pelo telefone (com matching flexível) ou cria pessoa mínima se não existir
- Para UUIDs web, cria pessoa mínima automaticamente
- Cria/atualiza registro em
sdr_interactions - Atualiza tabela
sellcom informações de contato e qualificação - Sincroniza dados entre ambas as tabelas automaticamente
- Evita duplicatas (atualiza se houver interação recente para o mesmo telefone/pessoa)
Exemplos de Uso:
-
Contato por telefone - Lead interessado:
- Fornece
phone - Define
contact: trueeresult: "interested"
- Fornece
-
Contato por telefone - Lead qualificado:
- Fornece
phone - Define
contact: true,sent: true,sent_to,converted_to_lead: true
- Fornece
-
Contato web (UUID) - Lead interessado:
- Fornece
session_id(formato: Lia-{uuid}) - Define
contact: trueeresult: "interested"
- Fornece
-
Contato web (UUID) - Lead qualificado:
- Fornece
session_id - Define
contact: true,sent: true,sent_to,converted_to_lead: true
- Fornece
In: header
Request Body
application/json
Dados da interação SDR. Use phone para contatos por telefone ou session_id para contatos web (UUID).
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/sdr/interactions" \ -H "Content-Type: application/json" \ -d '{ "phone": "5511999999999", "channel": "whatsapp", "result": "interested", "contact": true, "interaction_notes": "Cliente respondeu positivamente e demonstrou interesse em seguro" }'{
"id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"message": "SDR interaction created successfully"
}{
"statusCode": 400,
"message": "Either phone or session_id must be provided",
"error": "Bad Request"
}{
"statusCode": 401,
"message": "Unauthorized"
}Get client info by session ID
Returns client information by session ID with LEFT JOIN to Person and Sell tables. Includes phone extraction, status calculation, and sales aggregation. Returns fallback values when person not found.
Update SDR interaction status
Permite que sistemas externos (backoffice) atualizem o status das interações SDR usando telefone ou CPF como identificador. **Autenticação:** - Requer API Key via header `X-API-KEY` ou `Authorization: Bearer {key}` - NÃO usa JWT (endpoint externo) **Identificadores Suportados:** - `phone`: Número de telefone brasileiro (aceita: 5511999999999, 11999999999, (11) 99999-9999) - `cpf`: CPF do cliente (aceita: 12345678901, 123.456.789-01) **Status Disponíveis:** - `interested`: Lead demonstrou interesse - `not_interested`: Lead não demonstrou interesse - `no_response`: Sem resposta do lead - `callback_requested`: Lead solicitou retorno - `converted`: Lead convertido em cliente **Comportamento:** - Busca a pessoa pelo identificador (telefone ou CPF) - Localiza a interação SDR mais recente para essa pessoa - Atualiza o status da interação - Se notes fornecido, concatena em interaction_notes com timestamp - Mantém histórico (não sobrescreve notes anteriores)