POST /ticket que tenta encontrar o cliente CRM pelo contatocrm.contact_search) e, se não achar, cria um customer + contact novo no CRMcrm.contact + crm.customer.crmcrm é opcional (sem ele, ticket fica sem cliente — funciona).crm.contact_search é opcional — quando preenchido, busca registro existente.crm.contact + crm.customer: se um for preenchido, AMBOS são obrigatórios.DDI + DDD + número (ex.: 5511988884444). E-mails: padrão.crm.contact| Campo | Valores aceitos |
|---|---|
tipo_contato | email ou phone |
canal_contato (int) | 2=WhatsApp, 3=SMS, 4=E-mail, 6=Telefone, 9=Telegram, 12=RCS |
contato (string) | Valor do contato (telefone formatado ou email) |
crm.customer| Campo | Falha se ausente |
|---|---|
ativo (boolean) | o campo 'Ativo' é obrigatório e deve ser preenchido |
cpf_cnpj (string, só dígitos) | 400 informando que CPF/CNPJ é obrigatório |
id e id_seq, e eles não são intercambiáveis:| Identificador | Formato | Onde se usa |
|---|---|---|
id | UUID | /ticket/message, /ticket/finish, /ticket/link_customer, /ticket/info/{id} |
id_seq | inteiro | Coluna id_ticket das tabelas do CRM (negociacao e afins) |
id_seq não devolve erro, mas o registro fica invisível para a plataforma.