Endpoint'ler
Contacts
Create, find, update, tag, stage and merge the people your business talks to.
Yollar temel URL'ye göredir. Her kart, çağrının gerektirdiği izni ve her parametreyi türü ve sınırlarıyla listeler.
/contactsSearch contacts, newest first.
Sorgu parametreleri
- qisteğe bağlıstring
Free-text search across name, email, phone, WhatsApp number, notes and Instagram username. Every word must match. Up to 200 characters.
- phoneisteğe bağlıstring
Exact phone or WhatsApp number match.
- emailisteğe bağlıstring
Exact email match.
- tagisteğe bağlıstring
Contacts that carry this tag (case-insensitive).
- stage_idisteğe bağlıinteger
Contacts in this funnel stage.
- assigned_to_user_idisteğe bağlıstring
Contacts owned by this team member.
- channelisteğe bağlıenum
Contacts that came from this channel.
İzin verilen değerler:
instagramfacebooktiktokwhatsapptelegramemailwidgetapivoicesms - updated_sinceisteğe bağlıstring (ISO 8601 date-time with offset)
Contacts updated at or after this time.
/contacts/lookupFind one contact by phone, email or channel username. Send at least one of phone, email or handle.
Sorgu parametreleri
- phoneisteğe bağlıstring
Phone or WhatsApp number.
- emailisteğe bağlıstring
Email address.
- handleisteğe bağlıstring
Channel username, with or without "@".
- channelisteğe bağlıenum
Limit the handle search to one channel.
İzin verilen değerler:
instagramtiktoktelegramwhatsapp
- Answers 404 not_found when nothing matches. When several contacts match, the oldest one is returned.
/contactsCreate a contact.
JSON gövdesi
- first_nameisteğe bağlıstring | null
1–100 characters.
- last_nameisteğe bağlıstring | null
1–100 characters.
- emailisteğe bağlıstring | null
Valid email address, up to 320 characters. Stored lowercase.
- phoneisteğe bağlıstring | null
3–50 characters. E.164 (+14155550123) recommended.
- whatsapp_phoneisteğe bağlıstring | null
WhatsApp number, 3–50 characters.
- instagram_usernameisteğe bağlıstring | null
Up to 100 characters. A leading "@" is removed.
- tiktok_usernameisteğe bağlıstring | null
Up to 100 characters. A leading "@" is removed.
- telegram_usernameisteğe bağlıstring | null
Up to 100 characters. A leading "@" is removed.
- country_codeisteğe bağlıstring
Two-letter ISO 3166-1 country code, e.g. "US".
- custom_fieldsisteğe bağlıobject
Custom field values keyed by custom field key (see GET /custom-fields). Merged into existing values. Unknown, archived or wrongly typed keys answer 422.
- sourceisteğe bağlıstring
Where the contact came from, up to 50 characters. Default "api".
- tagsisteğe bağlıarray of strings
Up to 100 tag names (1–80 characters each). Tags that do not exist yet are added to the workspace.
- stage_idisteğe bağlıinteger
Funnel stage to place the contact in (see GET /funnels).
- assigned_to_user_idisteğe bağlıstring
Team member who owns the contact (see GET /users).
- Answers 201 with the contact.
/contacts/upsertUpdate the matching contact, or create it. Matches by phone (or whatsapp_phone), then email, then Instagram, TikTok or Telegram username.
JSON gövdesi
- first_nameisteğe bağlıstring | null
1–100 characters.
- last_nameisteğe bağlıstring | null
1–100 characters.
- emailisteğe bağlıstring | null
Valid email address, up to 320 characters. Stored lowercase.
- phoneisteğe bağlıstring | null
3–50 characters. E.164 (+14155550123) recommended.
- whatsapp_phoneisteğe bağlıstring | null
WhatsApp number, 3–50 characters.
- instagram_usernameisteğe bağlıstring | null
Up to 100 characters. A leading "@" is removed.
- tiktok_usernameisteğe bağlıstring | null
Up to 100 characters. A leading "@" is removed.
- telegram_usernameisteğe bağlıstring | null
Up to 100 characters. A leading "@" is removed.
- country_codeisteğe bağlıstring
Two-letter ISO 3166-1 country code, e.g. "US".
- custom_fieldsisteğe bağlıobject
Custom field values keyed by custom field key (see GET /custom-fields). Merged into existing values. Unknown, archived or wrongly typed keys answer 422.
- sourceisteğe bağlıstring
Where the contact came from, up to 50 characters. Default "api".
- tagsisteğe bağlıarray of strings
Up to 100 tag names (1–80 characters each). Tags that do not exist yet are added to the workspace.
- stage_idisteğe bağlıinteger
Funnel stage to place the contact in (see GET /funnels).
- assigned_to_user_idisteğe bağlıstring
Team member who owns the contact (see GET /users).
- Send at least a phone, email or channel username to match on (422 otherwise).
- Answers { object: "contact_upsert", created, contact }: 201 when created, 200 when updated.
/contacts/mergeMerge a duplicate contact into another. The secondary contact's records (conversations, bookings, orders and more) move to the primary one.
JSON gövdesi
- primary_contact_idzorunluinteger
The contact that stays.
- secondary_contact_idzorunluinteger
The duplicate that is merged away. Must differ from primary_contact_id.
/contacts/:idRetrieve a contact, including tags, stage, assignee and custom fields.
Yol parametreleri
- idzorunluinteger
Contact ID.
/contacts/:idUpdate contact fields. Fields you leave out keep their value; null clears a field.
Yol parametreleri
- idzorunluinteger
Contact ID.
JSON gövdesi
- first_nameisteğe bağlıstring | null
1–100 characters.
- last_nameisteğe bağlıstring | null
1–100 characters.
- emailisteğe bağlıstring | null
Valid email address, up to 320 characters. Stored lowercase.
- phoneisteğe bağlıstring | null
3–50 characters. E.164 (+14155550123) recommended.
- whatsapp_phoneisteğe bağlıstring | null
WhatsApp number, 3–50 characters.
- instagram_usernameisteğe bağlıstring | null
Up to 100 characters. A leading "@" is removed.
- tiktok_usernameisteğe bağlıstring | null
Up to 100 characters. A leading "@" is removed.
- telegram_usernameisteğe bağlıstring | null
Up to 100 characters. A leading "@" is removed.
- country_codeisteğe bağlıstring
Two-letter ISO 3166-1 country code, e.g. "US".
- custom_fieldsisteğe bağlıobject
Custom field values keyed by custom field key (see GET /custom-fields). Merged into existing values. Unknown, archived or wrongly typed keys answer 422.
/contacts/:idDelete a contact and the data derived from it, the same way a delete in the app does.
Yol parametreleri
- idzorunluinteger
Contact ID.
/contacts/:id/channelsList the channel identities a contact can be reached on.
Yol parametreleri
- idzorunluinteger
Contact ID.
/contacts/:id/tagsAdd tags to a contact. Tags that do not exist yet are added to the workspace.
Yol parametreleri
- idzorunluinteger
Contact ID.
JSON gövdesi
- tagszorunluarray of strings
1–100 tag names, 1–80 characters each.
/contacts/:id/tagsRemove tags from a contact (case-insensitive). The tags stay in the workspace.
Yol parametreleri
- idzorunluinteger
Contact ID.
JSON gövdesi
- tagszorunluarray of strings
1–100 tag names.
/contacts/:id/stageMove a contact to a funnel (lifecycle) stage.
Yol parametreleri
- idzorunluinteger
Contact ID.
JSON gövdesi
- stage_idzorunluinteger
Target stage (see GET /funnels).
- funnel_idisteğe bağlıinteger
Optional check: the stage must belong to this funnel.
/contacts/:id/stageRemove the contact from its lifecycle stage.
Yol parametreleri
- idzorunluinteger
Contact ID.
/contacts/:id/assigneeAssign the contact to a team member, or unassign it.
Yol parametreleri
- idzorunluinteger
Contact ID.
JSON gövdesi
- user_idisteğe bağlıstring | null
A user from GET /users. Omit or send null to unassign.
/contacts/:id/notesList the internal notes on a contact, newest first.
Yol parametreleri
- idzorunluinteger
Contact ID.
/contacts/:id/notesAdd an internal note to a contact. Customers never see notes.
Yol parametreleri
- idzorunluinteger
Contact ID.
JSON gövdesi
- bodyzorunlustring
1–10,000 characters.
/contacts/:id/dncTurn do-not-contact on or off for a contact.
Yol parametreleri
- idzorunluinteger
Contact ID.
JSON gövdesi
- do_not_contactzorunluboolean
true opts the contact out of messages.
- reasonisteğe bağlıstring
Up to 200 characters.
/funnelsList funnels with their stages, for use with stage_id.
Sorgu parametreleri
- flatisteğe bağlıstring
"true" returns one row per stage (funnel name › stage name) instead of nested funnels.