Contatos
Buscar contato por celular ou e-mail
https://api.picchat.com.br/contacts/findBusca um contato da conta pelo celular e/ou e-mail (pelo menos um), com a mesma normalização do create-or-update, e devolve o registro com as propriedades num mapa properties ({ internal_name: valor }). Em propriedades de seleção o valor é o internal_name da opção. Contato inexistente responde 200 com corpo vazio (não 404). Sem mobilephone nem email a API responde 500. Se os dois vierem e casarem com contatos diferentes, volta um deles, sem ordem garantida.
Parâmetros de consulta (query)
mobilephonestringCelular em qualquer formato (só os dígitos contam; DDI 55 é adicionado quando faltar).
emailstringE-mail (sem diferenciar maiúsculas).
propertiesstringLista separada por vírgula de `internal_name` para limitar as propriedades devolvidas. Omitido, devolve todas.
Respostas
200Contato encontrado (ou corpo vazio quando não existe).
idstring (uuid)ID do contato (UUID v7).
first_namestring | nullNome.
last_namestring | nullSobrenome.
statusstring | nullStatus livre do contato.
emailstring | nullE-mail, sempre em minúsculas.
mobilephonestring | nullCelular só com dígitos e DDI (ex.: 5511999990000), ou ID de grupo.
is_marketingboolean | nullAceita comunicação de marketing.
opt_outboolean | nullPediu para não receber mais mensagens.
is_groupboolean | nullÉ um grupo de WhatsApp.
descriptionstring | nullDescrição livre.
account_idstring (uuid)Conta dona do contato (a do token).
user_idstring (uuid) | nullUsuário responsável; esta rota grava sempre null em contatos novos.
imagestring | nullURL da foto.
font_detailstring | nullDetalhe livre da origem (ex.: nome do formulário).
fontstringOrigem do contato. Valor fora da lista derruba a requisição com 500.
referralsorganic_searchofflinesocial_mediapaid_searchpaid_socialemail_marketingother_campaignsdirect_trafficdirect_insertionimportationnumberValidboolean | nullMarcação de número validado (padrão false = "não validado", não "inválido").
invalid_numberboolean | nullNúmero marcado como inválido pela plataforma.
invalid_emailboolean | nullE-mail com bounce permanente.
emailValidboolean | nullMarcação de e-mail validado (padrão false = "não validado").
deletedboolean | nullContato excluído.
is_verified_userboolean | nullUsado por canais do Instagram.
follower_countinteger | nullUsado por canais do Instagram.
userNamestring | nullUsuário no Instagram.
is_user_follow_businessboolean | nullUsado por canais do Instagram.
is_business_follow_userboolean | nullUsado por canais do Instagram.
insta_idstring | nullID no Instagram.
wa_group_idstring | nullID do grupo na Cloud API (só grupos).
wa_invite_linkstring | nullLink de convite do grupo (só grupos).
created_atstring (date-time)Criação.
updated_atstring (date-time)Última atualização.
propertiesobjectMapa `{ internal_name: valor }`. Em propriedades de seleção o valor é o `internal_name` da opção escolhida.
403Foi enviado um `account_id` (query ou corpo) diferente da conta do token.
498Token ausente, inválido, de conta inexistente ou revogado. Status não padrão (498), usado em toda a API.
500Nem `mobilephone` nem `email` informados (ou celular em formato não reconhecido).