<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://all.docs.genesys.com/index.php?action=history&amp;feed=atom&amp;title=PEC-Developer%2FCurrent%2FWebAPIs%2FThird-Party_Messaging_API</id>
	<title>PEC-Developer/Current/WebAPIs/Third-Party Messaging API - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://all.docs.genesys.com/index.php?action=history&amp;feed=atom&amp;title=PEC-Developer%2FCurrent%2FWebAPIs%2FThird-Party_Messaging_API"/>
	<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=PEC-Developer/Current/WebAPIs/Third-Party_Messaging_API&amp;action=history"/>
	<updated>2026-04-10T08:35:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=PEC-Developer/Current/WebAPIs/Third-Party_Messaging_API&amp;diff=132793&amp;oldid=prev</id>
		<title>WikiSysop: Created page with &quot;{{Article |Standalone=No |DisplayName=Third-Party Messaging Overview |Context=The Third-Party Messaging API delivers messages between external messaging services (such as SMS...&quot;</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=PEC-Developer/Current/WebAPIs/Third-Party_Messaging_API&amp;diff=132793&amp;oldid=prev"/>
		<updated>2023-11-26T04:31:28Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Article |Standalone=No |DisplayName=Third-Party Messaging Overview |Context=The Third-Party Messaging API delivers messages between external messaging services (such as SMS...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Article&lt;br /&gt;
|Standalone=No&lt;br /&gt;
|DisplayName=Third-Party Messaging Overview&lt;br /&gt;
|Context=The Third-Party Messaging API delivers messages between external messaging services (such as SMS or email) and Digital Channels.&lt;br /&gt;
|ComingSoon=No&lt;br /&gt;
|Section={{Section&lt;br /&gt;
|sectionHeading=API Overview&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=When a consumer sends a message, the third-party system must send a POST request to deliver the message to the agent in Digital Channels chat. In return, the agent’s response is delivered to the third-party system through a webhook that Digital Channels sends as a POST request. The third-party system may also send notifications about errors and different types of receipts.&lt;br /&gt;
&lt;br /&gt;
{{NoteFormat|Contact your Genesys representative to configure webhooks for Digital Channels.|}}&lt;br /&gt;
&lt;br /&gt;
Digital Channels requires the third-party system to respond to webhooks as follows:&lt;br /&gt;
&lt;br /&gt;
*Send a response to the webhook within 10 seconds.&lt;br /&gt;
*The response for processed webhooks must have a 2XX HTTP code. We recommend '''200 OK'''. The '''201 Accepted''' code is reserved for when Digital Channels supports multiple messages per webhook.&lt;br /&gt;
*The response body should contain the &amp;lt;code&amp;gt;messageId&amp;lt;/code&amp;gt; field with the unique identifier of the message. Digital Channels uses this ID when it processes delivery receipts to find the message in the history and possibly update its status.&lt;br /&gt;
*The response for webhooks that cannot be processed right now but should be redelivered must have a 5XX HTTP code. Digital Channels tries to redeliver the webhook according to the configuration for retry timeout and retry attempts. Contact your Genesys representative for details about this configuration.&lt;br /&gt;
&lt;br /&gt;
The webhook POST request contains an X-Hub-Signature header with the SHA1 signature of the post payload. The signature is calculated using the keyed-hash message authentication code (HMAC), where the key is the app secret. The signature is then prefixed with &amp;lt;code&amp;gt;sha1=&amp;lt;/code&amp;gt;. The third-party system should verify this signature to validate the integrity and origin of the payload.&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=API Details&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=Find the API requests, responses, and details here:&lt;br /&gt;
&lt;br /&gt;
* {{Link-SomewhereInThisVersion|manual=WebAPIs|topic=Third-party_messaging}}&lt;br /&gt;
* {{Link-SomewhereInThisVersion|manual=WebAPIs|topic=Third-party_messaging_webhook}}&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Getting Started&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=Make sure to check out the {{Link-SomewhereInThisVersion|manual=WebAPIs|topic=Getting_started}} page for more information about core concepts in the Engage Cloud APIs, such as requests and responses.&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Example: SMS data flow&lt;br /&gt;
|alignment=Horizontal&lt;br /&gt;
|Media=Image&lt;br /&gt;
|image=Pecapi-smsflow.png&lt;br /&gt;
|structuredtext=====1. Message API request====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;POST /channels/0123456789/messages HTTP/1.1&lt;br /&gt;
 x-ccid: 0ff723ff-6c6f-44e0-9ce3-ce579337eadd&lt;br /&gt;
 X-Hub-Signature: sha1=9577d7a3922516701c2e14ca043145eb2057b803&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;messages&amp;quot;: [&lt;br /&gt;
     {&lt;br /&gt;
       &amp;quot;channel&amp;quot;: {&lt;br /&gt;
         &amp;quot;from&amp;quot;: {&lt;br /&gt;
           &amp;quot;id&amp;quot;: &amp;quot;16504661149&amp;quot;&lt;br /&gt;
         },&lt;br /&gt;
         &amp;quot;to&amp;quot;: {&lt;br /&gt;
           &amp;quot;id&amp;quot;: &amp;quot;0123456789&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
       },&lt;br /&gt;
       &amp;quot;type&amp;quot;: &amp;quot;Text&amp;quot;,&lt;br /&gt;
       &amp;quot;text&amp;quot;: &amp;quot;Consumer message text&amp;quot;&lt;br /&gt;
     }&lt;br /&gt;
   ]&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====2. Message API response====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
   &amp;quot;status&amp;quot;: {&lt;br /&gt;
     &amp;quot;code&amp;quot;: 0&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;data&amp;quot;: {&lt;br /&gt;
     &amp;quot;ids&amp;quot;: [&lt;br /&gt;
       &amp;quot;1613473893265-0&amp;quot;&lt;br /&gt;
     ]&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====3. Message Webhook request====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;POST / HTTP/1.1&lt;br /&gt;
 X-Hub-Signature: sha1=20a00a8efbe06a43e403e1975873930a027a8f67&lt;br /&gt;
 X-B3-TraceId: 05bb858a-3468-4c82-a8ce-3b1a9c4e4b67&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;channel&amp;quot;: {&lt;br /&gt;
     &amp;quot;id&amp;quot;: &amp;quot;0123456789&amp;quot;,&lt;br /&gt;
     &amp;quot;type&amp;quot;: &amp;quot;sms&amp;quot;,&lt;br /&gt;
     &amp;quot;from&amp;quot;: {&lt;br /&gt;
       &amp;quot;id&amp;quot;: &amp;quot;0123456789&amp;quot;&lt;br /&gt;
     },&lt;br /&gt;
     &amp;quot;to&amp;quot;: {&lt;br /&gt;
       &amp;quot;id&amp;quot;: &amp;quot;16504661149&amp;quot;&lt;br /&gt;
     },&lt;br /&gt;
     &amp;quot;messageId&amp;quot;: &amp;quot;1613474523265-0&amp;quot;&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;type&amp;quot;: &amp;quot;Text&amp;quot;,&lt;br /&gt;
   &amp;quot;text&amp;quot;: &amp;quot;Agent message text&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====4. Message Webhook response====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
   &amp;quot;messageId&amp;quot;: &amp;quot;1613474523265-0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====5. Receipt API request====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;POST /channels/0123456789/messages HTTP/1.1&lt;br /&gt;
 x-ccid: 0ff723ff-6c6f-44e0-9ce3-ce579337eadd&lt;br /&gt;
 X-Hub-Signature: sha1=8d9652cea2d2289ae76fc8b870b96598c6d94b05&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;messages&amp;quot;: [&lt;br /&gt;
     {&lt;br /&gt;
       &amp;quot;channel&amp;quot;: {&lt;br /&gt;
         &amp;quot;from&amp;quot;: {&lt;br /&gt;
           &amp;quot;id&amp;quot;: &amp;quot;0123456789&amp;quot;&lt;br /&gt;
         },&lt;br /&gt;
         &amp;quot;to&amp;quot;: {&lt;br /&gt;
           &amp;quot;id&amp;quot;: &amp;quot;16504661149&amp;quot;&lt;br /&gt;
         },&lt;br /&gt;
         &amp;quot;messageId&amp;quot;: &amp;quot;1613474523265-0&amp;quot;&lt;br /&gt;
       },&lt;br /&gt;
       &amp;quot;type&amp;quot;: &amp;quot;Receipt&amp;quot;,&lt;br /&gt;
       &amp;quot;status&amp;quot;: &amp;quot;Delivered&amp;quot;&lt;br /&gt;
     }&lt;br /&gt;
   ]&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====6. Receipt API response====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
   &amp;quot;status&amp;quot;: {&lt;br /&gt;
     &amp;quot;code&amp;quot;: 0&lt;br /&gt;
   }&lt;br /&gt;
 }&amp;lt;/source&amp;gt;&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Example: Email data flow&lt;br /&gt;
|alignment=Horizontal&lt;br /&gt;
|Media=Image&lt;br /&gt;
|image=Pecapi-emailflow.png&lt;br /&gt;
|structuredtext=====1. Email Webhook request====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;POST / HTTP/1.1&lt;br /&gt;
 X-Hub-Signature: sha1=0959a2a00f3f57075d06094e5d9cdc32128f9ec8&lt;br /&gt;
 X-B3-TraceId: 5767ea58-1511-4a98-bc56-7f34c43e3a51&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;channel&amp;quot;: {&lt;br /&gt;
     &amp;quot;id&amp;quot;: &amp;quot;company.com&amp;quot;,&lt;br /&gt;
     &amp;quot;type&amp;quot;: &amp;quot;email&amp;quot;,&lt;br /&gt;
     &amp;quot;from&amp;quot;: {&lt;br /&gt;
       &amp;quot;id&amp;quot;: &amp;quot;no-reply@company.com&amp;quot;,&lt;br /&gt;
       &amp;quot;name&amp;quot;: &amp;quot;Sender display name&amp;quot;&lt;br /&gt;
     },&lt;br /&gt;
     &amp;quot;to&amp;quot;: [&lt;br /&gt;
       {&lt;br /&gt;
         &amp;quot;id&amp;quot;: &amp;quot;recipient-1@mail.com&amp;quot;,&lt;br /&gt;
         &amp;quot;name&amp;quot;: &amp;quot;First Recipient&amp;quot;&lt;br /&gt;
       },&lt;br /&gt;
       {&lt;br /&gt;
         &amp;quot;id&amp;quot;: &amp;quot;recipient-2@mail.com&amp;quot;,&lt;br /&gt;
         &amp;quot;name&amp;quot;: &amp;quot;Second Recipient&amp;quot;&lt;br /&gt;
       }&lt;br /&gt;
     ],&lt;br /&gt;
     &amp;quot;messageId&amp;quot;: &amp;quot;f7acbac6-68db-4031-aec2-4bbd02627c4b&amp;quot;,&lt;br /&gt;
     &amp;quot;context&amp;quot;: {&lt;br /&gt;
       &amp;quot;replyTo&amp;quot;: {&lt;br /&gt;
         &amp;quot;id&amp;quot;: &amp;quot;reply-to@company.com&amp;quot;,&lt;br /&gt;
         &amp;quot;name&amp;quot;: &amp;quot;Responder display name&amp;quot;&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;type&amp;quot;: &amp;quot;Email&amp;quot;,&lt;br /&gt;
   &amp;quot;subject&amp;quot;: &amp;quot;Subject&amp;quot;,&lt;br /&gt;
   &amp;quot;content&amp;quot;: [&lt;br /&gt;
     {&lt;br /&gt;
       &amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
       &amp;quot;text&amp;quot;: &amp;quot;Plain text email body&amp;quot;&lt;br /&gt;
     },&lt;br /&gt;
     {&lt;br /&gt;
       &amp;quot;type&amp;quot;: &amp;quot;html&amp;quot;,&lt;br /&gt;
       &amp;quot;text&amp;quot;: &amp;quot;Html email body&amp;quot;&lt;br /&gt;
     }&lt;br /&gt;
   ]&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====2. Email Webhook response====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
   &amp;quot;messageId&amp;quot;: &amp;quot;f7acbac6-68db-4031-aec2-4bbd02627c4b&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====3. Receipt API request====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;POST /channels/company.com/messages HTTP/1.1&lt;br /&gt;
 x-ccid: 0ff723ff-6c6f-44e0-9ce3-ce579337eadd&lt;br /&gt;
 X-Hub-Signature: sha1=f6d8c023c909270eb2d50abdf519151dc80e128a&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;messages&amp;quot;: [&lt;br /&gt;
     {&lt;br /&gt;
       &amp;quot;channel&amp;quot;: {&lt;br /&gt;
         &amp;quot;from&amp;quot;: {&lt;br /&gt;
           &amp;quot;id&amp;quot;: &amp;quot;no-reply@company.com&amp;quot;&lt;br /&gt;
         },&lt;br /&gt;
         &amp;quot;to&amp;quot;: {&lt;br /&gt;
           &amp;quot;id&amp;quot;: &amp;quot;recipient-1@mail.com&amp;quot;&lt;br /&gt;
         },&lt;br /&gt;
         &amp;quot;messageId&amp;quot;: &amp;quot;f7acbac6-68db-4031-aec2-4bbd02627c4b&amp;quot;&lt;br /&gt;
       },&lt;br /&gt;
       &amp;quot;type&amp;quot;: &amp;quot;Receipt&amp;quot;,&lt;br /&gt;
       &amp;quot;status&amp;quot;: &amp;quot;Failed&amp;quot;,&lt;br /&gt;
       &amp;quot;reasons&amp;quot;: [&lt;br /&gt;
         {&lt;br /&gt;
           &amp;quot;code&amp;quot;: 350,&lt;br /&gt;
           &amp;quot;message&amp;quot;: &amp;quot;Message not allowed. Your account has been suspended.&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
       ]&lt;br /&gt;
     }&lt;br /&gt;
   ]&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====4. Receipt API response====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
   &amp;quot;status&amp;quot;: {&lt;br /&gt;
     &amp;quot;code&amp;quot;: 0&lt;br /&gt;
   }&lt;br /&gt;
 }&amp;lt;/source&amp;gt;&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Delivery receipts&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=The third-party system can use delivery receipts to notify Digital Channels about delivery status or errors sending content messages. For usage examples, see the requests payload above for messages with &amp;lt;code&amp;gt;type=&amp;quot;Receipt&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The following table describes possible values of the &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt; field.&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Status&lt;br /&gt;
!Description&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Delivered&lt;br /&gt;
{{!}}The message was delivered to the recipient.&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Removed&lt;br /&gt;
{{!}}A previously published message was removed.&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Failed&lt;br /&gt;
{{!}}The message was not delivered.&lt;br /&gt;
{{!}}}&lt;br /&gt;
If &amp;lt;code&amp;gt;status=&amp;quot;Failed&amp;quot;&amp;lt;/code&amp;gt;, the third-party system can attach a reason code and an optional message to the &amp;lt;code&amp;gt;reasons&amp;lt;/code&amp;gt; field of the message.&lt;br /&gt;
&lt;br /&gt;
The following table describes possible values of failure reason codes.&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Reason code&lt;br /&gt;
!Description&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}305&lt;br /&gt;
{{!}}The message has expired.&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}310&lt;br /&gt;
{{!}}Rate limit reached.&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}350&lt;br /&gt;
{{!}}Message not allowed.&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}510&lt;br /&gt;
{{!}}Unsupported message.&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}512&lt;br /&gt;
{{!}}Unknown message.&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}520&lt;br /&gt;
{{!}}Invalid message structure.&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}530&lt;br /&gt;
{{!}}Invalid destination.&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}500&lt;br /&gt;
{{!}}General error.&lt;br /&gt;
{{!}}}&lt;br /&gt;
|Status=No&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
</feed>