POST/crm/card/move-by-phone

Mover por telefone

Veja como mover por telefone, com parâmetros e exemplos de requisição e resposta na API do iHelp.

POSThttps://apiv3.ihelpchat.com/api/v2/crm/card/move-by-phone

Endpoint de integração

Move os cards de um contato sem precisar conhecer o cardId. É o caminho mais direto para automações que só têm o número de telefone em mãos.

POST

https://apiv3.ihelpchat.com/api/v2/crm/card/move-by-phone

Body (JSON):

{
  "phoneNumber": "5517981259808",
  "funnelId": 12,
  "stageId": 102,
  "forceAll": false,
  "description": "Movido pelo bot de qualificação"
}
CampoTipoObrigatórioDescrição
phoneNumberstringsimTelefone do contato, com DDI e DDD
stageIdintsimEtapa de destino. Precisa ser maior que zero.
funnelIdintnãoRestringe a movimentação aos cards deste funil. Sem ele, considera todos os cards do contato.
forceAllboolnãotrue confirma o movimento mesmo com campos ou tarefas obrigatórias pendentes. Padrão false.
descriptionstringnãoTexto registrado no histórico de cada card movido

Resposta 200 OK:

Array com uma entrada por card avaliado.

[
  {
    "cardId": 8821,
    "businessId": 3,
    "previousStageId": 101,
    "currentStageId": 102,
    "estimatedValue": 4500.00,
    "moved": true,
    "message": null
  },
  {
    "cardId": 8830,
    "businessId": 3,
    "previousStageId": 103,
    "currentStageId": 103,
    "estimatedValue": 0,
    "moved": false,
    "message": "Campos obrigatórios pendentes"
  }
]
CampoSignificado
movedtrue se o card foi efetivamente movido
messageMotivo quando moved: false
previousStageId / currentStageIdEtapa antes e depois. Iguais quando o card não se moveu.

Verifique `moved` em cada item

O status 200 só indica que a chamada foi processada. Cards individuais podem não ter se movido, sempre percorra o array conferindo moved.

Erros

HTTPQuando
400phoneNumber vazio, stageId menor ou igual a zero, ou etapa de destino inativa/excluída
401Token ausente, inválido ou expirado
409Conflito de concorrência. Vem com header Retry-After: 1, repita a chamada

Contrato de erro diferente

Ao contrário de Mover card, este endpoint responde 400 com a mensagem de erro em texto quando a etapa de destino está inativa, sem o corpo { "error": "stage_inactive" }.