{
    "componentChunkName": "component---src-templates-markdown-tsx",
    "path": "/guides/GoToConnect/18_HOW_useMessagingV2Api/",
    "result": {"data":{"markdownRemark":{"html":"<h1>How to send messages and receive notifications with the Messaging API v2</h1>\n<p>The <a href=\"../../../GoToConnect#tag/Messaging-V2-Overview\">GoToConnect Messaging API v2</a> allows applications to send messages across any type\nof inbox (shared or private) on any supported channel including SMS, WhatsApp, Facebook Messenger, Instagram, Email, and Web Chat.</p>\n<p>In this guide, you will learn how to:</p>\n<ol>\n<li>Obtain an access token with the required scopes.</li>\n<li>Send messages on each supported channel using ready-to-use <code>curl</code> examples.</li>\n<li>Set up a webhook subscription to receive messaging events in real time.</li>\n</ol>\n<h2>Prerequisites</h2>\n<p>This article assumes you can make API calls successfully which requires:</p>\n<ul>\n<li>A <a href=\"/guides/Get%20Started/01_HOW_developerAccount\">GoTo Developer account</a></li>\n<li>An <a href=\"/guides/Get%20Started/02_HOW_createClient\">OAuth client</a></li>\n<li>An <a href=\"/guides/Authentication/03_HOW_accessToken\">access token</a></li>\n</ul>\n<h3>Authentication Scopes</h3>\n<table>\n<thead>\n<tr>\n<th>Scope</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>messaging.v1.send</code></td>\n<td>Send messages through the API</td>\n</tr>\n<tr>\n<td><code>messaging.v1.read</code></td>\n<td>Read messages, templates, and attachments</td>\n</tr>\n<tr>\n<td><code>messaging.v1.notifications.manage</code></td>\n<td>Manage notifications for messages and attachments</td>\n</tr>\n</tbody>\n</table>\n<p>When creating your OAuth client or Personal Access Token, ensure <strong>at minimum</strong> the\n<code>messaging.v1.send</code> scope is enabled to follow the sending examples below. The\n<code>messaging.v1.read</code> scope is required for the <a href=\"#retrieving-attachments\">Retrieving Attachments</a>\nsection. The <code>messaging.v1.notifications.manage</code> scope is required for the\n<a href=\"#receiving-events-with-webhook-notifications\">webhook notifications</a> section of this guide.</p>\n<blockquote>\n<p><strong>Note:</strong> The Messaging API v2 accepts the same scopes as Messaging API v1.\nExisting integrations do not need to re-authorize.</p>\n</blockquote>\n<h3>Usage Guidelines</h3>\n<p>The Messaging API assumes clients are implemented in such a way that unknown attributes are ignored. The addition of new response attributes may occur at any time, for any API response, without prior notice. This is not considered a break in backward-compatibility.</p>\n<h3>Permissions &#x26; Touchpoint Configuration</h3>\n<p>Before sending messages, ensure the caller has the appropriate permissions for the touchpoint used in the <code>from</code> field:</p>\n<ul>\n<li><strong>Shared inbox (SMS/MMS, Web Chat, Email, WhatsApp, Facebook, Instagram):</strong> A phone number must be <a href=\"https://support.goto.com/connect/help/enable-texting-for-an-inbox-or-phone-number\">assigned to an inbox</a> by an administrator. All users with the appropriate role on the inbox can then send and receive messages from that number in a shared environment.</li>\n<li><strong>Private phone number (SMS/MMS):</strong> An administrator must <a href=\"https://support.goto.com/connect/help/enable-texting-for-an-inbox-or-phone-number\">grant texting permissions</a> directly on the phone number for the user. Without this, the API returns a <code>403 Forbidden</code> error.</li>\n</ul>\n<blockquote>\n<p>Contact your GoTo account administrator to verify these permissions are in place\nbefore integrating.</p>\n</blockquote>\n<h2>Sending Messages</h2>\n<p>This section provides a copy-pasteable <code>curl</code> example for sending a message on each\nsupported channel. All examples use the\n<a href=\"../../../GoToConnect#tag/Messages\"><code>POST /accounts/{accountKey}/messages</code></a> endpoint\nwith <code>multipart/form-data</code> encoding.</p>\n<blockquote>\n<p><strong>Conversation handling:</strong> In most cases, you do not need to specify a\n<code>conversationId</code>. The API automatically adds sent messages to an existing open\nconversation between the owner touchpoint and contact touchpoints, or creates a new\nconversation under the inbox where the owner touchpoint is configured.</p>\n</blockquote>\n<p>Replace <code>{ACCESS_TOKEN}</code> with your Bearer token and <code>{accountKey}</code> with your GoTo\naccount key. Your account key can be retrieved via the\n<a href=\"https://developer.goto.com/admin#tag/Me/operation/Get%20Me\">Get Me</a> endpoint.</p>\n<h3>SMS — Plain Text</h3>\n<p>Send a simple text message to a single phone number.</p>\n<p><strong>Touchpoint format:</strong> <code>from</code> and <code>to</code> must be E.164 phone numbers starting with <code>+</code>.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> <span class=\"token parameter variable\">-X</span> POST <span class=\"token string\">'https://api.goto.com/messaging/v2/accounts/{accountKey}/messages'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-H</span> <span class=\"token string\">'Authorization: Bearer {ACCESS_TOKEN}'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-F</span> <span class=\"token string\">'request={\n    \"channel\": \"SMS\",\n    \"from\": \"+15145551111\",\n    \"to\": [\"+15145552222\"],\n    \"type\": \"simple\",\n    \"components\": [{\n      \"type\": \"body\",\n      \"components\": [{\n        \"type\": \"text\",\n        \"attributes\": { \"text\": \"Hello from GoTo!\" }\n      }]\n    }]\n  };type=application/json'</span></code></pre></div>\n<h3>SMS — MMS with Attachment</h3>\n<p>Send a picture message by adding an <code>attachments</code> part. The <code>attachmentName</code> in the\nrequest must match the filename in the form part.</p>\n<p><strong>Touchpoint format:</strong> Same as SMS plain text — E.164 phone numbers.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> <span class=\"token parameter variable\">-X</span> POST <span class=\"token string\">'https://api.goto.com/messaging/v2/accounts/{accountKey}/messages'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-H</span> <span class=\"token string\">'Authorization: Bearer {ACCESS_TOKEN}'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-F</span> <span class=\"token string\">'request={\n    \"channel\": \"SMS\",\n    \"from\": \"+15145551111\",\n    \"to\": [\"+15145552222\"],\n    \"type\": \"simple\",\n    \"components\": [{\n      \"type\": \"body\",\n      \"components\": [{\n        \"type\": \"text\",\n        \"attributes\": { \"text\": \"Check out this photo!\" }\n      }, {\n        \"type\": \"image\",\n        \"attributes\": { \"attachmentName\": \"photo.jpg\" }\n      }]\n    }]\n  };type=application/json'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-F</span> <span class=\"token string\">'attachments=@photo.jpg;type=image/jpeg'</span></code></pre></div>\n<blockquote>\n<p>SMS supports text and attachments combined in a single message. Max total attachment size: 2 MB.</p>\n</blockquote>\n<h3>SMS — Group MMS</h3>\n<p>Send a message to multiple recipients (up to 10) by adding more entries to the <code>to</code> array.</p>\n<p><strong>Touchpoint format:</strong> E.164 phone numbers.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> <span class=\"token parameter variable\">-X</span> POST <span class=\"token string\">'https://api.goto.com/messaging/v2/accounts/{accountKey}/messages'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-H</span> <span class=\"token string\">'Authorization: Bearer {ACCESS_TOKEN}'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-F</span> <span class=\"token string\">'request={\n    \"channel\": \"SMS\",\n    \"from\": \"+15145551111\",\n    \"to\": [\"+15145552222\", \"+15145553333\", \"+15145554444\"],\n    \"type\": \"simple\",\n    \"components\": [{\n      \"type\": \"body\",\n      \"components\": [{\n        \"type\": \"text\",\n        \"attributes\": { \"text\": \"Hey team, meeting at 3pm!\" }\n      }]\n    }]\n  };type=application/json'</span></code></pre></div>\n<blockquote>\n<p>SMS is the only channel that supports multiple recipients per message (up to 10).</p>\n</blockquote>\n<h3>WhatsApp — Simple Text</h3>\n<p>Send a plain text message on WhatsApp. If the contact has messaged you within the last\n24 hours, a simple message can be sent. Otherwise, a template message is required (see\nthe WhatsApp Outbound Messaging section of the\n<a href=\"../../../GoToConnect#tag/Messaging-V2-Overview\">Messaging API v2 reference</a>).</p>\n<p><strong>Touchpoint format:</strong> <code>from</code> is the numeric Meta WhatsApp phone number ID (not E.164).\n<code>to</code> is the contact's E.164 phone number or BSUID (Business-Scoped User ID).</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> <span class=\"token parameter variable\">-X</span> POST <span class=\"token string\">'https://api.goto.com/messaging/v2/accounts/{accountKey}/messages'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-H</span> <span class=\"token string\">'Authorization: Bearer {ACCESS_TOKEN}'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-F</span> <span class=\"token string\">'request={\n    \"channel\": \"WHATSAPP\",\n    \"from\": \"137169456416846\",\n    \"to\": [\"+15145552222\"],\n    \"type\": \"simple\",\n    \"components\": [{\n      \"type\": \"body\",\n      \"components\": [{\n        \"type\": \"text\",\n        \"attributes\": { \"text\": \"Thanks for reaching out! How can I help?\" }\n      }]\n    }]\n  };type=application/json'</span></code></pre></div>\n<blockquote>\n<p>WhatsApp does not support text and attachments combined. Send them as separate messages.</p>\n</blockquote>\n<h3>WhatsApp — Attachment</h3>\n<p>Send an attachment message (image, video, audio, or document) on WhatsApp.\nInclude the file as an <code>attachments</code> part and reference it by name in <code>attachmentName</code>.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> <span class=\"token parameter variable\">-X</span> POST <span class=\"token string\">'https://api.goto.com/messaging/v2/accounts/{accountKey}/messages'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-H</span> <span class=\"token string\">'Authorization: Bearer {ACCESS_TOKEN}'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-F</span> <span class=\"token string\">'request={\n    \"channel\": \"WHATSAPP\",\n    \"from\": \"137169456416846\",\n    \"to\": [\"+15145552222\"],\n    \"type\": \"simple\",\n    \"components\": [{\n      \"type\": \"body\",\n      \"components\": [{\n        \"type\": \"image\",\n        \"attributes\": {\n          \"attachmentName\": \"photo.jpg\",\n          \"caption\": \"Check out this image!\"\n        }\n      }]\n    }]\n  };type=application/json'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-F</span> <span class=\"token string\">'attachments=@photo.jpg;type=image/jpeg'</span></code></pre></div>\n<h3>Web Chat</h3>\n<p>Send a message to an active web chat session.</p>\n<p><strong>Touchpoint format:</strong> <code>from</code> is the Widget ID. <code>to</code> is the session identifier.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> <span class=\"token parameter variable\">-X</span> POST <span class=\"token string\">'https://api.goto.com/messaging/v2/accounts/{accountKey}/messages'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-H</span> <span class=\"token string\">'Authorization: Bearer {ACCESS_TOKEN}'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-F</span> <span class=\"token string\">'request={\n    \"channel\": \"WEB_CHAT\",\n    \"from\": \"d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90\",\n    \"to\": [\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"],\n    \"type\": \"simple\",\n    \"components\": [{\n      \"type\": \"body\",\n      \"components\": [{\n        \"type\": \"text\",\n        \"attributes\": { \"text\": \"Hello! An agent will be with you shortly.\" }\n      }]\n    }]\n  };type=application/json'</span></code></pre></div>\n<h3>Facebook Messenger</h3>\n<p>Send a message to a Facebook user who has previously messaged your page.</p>\n<p><strong>Touchpoint format:</strong> <code>from</code> is your Facebook Page ID. <code>to</code> is the page-scoped user ID.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> <span class=\"token parameter variable\">-X</span> POST <span class=\"token string\">'https://api.goto.com/messaging/v2/accounts/{accountKey}/messages'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-H</span> <span class=\"token string\">'Authorization: Bearer {ACCESS_TOKEN}'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-F</span> <span class=\"token string\">'request={\n    \"channel\": \"FACEBOOK\",\n    \"from\": \"102345678901234\",\n    \"to\": [\"567890123456789\"],\n    \"type\": \"simple\",\n    \"components\": [{\n      \"type\": \"body\",\n      \"components\": [{\n        \"type\": \"text\",\n        \"attributes\": { \"text\": \"Thanks for your message! We will get back to you soon.\" }\n      }]\n    }]\n  };type=application/json'</span></code></pre></div>\n<blockquote>\n<p>Facebook does not support outbound-first messaging. The contact must have messaged\nyour page first.</p>\n</blockquote>\n<h3>Instagram</h3>\n<p>Send a message to an Instagram user who has previously messaged your page.</p>\n<p><strong>Touchpoint format:</strong> <code>from</code> is your Instagram Page ID. <code>to</code> is the page-scoped user ID.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> <span class=\"token parameter variable\">-X</span> POST <span class=\"token string\">'https://api.goto.com/messaging/v2/accounts/{accountKey}/messages'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-H</span> <span class=\"token string\">'Authorization: Bearer {ACCESS_TOKEN}'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-F</span> <span class=\"token string\">'request={\n    \"channel\": \"INSTAGRAM\",\n    \"from\": \"17841400123456789\",\n    \"to\": [\"67890123456\"],\n    \"type\": \"simple\",\n    \"components\": [{\n      \"type\": \"body\",\n      \"components\": [{\n        \"type\": \"text\",\n        \"attributes\": { \"text\": \"Hi! Thanks for reaching out on Instagram.\" }\n      }]\n    }]\n  };type=application/json'</span></code></pre></div>\n<blockquote>\n<p>Instagram does not support outbound-first messaging. The contact must have messaged\nyour page first.</p>\n</blockquote>\n<h3>Email</h3>\n<p>Reply to an existing email conversation. Email requires a <code>conversationId</code> —\nyou can only send messages within an existing conversation.</p>\n<p><strong>Touchpoint format:</strong> <code>from</code> and <code>to</code> are email addresses.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> <span class=\"token parameter variable\">-X</span> POST <span class=\"token string\">'https://api.goto.com/messaging/v2/accounts/{accountKey}/messages'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-H</span> <span class=\"token string\">'Authorization: Bearer {ACCESS_TOKEN}'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-F</span> <span class=\"token string\">'request={\n    \"channel\": \"EMAIL\",\n    \"from\": \"support@example.com\",\n    \"to\": [\"customer@example.com\"],\n    \"conversationId\": \"987fcdeb-51a2-43d1-b789-123456789abc\",\n    \"type\": \"simple\",\n    \"components\": [{\n      \"type\": \"body\",\n      \"components\": [{\n        \"type\": \"text\",\n        \"attributes\": { \"text\": \"Thank you for contacting us. Your issue has been resolved.\" }\n      }]\n    }]\n  };type=application/json'</span></code></pre></div>\n<blockquote>\n<p>Email does not support outbound-first messaging. A conversation must already exist\nbefore you can send a message. Use the <code>conversationId</code> from the <code>INBOUND_MESSAGE</code>\nwebhook notification that fires when the customer's email arrives (see\n<a href=\"#receiving-events-with-webhook-notifications\">Receiving Events</a> below).</p>\n</blockquote>\n<blockquote>\n<p>Email supports text and attachments combined in a single message, with no size limits on\nattachments. Add files using the <code>-F 'attachments=@file;type=...'</code> syntax shown in\nthe WhatsApp attachment example above.</p>\n</blockquote>\n<h2>Receiving Events with Webhook Notifications</h2>\n<p>When a subscription is active, the Messaging service delivers real-time events to your\nwebhook as HTTP <code>POST</code> requests. See the\n<a href=\"../../../GoToConnect#tag/Notification-Channel-Overview\">Notification Channel overview</a>\nfor details on delivery semantics, retry behavior, and channel lifecycle.</p>\n<blockquote>\n<p><strong>Note:</strong> While this guide focuses on webhooks, the\n<a href=\"../../../GoToConnect#tag/Channels/operation/createChannel\">Notification Channel API</a>\nsupports additional channel types. Webhooks are recommended for server-to-server\nintegrations.</p>\n</blockquote>\n<p>All webhook notifications share the following envelope structure:</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"456e7890-e12b-34d5-a678-901234567890\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"source\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"inbox-notification\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"INBOUND_MESSAGE\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"usage\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"BACKGROUND\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:30:00Z\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"ttl\"</span><span class=\"token operator\">:</span> <span class=\"token number\">604800</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"accountKey\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9502350087451835131\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span> <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Where:</p>\n<ul>\n<li><code>id</code> is a unique identifier for this event.</li>\n<li><code>source</code> is always <code>inbox-notification</code>.</li>\n<li><code>type</code> identifies the event type. See below for all supported values.</li>\n<li><code>usage</code> is always <code>BACKGROUND</code>.</li>\n<li><code>timestamp</code> is the ISO 8601 time when the event was created.</li>\n<li><code>ttl</code> is the time-to-live for the event in seconds.</li>\n<li><code>content.accountKey</code> scopes the event to a specific account.</li>\n<li><code>content.payload</code> contains the event-specific data (see the Notification Event Reference below).</li>\n</ul>\n<blockquote>\n<p>Consumers should gracefully handle unknown <code>type</code> values. New event types may be added\nwithout prior notice.</p>\n</blockquote>\n<h3>Supported Event Types</h3>\n<table>\n<thead>\n<tr>\n<th>Event Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>INBOUND_MESSAGE</code></td>\n<td>A message was received from an external party.</td>\n</tr>\n<tr>\n<td><code>OUTBOUND_MESSAGE</code></td>\n<td>A message was sent to an external party.</td>\n</tr>\n<tr>\n<td><code>DELIVERY_STATUS</code></td>\n<td>The delivery status of a sent message changed (e.g. delivered, failed).</td>\n</tr>\n<tr>\n<td><code>INBOUND_REACTION</code></td>\n<td>A reaction was received on a message from an external party.</td>\n</tr>\n<tr>\n<td><code>OUTBOUND_REACTION</code></td>\n<td>A reaction was sent on a message to an external party.</td>\n</tr>\n</tbody>\n</table>\n<h2>Setting Up Notifications Step by Step</h2>\n<p>This walkthrough shows how to set up a webhook subscription and receive messaging\nevents end-to-end. Alice is a Super Admin for her organization (<code>accountKey: 9502350087451835131</code>). Her webhook is at <code>https://mycompany.com/sms-webhook</code>.</p>\n<h3>Step 1 — Create a Notification Channel</h3>\n<p>Follow the <a href=\"/guides/GoToConnect/14_HOW_useNotificationChannelApi\">How to create a channel and receiving notifications from GoTo services</a>\nguide to create a webhook channel and obtain a <code>channelId</code>. You will need it in the next step.</p>\n<h3>Step 2 — Create an Organization Subscription</h3>\n<p>Using the <code>channelId</code> obtained in Step 1, create a\n<a href=\"../../../GoToConnect#tag/Subscriptions\">subscription</a> that covers all touchpoints\nin Alice's organization. This only needs to be done once.</p>\n<blockquote>\n<p><strong>Note:</strong> This endpoint requires a <strong>Super Admin</strong> bearer token.</p>\n</blockquote>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> <span class=\"token parameter variable\">-X</span> POST <span class=\"token string\">\"https://api.goto.com/messaging/v2/subscriptions\"</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-H</span> <span class=\"token string\">\"Content-Type: application/json\"</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-H</span> <span class=\"token string\">\"Authorization: Bearer {ACCESS_TOKEN}\"</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-d</span> <span class=\"token string\">'{\n    \"accountKey\": \"9502350087451835131\",\n    \"ownerEntity\": \"9502350087451835131\",\n    \"ownerEntityType\": \"ORGANIZATION\",\n    \"channelId\": \"Webhook.cfeb8e9a-495c-4e48-b3bf-fe1b4cf1cf76\",\n    \"eventTypes\": [\"INBOUND_MESSAGE\", \"OUTBOUND_MESSAGE\", \"DELIVERY_STATUS\"]\n  }'</span></code></pre></div>\n<p>The <code>HTTP 201 Created</code> response confirms the subscription:</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"MTIzNDp4eXo=\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"ownerEntity\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9502350087451835131\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"ownerEntityType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ORGANIZATION\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"channelId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Webhook.cfeb8e9a-495c-4e48-b3bf-fe1b4cf1cf76\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"eventTypes\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"INBOUND_MESSAGE\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"OUTBOUND_MESSAGE\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"DELIVERY_STATUS\"</span><span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<blockquote>\n<p>The subscription is bound to the user who created it. If that user is deactivated or\nloses Super Admin privileges, notifications will stop. Re-create the subscription\nwith an active Super Admin if this occurs.</p>\n</blockquote>\n<h3>Step 3 — Receive an Inbound SMS</h3>\n<p>When Bob (+15559998888) sends a message to Alice (+15551234567), the webhook receives\nan <code>HTTP POST</code> with an <code>INBOUND_MESSAGE</code> notification:</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"456e7890-e12b-34d5-a678-901234567890\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"source\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"inbox-notification\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"INBOUND_MESSAGE\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"usage\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"BACKGROUND\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:30:00Z\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"ttl\"</span><span class=\"token operator\">:</span> <span class=\"token number\">604800</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"accountKey\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9502350087451835131\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"123e4567-e89b-12d3-a456-426614174000\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"conversationId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"987fcdeb-51a2-43d1-b789-123456789abc\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"direction\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"INBOUND\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"channel\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"SMS\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"ownerTouchpoint\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+15551234567\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"contactTouchpoints\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"+15559998888\"</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"authorTouchpoint\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+15559998888\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"body\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Hello Alice!\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"attachments\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span> <span class=\"token property\">\"count\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token property\">\"items\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:30:00Z\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Your webhook must respond with an <code>HTTP 2XX</code> (e.g. <code>204 No Content</code>).</p>\n<h3>Step 4 — Send an SMS Reply</h3>\n<p>Alice replies to Bob by sending a message via the API, as shown in the Sending Messages\nsection above:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> <span class=\"token parameter variable\">-X</span> POST <span class=\"token string\">\"https://api.goto.com/messaging/v2/accounts/9502350087451835131/messages\"</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-H</span> <span class=\"token string\">\"Authorization: Bearer {ACCESS_TOKEN}\"</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-F</span> <span class=\"token string\">'request={\n    \"channel\": \"SMS\",\n    \"from\": \"+15551234567\",\n    \"to\": [\"+15559998888\"],\n    \"type\": \"simple\",\n    \"components\": [{\n      \"type\": \"body\",\n      \"components\": [{\n        \"type\": \"text\",\n        \"attributes\": { \"text\": \"Hi Bob!\" }\n      }]\n    }]\n  };type=application/json'</span></code></pre></div>\n<p>The <code>HTTP 201 Created</code> response confirms the sent message:</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"234f5678-f90a-12b3-c456-536725285111\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"conversationId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"987fcdeb-51a2-43d1-b789-123456789abc\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"accountKey\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9502350087451835131\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:31:00Z\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"channel\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"SMS\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"direction\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"OUTBOUND\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"from\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+15551234567\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"to\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"+15559998888\"</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"body\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Hi Bob!\"</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>If the subscription includes <code>OUTBOUND_MESSAGE</code>, the webhook also receives a notification:</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"789a1234-b56c-78d9-e012-345678901234\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"source\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"inbox-notification\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"OUTBOUND_MESSAGE\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"usage\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"BACKGROUND\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:31:00Z\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"ttl\"</span><span class=\"token operator\">:</span> <span class=\"token number\">604800</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"accountKey\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9502350087451835131\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"234f5678-f90a-12b3-c456-536725285111\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"conversationId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"987fcdeb-51a2-43d1-b789-123456789abc\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"direction\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"OUTBOUND\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"channel\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"SMS\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"ownerTouchpoint\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+15551234567\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"contactTouchpoints\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"+15559998888\"</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"authorTouchpoint\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+15551234567\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"body\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Hi Bob!\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"attachments\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span> <span class=\"token property\">\"count\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token property\">\"items\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:31:00Z\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h3>Step 5 — Receive a Delivery Status Update</h3>\n<p>Shortly after the outbound message is sent, the webhook receives a <code>DELIVERY_STATUS</code>\nnotification indicating whether the message was successfully delivered or failed:</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"abc12345-d678-90ef-a123-456789012345\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"source\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"inbox-notification\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"DELIVERY_STATUS\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"usage\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"BACKGROUND\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:32:00Z\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"ttl\"</span><span class=\"token operator\">:</span> <span class=\"token number\">604800</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"accountKey\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9502350087451835131\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"234f5678-f90a-12b3-c456-536725285111\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"conversationId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"987fcdeb-51a2-43d1-b789-123456789abc\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"ownerTouchpoint\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+15551234567\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"contactTouchpoint\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+15559998888\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:32:00Z\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"deliveryStatus\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1000</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"DELIVERED\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"retryable\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>See the <code>deliveryStatus.code</code> table in the\n<a href=\"../../../GoToConnect#tag/Subscriptions\">Subscriptions API reference</a> for all status codes.</p>\n<h2>Notification Event Reference</h2>\n<p>This section documents the payload of each event type delivered to your webhook.</p>\n<h3>INBOUND_MESSAGE</h3>\n<p>Delivered when a message is received from an external party. The <code>payload</code> fields use\n<code>ownerTouchpoint</code> (the inbox/touchpoint that owns the conversation), <code>contactTouchpoints</code>\n(the external party), and <code>authorTouchpoint</code> (who sent this specific message).</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"456e7890-e12b-34d5-a678-901234567890\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"source\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"inbox-notification\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"INBOUND_MESSAGE\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"usage\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"BACKGROUND\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:30:00Z\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"ttl\"</span><span class=\"token operator\">:</span> <span class=\"token number\">604800</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"accountKey\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9502350087451835131\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"123e4567-e89b-12d3-a456-426614174000\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"conversationId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"987fcdeb-51a2-43d1-b789-123456789abc\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"direction\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"INBOUND\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"channel\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"SMS\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"ownerTouchpoint\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+15551234567\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"contactTouchpoints\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"+15559998888\"</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"authorTouchpoint\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+15559998888\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"body\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Hello!\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"attachments\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span> <span class=\"token property\">\"count\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token property\">\"items\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:30:00Z\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h3>OUTBOUND_MESSAGE</h3>\n<p>Delivered when a message is sent to an external party. <code>authorTouchpoint</code> is the owner's\ntouchpoint and <code>direction</code> is <code>OUTBOUND</code>.</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"789a1234-b56c-78d9-e012-345678901234\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"source\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"inbox-notification\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"OUTBOUND_MESSAGE\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"usage\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"BACKGROUND\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:31:00Z\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"ttl\"</span><span class=\"token operator\">:</span> <span class=\"token number\">604800</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"accountKey\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9502350087451835131\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"234f5678-f90a-12b3-c456-536725285111\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"conversationId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"987fcdeb-51a2-43d1-b789-123456789abc\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"direction\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"OUTBOUND\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"channel\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"SMS\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"ownerTouchpoint\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+15551234567\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"contactTouchpoints\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"+15559998888\"</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"authorTouchpoint\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+15551234567\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"body\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Hi Bob!\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"attachments\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span> <span class=\"token property\">\"count\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token property\">\"items\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:31:00Z\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h3>DELIVERY_STATUS</h3>\n<p>Delivered when the delivery status of an outbound message changes (e.g. a failure is\ndetected). See the <code>deliveryStatus.code</code> table in the\n<a href=\"../../../GoToConnect#tag/Subscriptions\">Subscriptions API reference</a> for all status codes.</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"abc12345-d678-90ef-a123-456789012345\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"source\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"inbox-notification\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"DELIVERY_STATUS\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"usage\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"BACKGROUND\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:32:00Z\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"ttl\"</span><span class=\"token operator\">:</span> <span class=\"token number\">604800</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"accountKey\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9502350087451835131\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"234f5678-f90a-12b3-c456-536725285111\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"conversationId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"987fcdeb-51a2-43d1-b789-123456789abc\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"ownerTouchpoint\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+15551234567\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"contactTouchpoint\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"+15559998888\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:32:00Z\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"deliveryStatus\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"code\"</span><span class=\"token operator\">:</span> <span class=\"token number\">4000</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"INVALID_DESTINATION\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"retryable\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h3>INBOUND_REACTION</h3>\n<p>Delivered when an external party reacts to a message (e.g. a WhatsApp emoji reaction).</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"bcd23456-e789-01fg-b234-567890123456\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"source\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"inbox-notification\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"INBOUND_REACTION\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"usage\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"BACKGROUND\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:33:00Z\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"ttl\"</span><span class=\"token operator\">:</span> <span class=\"token number\">604800</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"accountKey\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9502350087451835131\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"123e4567-e89b-12d3-a456-426614174000\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"conversationId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"987fcdeb-51a2-43d1-b789-123456789abc\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"emoji\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"👍\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:33:00Z\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h3>OUTBOUND_REACTION</h3>\n<p>Delivered when an agent sends a reaction to an external party's message.</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"cde34567-f890-12gh-c345-678901234567\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"source\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"inbox-notification\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"OUTBOUND_REACTION\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"usage\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"BACKGROUND\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:34:00Z\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"ttl\"</span><span class=\"token operator\">:</span> <span class=\"token number\">604800</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"content\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"accountKey\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9502350087451835131\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"payload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"messageId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"234f5678-f90a-12b3-c456-536725285111\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"conversationId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"987fcdeb-51a2-43d1-b789-123456789abc\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"emoji\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"✅\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"timestamp\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-07-31T10:34:00Z\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h2>Retrieving Attachments</h2>\n<p>When an <code>INBOUND_MESSAGE</code> or <code>OUTBOUND_MESSAGE</code> notification includes attachments, the\n<code>attachments</code> field contains metadata for each file:</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token property\">\"attachments\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"count\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"items\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"document.pdf\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"contentType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"application/pdf\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"size\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1024000</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"attachmentId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"123e4567-e89b-12d3-a456-426614174000\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>To download the file, use the\n<a href=\"../../../GoToConnect#tag/Messages\"><code>GET /accounts/{accountKey}/attachments/{attachmentId}</code></a>\nendpoint with the <code>attachmentId</code> from the notification. The endpoint returns an\n<code>HTTP 302</code> redirect to a pre-signed download URL.</p>\n<blockquote>\n<p><strong>Required scope:</strong> <code>messaging.v1.read</code></p>\n</blockquote>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">curl</span> <span class=\"token parameter variable\">-L</span> <span class=\"token parameter variable\">-X</span> GET <span class=\"token string\">'https://api.goto.com/messaging/v2/accounts/{accountKey}/attachments/123e4567-e89b-12d3-a456-426614174000'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-H</span> <span class=\"token string\">'Authorization: Bearer {ACCESS_TOKEN}'</span> <span class=\"token punctuation\">\\</span>\n  <span class=\"token parameter variable\">-o</span> document.pdf</code></pre></div>\n<blockquote>\n<p>The pre-signed URL expires after 60 seconds. Follow the redirect immediately and do\nnot store the URL for later use. The <code>-L</code> flag tells curl to follow the redirect\nautomatically.</p>\n</blockquote>"}},"pageContext":{"slug":"/guides/GoToConnect/18_HOW_useMessagingV2Api/","language":"en"}},
    "staticQueryHashes": ["2088588020","2243444437","3138960367","3360603394","943742221"]}