> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # GetConversation # Package: inbox # Namespace: ConversationsService # Method link: https://dev.wix.com/docs/api-reference/crm/communication/inbox/conversations/get-conversation.md ## Permission Scopes: Read Inbox Messages: SCOPE.DC-INBOX.READ-MSGS ## Introduction Retrieves a conversation by conversation ID. If you don't have the conversation ID, use Get Or Create Conversation in the Conversations API to retrieve the conversation with the visitor, contact, or member ID. --- ## REST API ### Schema ``` Method: getConversation Description: Retrieves a conversation by conversation GUID. If you don't have the conversation GUID, use Get Or Create Conversation in the Conversations API to retrieve the conversation with the visitor, contact, or member GUID. URL: https://www.wixapis.com/inbox/v2/conversations/{conversationId} Method: GET # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: conversationId Method parameters: param name: conversationId | type: none | required: true Return type: GetConversationResponse - name: conversation | type: Conversation | description: Retrieved conversation. - name: id | type: string | description: Conversation GUID. - name: participant | type: IdentificationData | description: GUID of the visitor, contact, or member who is chatting with the business. - ONE-OF: - name: anonymousVisitorId | type: string | description: GUID of an anonymous site visitor. - name: memberId | type: string | description: Member GUID. See the Members API for more information. - name: contactId | type: string | description: Contact GUID. See the Contacts API for more information. - name: businessDisplayData | type: ConversationDisplayData | description: Display name and avatar for the business. - name: name | type: string | description: Display name. - name: imageUrl | type: string | description: Avatar image URL. - name: participantDisplayData | type: ConversationDisplayData | description: Display name and avatar for the visitor, contact, or member. Possible Errors: HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: CONVERSATION_NOT_FOUND | Description: Conversation not found. HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: NOT_OWNED_BY_BUSINESS | Description: Conversation isn't owned by the business. ``` ### Examples ### GetConversation ```curl ~~~cURL curl -X POST \ 'https://www.wixapis.com/inbox/v2/conversations' \ -H 'Authorization: ' \ -d '{ "participantId": { "anonymousVisitorId": "40096143-3643-4cc1-8329-30a7fc2c595e" } }' ~~~ ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.inbox.ConversationsService.getConversation(conversationId) Description: Retrieves a conversation by conversation GUID. If you don't have the conversation GUID, use Get Or Create Conversation in the Conversations API to retrieve the conversation with the visitor, contact, or member GUID. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: conversationId Method parameters: param name: conversationId | type: string | description: Conversation GUID. | required: true Return type: PROMISE - name: _id | type: string | description: Conversation GUID. - name: participant | type: IdentificationData | description: GUID of the visitor, contact, or member who is chatting with the business. - ONE-OF: - name: anonymousVisitorId | type: string | description: GUID of an anonymous site visitor. - name: memberId | type: string | description: Member GUID. See the Members API for more information. - name: contactId | type: string | description: Contact GUID. See the Contacts API for more information. - name: businessDisplayData | type: ConversationDisplayData | description: Display name and avatar for the business. - name: name | type: string | description: Display name. - name: imageUrl | type: string | description: Avatar image URL. - name: participantDisplayData | type: ConversationDisplayData | description: Display name and avatar for the visitor, contact, or member. Possible Errors: HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: CONVERSATION_NOT_FOUND | Description: Conversation not found. HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: NOT_OWNED_BY_BUSINESS | Description: Conversation isn't owned by the business. ``` ### Examples ### Get a conversation (with elevated permissions) ```javascript import { conversations } from '@wix/inbox'; import { auth } from '@wix/essentials'; /* Sample conversationID value: '092d1135-99cf-3ca9-a0bf-378e1df4539b' */ const elevatedGetConversation = auth.elevate(conversations.getConversation); export async function myGetConversationFunction(conversationId) { try { const conversationObject = await elevatedGetConversation(conversationId); const channels = conversationObject.channels; const firstChannel = conversationObject.channels[0]; const businessName = conversationObject.businessDisplayData.name; return conversationObject; } catch (error) { console.error(error); //Handle the error } } /* Promise resolves to: * { * "conversation": { * "_id": "6fd2b962-dd8f-382f-8d27-ae63f188c939", * "businessDisplayData": { * "name": "Tim's Cookies" * }, * "channels": [ * "CHAT", * "EMAIL" * ], * "participant": { * "contactId": "9e668c08-8bdb-4240-babb-8176935f6f78" * }, * "participantDisplayData": { * "name": "jsmith@example.com" * } * } * } */ ``` ### Get a conversation ```javascript import { conversations } from '@wix/inbox'; /* Sample conversationID value: '092d1135-99cf-3ca9-a0bf-378e1df4539b' */ export async function myGetConversationFunction(conversationId) { try { const conversationObject = await conversations.getConversation(conversationId); const channels = conversationObject.channels; const firstChannel = conversationObject.channels[0]; const businessName = conversationObject.businessDisplayData.name; return conversationObject; } catch (error) { console.error(error); //Handle the error } } /* Promise resolves to: * { * "conversation": { * "_id": "6fd2b962-dd8f-382f-8d27-ae63f188c939", * "businessDisplayData": { * "name": "Tim's Cookies" * }, * "channels": [ * "CHAT", * "EMAIL" * ], * "participant": { * "contactId": "9e668c08-8bdb-4240-babb-8176935f6f78" * }, * "participantDisplayData": { * "name": "jsmith@example.com" * } * } * } */ ``` ### getConversation (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { conversations } from '@wix/inbox'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { conversations }, // Include the auth strategy and host as relevant }); async function getConversation(conversationId) { const response = await myWixClient.conversations.getConversation(conversationId); }; ``` ---