Conversation ID
Conversation participants are assigned IDs based on whether they've provided contact information or registered as a site member. The typical lifecycle is anonymous visitor > contact > site member, although it's possible to skip a step or to become a contact and site member at the same time.
Type | ID property | Details |
---|---|---|
Anonymous visitor | anonymousVisitorId | When the participant first opens the site, they're an anonymous visitor. |
Contact | contactId |
|
Member | memberId |
|
Behind the scenes, when a participant changes type, a new conversation is created and the previous conversation is merged into the new one. Before sending a message, you can ensure you're using the most current conversation ID by calling Get or Create Conversation with the participant's visitor, contact, or member ID.
The sections below tell you how your app can get the relevant ID to use the Inbox API.
Anonymous visitor ID
Anonymous visitor IDs are available to your app
only after the visitor sends a message to the business using the
Message Sent To Business Webhook.
The ID is available at actionEvent.body.message.sender.anonymousVisitorId
.
Contact ID
When a visitor provides contact details to the site, they're converted to a contact. Once this happens, the ID used to access the visitor's conversations changes to the contact ID:
- Like the anonymous visitor,
the contact ID is available when the contact sends a message to the business
using the Message Sent To Business Webhook.
The ID is available at
actionEvent.body.message.sender.contactId
. - You can also use Query Contacts or List Contacts in the Contacts API to retrieve the contact.
Member ID
If the visitor is a site member, the conversation must be accessed using the member ID:
- Like the anonymous visitor and contact,
the member ID is available when the contact sends a message to the business
using the Message Sent To Business Webhook.
The ID is available at
actionEvent.body.message.sender.memberId
. - You can also use Query Members or List Members in the Members API to retrieve the member.
This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Retrieves a conversation by conversation ID.
If you don't have the conversation ID, use Get Or Create Conversation to retrieve the conversation with the visitor, contact, or member ID.
Permission Scopes
For app development, you must have one of the following permission scopes:This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Retrieves a conversation for the specified visitor, contact, or member ID, or creates one if it doesn't exist.
Permission Scopes
For app development, you must have one of the following permission scopes:This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.
Triggered when the conversation is merged, for example when contacts are merged or when a visitor becomes a contact.
If messages exist in both conversations when they merge, the messages are preserved in chronological order.