Ana içeriğe geç

Which connected channels can reach this contact

GET 

/api/contacts/:contact/reachability

Every channel this tenant has connected and this agent may work, with what may be done with THIS contact on each of them and — when nothing — why not.

The answer is COMPUTED PER REQUEST from the contact's addresses against each channel's address kind. It is deliberately not a stored flag: a has_whatsapp column is correct the day it is written and silently wrong afterwards, and its only symptom is an agent's message landing nowhere.

One channel can produce two rows — a WhatsApp number carries both a conversation and a call, and those are two different permissions. medium says which row is which. Voice rows are App\Voice\CallAffordanceResolver's own answer, translated and not re-decided, so this endpoint and GET /api/calls/lines cannot disagree.

Channels whose customer id is minted by the platform (Messenger, Instagram, Telegram, LINE, Viber, WeChat, Zalo, X, Apple Messages for Business, TikTok, Slack) appear with action: none and reason: inbound_only. That is not a gap to be filled later: none of those ids can be derived from a phone number or an email address, by us or by anybody, so the customer has to write first. Comment/review surfaces and the internal sources are not listed at all.

Requires Contact view.

Request​

Responses​

One row per channel (per medium).