<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://whatsgate.org/docs/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Whatsapp API</title>
        <description></description>
        <link>https://whatsgate.org/docs/</link>
        <lastBuildDate>Tue, 27 Oct 2026 17:13:49 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://whatsgate.org/docs/_media/favicon.ico</url>
            <title>Whatsapp API</title>
            <link>https://whatsgate.org/docs/</link>
        </image>
        <item>
            <title>Changing session name - [Response object] </title>
            <link>https://whatsgate.org/docs/api/set-name</link>
            <description>


&lt;h1 class=&quot;sectionedit1&quot; id=&quot;changing-session-name&quot;&gt;Changing session name&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Changes the &lt;strong&gt;name&lt;/strong&gt; of a WhatsApp session.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Changing session name&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;changing-session-name&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;21-102&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;request-command&quot;&gt;Request command&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
To change a session name, send a POST request to:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;https://app.whatsgate.org/api/v1/set-name&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Request command&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;request-command&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;103-239&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;request-body-object&quot;&gt;Request body object&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The request body must contain:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;WhatsappID&amp;quot;: &amp;quot;YOUR_WHATSAPP_ID&amp;quot;,
  &amp;quot;name&amp;quot;: &amp;quot;new name&amp;quot;
}&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;WhatsappID&lt;/strong&gt; - WhatsApp identifier in the system&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;name&lt;/strong&gt; - new session name&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Request body object&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;request-body-object&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;240-469&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;response-object&quot;&gt;Response object&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Successful response object
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;result&amp;quot;: &amp;quot;OK&amp;quot;,
  &amp;quot;data&amp;quot;:  {
     &amp;quot;id&amp;quot;: 151,
     &amp;quot;name&amp;quot;: &amp;quot;new name&amp;quot;,
     &amp;quot;unique_id&amp;quot;: &amp;quot;6345454545454&amp;quot;,
     &amp;quot;status&amp;quot;: &amp;quot;READY&amp;quot;,
     &amp;quot;callback&amp;quot;: &amp;quot;https://callback.my/script.handler&amp;quot;,
     &amp;quot;date_add&amp;quot;: &amp;quot;2022-10-11 19:30:14&amp;quot;,
     &amp;quot;status_name&amp;quot;: &amp;quot;Working&amp;quot;,
     &amp;quot;pushname&amp;quot;: &amp;quot;John&amp;quot;,
     &amp;quot;wid&amp;quot;: &amp;quot;19991234567@c.us&amp;quot;,
  }
}&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;data&lt;/strong&gt; - session object
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Response object&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;response-object&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;470-&amp;quot;} --&gt;</description>
            <author>denis716@undisclosed.example.com (denis716)</author>
        <category>api</category>
            <pubDate>Fri, 16 Oct 2026 20:18:10 +0000</pubDate>
        </item>
        <item>
            <title>Getting the session list - [Response object] </title>
            <link>https://whatsgate.org/docs/api/sessions-get</link>
            <description>


&lt;h1 class=&quot;sectionedit1&quot; id=&quot;getting-the-session-list&quot;&gt;Getting the session list&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Returns the sessions on your account.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Getting the session list&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;getting-the-session-list&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;21-99&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;request-command&quot;&gt;Request command&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
To retrieve the session list, send a POST request to:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;https://app.whatsgate.org/api/v1/sessions-get&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Request command&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;request-command&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;100-244&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;request-body-object&quot;&gt;Request body object&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The request body accepts:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;WhatsappID&amp;quot; : &amp;quot;&amp;quot;,
  &amp;quot;name&amp;quot; : &amp;quot;&amp;quot;,
  &amp;quot;status&amp;quot; : &amp;quot;&amp;quot;,
  &amp;quot;page_cnt&amp;quot; : &amp;quot;&amp;quot;,
  &amp;quot;page&amp;quot; : &amp;quot;&amp;quot;
}&lt;/pre&gt;

&lt;p&gt;
All fields in this object are optional, so an empty object is enough to get the full list of active sessions. Fields &lt;strong&gt;WhatsappID&lt;/strong&gt;, &lt;strong&gt;name&lt;/strong&gt;, and &lt;strong&gt;status&lt;/strong&gt; are filters.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;WhatsappID&lt;/strong&gt; - filter by WhatsApp identifier, exact match; returns one session with the specified identifier.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;name&lt;/strong&gt; - filter by name, partial match.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;status&lt;/strong&gt; - session status filter. Can be one of:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; AUTH - sessions in authorization status.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; READY - sessions in working state.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; ERROR - sessions in error state.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; CLOSED - closed sessions (due to error or end of paid period)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;page_cnt&lt;/strong&gt; - maximum sessions returned per page. Default is 50, maximum is 100.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;page&lt;/strong&gt; - page number. Default is 1&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Request body object&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;request-body-object&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;245-1122&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;response-object&quot;&gt;Response object&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Successful response object
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;result&amp;quot;: &amp;quot;OK&amp;quot;,
  &amp;quot;pages&amp;quot; : 1,
  &amp;quot;elements&amp;quot; : 2,
  &amp;quot;page&amp;quot; : 1,
  &amp;quot;data&amp;quot; : [
     {
        &amp;quot;id&amp;quot;: 151,
        &amp;quot;name&amp;quot;: &amp;quot;My WhatsApp 1&amp;quot;,
        &amp;quot;unique_id&amp;quot;: &amp;quot;6345454545454&amp;quot;,
        &amp;quot;status&amp;quot;: &amp;quot;AUTH&amp;quot;,
        &amp;quot;callback&amp;quot;: &amp;quot;&amp;quot;,
        &amp;quot;date_add&amp;quot;: &amp;quot;2022-10-11 19:30:14&amp;quot;,
        &amp;quot;status_name&amp;quot;: &amp;quot;Authorization&amp;quot;,
        &amp;quot;pushname&amp;quot;: null,
        &amp;quot;wid&amp;quot;: null,
        &amp;quot;qr_link&amp;quot;: &amp;quot;https://whatsgate.org/qr/6345454545454&amp;quot;
     },
     {
        &amp;quot;id&amp;quot;: 152,
        &amp;quot;name&amp;quot;: &amp;quot;My WhatsApp 2&amp;quot;,
        &amp;quot;unique_id&amp;quot;: &amp;quot;6345454545455&amp;quot;,
        &amp;quot;status&amp;quot;: &amp;quot;READY&amp;quot;,
        &amp;quot;callback&amp;quot;: &amp;quot;&amp;quot;,
        &amp;quot;date_add&amp;quot;: &amp;quot;2022-10-12 10:35:01&amp;quot;,
        &amp;quot;status_name&amp;quot;: &amp;quot;Working&amp;quot;,
        &amp;quot;pushname&amp;quot;: &amp;quot;John&amp;quot;,
        &amp;quot;wid&amp;quot;: &amp;quot;19991234567@c.us&amp;quot;,
        &amp;quot;qr_link&amp;quot;: &amp;quot;&amp;quot;
     },
  ]
}&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;result&lt;/strong&gt; - contains “OK” when the request succeeds&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;pages&lt;/strong&gt; - number of pages for the selected filters&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;elements&lt;/strong&gt; - number of elements in the filtered result (number of WhatsApp sessions returned)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;page&lt;/strong&gt; - current page number&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;data&lt;/strong&gt; - contains an array of WhatsApp session objects&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Response object&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;response-object&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1123-&amp;quot;} --&gt;</description>
            <author>denis716@undisclosed.example.com (denis716)</author>
        <category>api</category>
            <pubDate>Fri, 16 Oct 2026 20:17:45 +0000</pubDate>
        </item>
        <item>
            <title>Deleting a session via API - [Response object] </title>
            <link>https://whatsgate.org/docs/api/session-delete</link>
            <description>


&lt;h1 class=&quot;sectionedit1&quot; id=&quot;deleting-a-session-via-api&quot;&gt;Deleting a session via API&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Deleting a session logs that WhatsApp account out of Whatsgate, removes the session data from Whatsgate servers, and frees the connection. If your plan has no free connection left, delete a session before you create another one.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Deleting a session via API&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;deleting-a-session-via-api&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;20-291&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;request-command&quot;&gt;Request command&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Send a POST request to:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;https://app.whatsgate.org/api/v1/session-delete&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Request command&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;request-command&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;292-408&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;request-body-object&quot;&gt;Request body object&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The request body must contain:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;WhatsappID&amp;quot;: &amp;quot;YOUR_WHATSAPP_ID&amp;quot;
}&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;WhatsappID&lt;/strong&gt; - WhatsApp identifier in the system&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Request body object&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;request-body-object&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;409-584&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;response-object&quot;&gt;Response object&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Successful response object
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;result&amp;quot;: &amp;quot;OK&amp;quot;,
  &amp;quot;data&amp;quot;: {
        &amp;quot;id&amp;quot;: 456,
        &amp;quot;name&amp;quot;: &amp;quot;My Whatsapp&amp;quot;,
        &amp;quot;unique_id&amp;quot;: &amp;quot;YOUR_WHATSAPP_ID&amp;quot;,
        &amp;quot;status&amp;quot;: &amp;quot;DESTROYING&amp;quot;,
        &amp;quot;callback&amp;quot;: null,
        &amp;quot;date_add&amp;quot;: &amp;quot;2022-10-12 07:10:49&amp;quot;,
        &amp;quot;status_name&amp;quot;: &amp;quot;Deleting&amp;quot;,
        &amp;quot;pushname&amp;quot;: &amp;quot;John&amp;quot;,
        &amp;quot;wid&amp;quot;: &amp;quot;19991234567@c.us&amp;quot;,
    }
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Response object&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;response-object&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;585-&amp;quot;} --&gt;</description>
            <author>denis716@undisclosed.example.com (denis716)</author>
        <category>api</category>
            <pubDate>Fri, 16 Oct 2026 20:17:12 +0000</pubDate>
        </item>
        <item>
            <title>Creating a session via API - [Embedding the QR page] </title>
            <link>https://whatsgate.org/docs/api/session-create</link>
            <description>


&lt;h1 class=&quot;sectionedit1&quot; id=&quot;creating-a-session-via-api&quot;&gt;Creating a session via API&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
This request opens a WhatsApp session so you can link an account. After it opens, authorize the session in the WhatsApp mobile app with a QR code. When you no longer need the session, close it with &lt;a href=&quot;https://whatsgate.org/docs/api/session-delete&quot; class=&quot;wikilink1&quot; title=&quot;api:session-delete&quot; data-wiki-id=&quot;api:session-delete&quot;&gt;session-delete&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Creating a session via API&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;creating-a-session-via-api&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;20-298&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;request-command&quot;&gt;Request command&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
To create a session, send a POST request to:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;https://app.whatsgate.org/api/v1/session-create&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Request command&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;request-command&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;299-436&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;request-body-object-for-qr-authorization&quot;&gt;Request body object for QR authorization&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The request body must contain:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;name&amp;quot; : &amp;quot;My WhatsApp&amp;quot;,
  &amp;quot;callback&amp;quot; : &amp;quot;https://callback.my/script.handler&amp;quot;
}&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;name&lt;/strong&gt; - WhatsApp name in the system (for easier identification)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;callback&lt;/strong&gt; - &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; of the &lt;a href=&quot;https://whatsgate.org/docs/api/webhook&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;incoming events&lt;/a&gt; handler (optional, can be set later via &lt;a href=&quot;https://whatsgate.org/docs/api/webhook&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;set-hook&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Request body object for QR authorization&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;request-body-object-for-qr-authorization&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;437-820&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;request-body-object-for-code-authorization&quot;&gt;Request body object for CODE authorization&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The request body must contain:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;name&amp;quot; : &amp;quot;My WhatsApp&amp;quot;,
  &amp;quot;callback&amp;quot; : &amp;quot;https://callback.my/script.handler&amp;quot;,
  &amp;quot;auth_type&amp;quot; : &amp;quot;CODE&amp;quot;,
  &amp;quot;number&amp;quot; : &amp;quot;19999999999&amp;quot;
}&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;name&lt;/strong&gt; - WhatsApp name in the system (for easier identification)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;callback&lt;/strong&gt; - &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; of the &lt;a href=&quot;https://whatsgate.org/docs/api/webhook&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;incoming events&lt;/a&gt; handler (optional, can be set later via &lt;a href=&quot;https://whatsgate.org/docs/api/webhook&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;set-hook&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;auth_type&lt;/strong&gt; - authorization type set to code. In this mode, phone number becomes required.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;number&lt;/strong&gt; - phone number to connect in 7XXXXXXXXXX format&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Request body object for CODE authorization&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;request-body-object-for-code-authorization&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;821-1418&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;response-object&quot;&gt;Response object&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Successful response object
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;result&amp;quot;: &amp;quot;OK&amp;quot;,
  &amp;quot;data&amp;quot; : {
     &amp;quot;id&amp;quot;: 151,
     &amp;quot;name&amp;quot;: &amp;quot;My WhatsApp&amp;quot;,
     &amp;quot;unique_id&amp;quot;: &amp;quot;6345454545454&amp;quot;,
     &amp;quot;status&amp;quot;: &amp;quot;PENDING&amp;quot;,
     &amp;quot;callback&amp;quot;: &amp;quot;https://callback.my/script.handler&amp;quot;,
     &amp;quot;date_add&amp;quot;: &amp;quot;2022-10-11 19:30:14&amp;quot;,
     &amp;quot;qr&amp;quot;: null,
     &amp;quot;status_name&amp;quot;: &amp;quot;Initialization&amp;quot;,
     &amp;quot;pushname&amp;quot;: null,
     &amp;quot;wid&amp;quot;: null,
     &amp;quot;qr_link&amp;quot;: &amp;quot;https://whatsgate.org/qr/6345454545454&amp;quot;
  }
}&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;result&lt;/strong&gt; - contains “OK” when the request succeeds.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;data&lt;/strong&gt; - contains created session object including its unique identifier &lt;strong&gt;unique_id&lt;/strong&gt; and QR authorization link &lt;strong&gt;qr_link&lt;/strong&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;qr&lt;/strong&gt; or &lt;strong&gt;code&lt;/strong&gt; depends on selected authorization type. If code authorization is selected, the code is returned in &lt;strong&gt;code&lt;/strong&gt;. Field &lt;strong&gt;qr_link&lt;/strong&gt; points to the authorization code page.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Response object&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;response-object&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1419-2266&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;qr-authorization-window&quot;&gt;QR authorization window&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The QR authorization window is available at:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;https://app.whatsgate.org/qr/&amp;lt;unique_id&amp;gt;&lt;/pre&gt;

&lt;p&gt;
For convenience, this link is returned in &lt;strong&gt;qr_link&lt;/strong&gt; when creating a session. The QR code in this window is updated periodically and changes to a success or error image after authorization.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://whatsgate.org/docs/_detail/api/feature-image-success.jpg?id=api%3Asession-create&quot; class=&quot;media&quot; title=&quot;api:feature-image-success.jpg&quot;&gt;&lt;img src=&quot;https://whatsgate.org/docs/_media/api/feature-image-success.jpg?w=100&amp;amp;tok=0a1150&quot; class=&quot;medialeft&quot; align=&quot;left&quot; alt=&quot;&quot; width=&quot;100&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://whatsgate.org/docs/_detail/api/feature-image-error.jpg?id=api%3Asession-create&quot; class=&quot;media&quot; title=&quot;api:feature-image-error.jpg&quot;&gt;&lt;img src=&quot;https://whatsgate.org/docs/_media/api/feature-image-error.jpg?w=100&amp;amp;tok=f63f73&quot; class=&quot;media&quot; alt=&quot;&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;QR authorization window&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;qr-authorization-window&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2267-2676&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;embedding-the-qr-page&quot;&gt;Embedding the QR page&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This page can be embedded into your app via iframe, and parent page can receive messages from it. Embedding example:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;h1&amp;gt;QR test code&amp;lt;/h1&amp;gt;

&amp;lt;iframe src=&amp;quot;https://app.whatsgate.org/qr/6345454545454&amp;quot; width=&amp;quot;310&amp;quot; height=&amp;quot;310&amp;quot; style=&amp;quot;border: none;&amp;quot;&amp;gt;

&amp;lt;/iframe&amp;gt;

&amp;lt;div class=&amp;quot;log&amp;quot; id=&amp;quot;log&amp;quot;&amp;gt;

&amp;lt;/div&amp;gt;

&amp;lt;script&amp;gt;
    window.addEventListener(&amp;quot;message&amp;quot;, function(event) {

        console.log(event);

        if (event.origin !== &amp;#039;https://app.whatsgate.org&amp;#039;) {
            // something came from an unknown domain; ignore it
            return;
        }

        if(typeof event.data !== &amp;#039;object&amp;#039;) {
            // message must be an object
            return;
        }

        if(!(&amp;#039;module&amp;#039; in event.data) &amp;amp;&amp;amp; event.data.module !== &amp;#039;qr&amp;#039;){
            // object must contain module field with value qr
            return;
        }

        //if we&amp;#039;re here, the message is valid; output it
        console.log( &amp;quot;received: &amp;quot; + event.data.message);
        //append message to parent-page log
        document.getElementById(&amp;#039;log&amp;#039;).append(&amp;quot;received: &amp;quot; + event.data.message, document.createElement(&amp;quot;br&amp;quot;));
    });
&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;
The message object is in &lt;strong&gt;event.data&lt;/strong&gt; and has this format:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;module&amp;quot; : &amp;quot;qr&amp;quot;,
  &amp;quot;message&amp;quot; : &amp;quot;&amp;lt;message&amp;gt;&amp;quot;
}&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;module&lt;/strong&gt; - always has value qr, to identify relevant messages&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;message&lt;/strong&gt; - can have the following values:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;loading&lt;/strong&gt; - session initialization and QR code loading; sent at page load start&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;qr&lt;/strong&gt; - QR code has been generated and displayed; sent each time code refreshes&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;success&lt;/strong&gt; - device authorized successfully; QR code is hidden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;error&lt;/strong&gt; - authorization error occurred; try again&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;broken&lt;/strong&gt; - attempt to open a window with non-existing or closed session identifier&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Embedding the QR page&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;embedding-the-qr-page&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2677-&amp;quot;} --&gt;</description>
            <author>denis716@undisclosed.example.com (denis716)</author>
        <category>api</category>
            <pubDate>Fri, 16 Oct 2026 20:16:35 +0000</pubDate>
        </item>
        <item>
            <title>Incoming events processing (events-get) - [Request command] </title>
            <link>https://whatsgate.org/docs/api/events-get</link>
            <description>


&lt;h1 class=&quot;sectionedit1&quot; id=&quot;incoming-events-processing-events-get&quot;&gt;Incoming events processing (events-get)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Returns incoming events, including:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; incoming messages (action = message)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; message read/update (action = ack)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; incoming media file (action = media)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; message sent (action = sent) - this event appears only for asynchronous sending&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; error (action = error)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; WhatsApp disconnect and session removal (action = disconnect)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Incoming events processing (events-get)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;incoming-events-processing-events-get&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;22-411&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;request-command&quot;&gt;Request command&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
To retrieve the event list, send a POST request to:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;https://app.whatsgate.org/api/v1/events-get&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Request command&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;request-command&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;412-552&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;request-body-object&quot;&gt;Request body object&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The request body accepts the following object:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;WhatsappID&amp;quot; : &amp;quot;XXXXXXXXXXXXX&amp;quot;,
  &amp;quot;date&amp;quot; : &amp;quot;YYYY-MM-DD HH:MM:SS&amp;quot;,
  &amp;quot;action&amp;quot; : &amp;quot;message&amp;quot;,
  &amp;quot;page_cnt&amp;quot; : &amp;quot;10&amp;quot;,
  &amp;quot;page&amp;quot; : &amp;quot;1&amp;quot;
}&lt;/pre&gt;

&lt;p&gt;
All fields in this object are &lt;strong&gt;optional&lt;/strong&gt;, meaning an empty object is enough to get the full list of events. Fields &lt;strong&gt;WhatsappID&lt;/strong&gt; and &lt;strong&gt;action&lt;/strong&gt; are filters, and &lt;strong&gt;date&lt;/strong&gt; limits events by date. The date is typically used like this: after reading events, take the date of the last event and pass it in the next request as &lt;strong&gt;date&lt;/strong&gt; to fetch only newer events.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;WhatsappID&lt;/strong&gt; - filter by WhatsApp identifier; uses exact match and returns events for the specified session. If omitted, the system returns events for all sessions, including deleted ones.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;date&lt;/strong&gt; - limits events by the specified date. A common pattern is to reuse the latest received event date in the next request to get fresh events only.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;action&lt;/strong&gt; - event type filter. Can be one of:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; message - incoming message.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; ack - message status update.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; media - incoming media file.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; sent - message sent (only when sending asynchronously)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; error - error&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; disconnect - WhatsApp disconnect and session deletion&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; create - outgoing message&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;page_cnt&lt;/strong&gt; - maximum number of events per response page. Default is 10, maximum is 100.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;page&lt;/strong&gt; - response page number. Default is 1&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Request body object&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;request-body-object&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;553-1968&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;response-object&quot;&gt;Response object&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Successful response object
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;result&amp;quot;: &amp;quot;OK&amp;quot;,
  &amp;quot;pages&amp;quot; : 1,
  &amp;quot;elements&amp;quot; : 2,
  &amp;quot;page&amp;quot; : 1,
  &amp;quot;data&amp;quot; : [
     // 
  ]
}&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;result&lt;/strong&gt; - contains “OK” when the request succeeds&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;pages&lt;/strong&gt; - number of pages for the given filters&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;elements&lt;/strong&gt; - number of matching elements (event count)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;page&lt;/strong&gt; - current page number&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;data&lt;/strong&gt; - contains an array of &lt;a href=&quot;https://whatsgate.org/docs/api/webhook&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;objects representing events&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Response object&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;response-object&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1969-&amp;quot;} --&gt;</description>
            <author>denis716@undisclosed.example.com (denis716)</author>
        <category>api</category>
            <pubDate>Fri, 16 Oct 2026 20:15:25 +0000</pubDate>
        </item>
        <item>
            <title>Incoming processing (Webhook) - [Message object] </title>
            <link>https://whatsgate.org/docs/api/webhook</link>
            <description>


&lt;h1 class=&quot;sectionedit1&quot; id=&quot;incoming-processing-webhook&quot;&gt;Incoming processing (Webhook)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Webhooks deliver incoming events, asynchronous send results, and errors. When a message arrives in WhatsApp, Whatsgate sends a POST request to your webhook &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;id&amp;quot;:18,
  &amp;quot;whatsapp_id&amp;quot;:&amp;quot;191b80a9238&amp;quot;,
  &amp;quot;event_action&amp;quot;:&amp;quot;message&amp;quot;,
  &amp;quot;event_date&amp;quot;:&amp;quot;2022-09-07 18:29:37&amp;quot;,
  &amp;quot;status_code&amp;quot;:null,
  &amp;quot;event_data&amp;quot;:
  {
    &amp;quot;message&amp;quot;: 
    {
       &amp;quot;_id&amp;quot; : &amp;quot;3EB0436AE1E682FF3A37&amp;quot;,
       &amp;quot;id&amp;quot;:&amp;quot;false_19999999999@c.us_3EB0436AE1E682FF3A37&amp;quot;,
       &amp;quot;ack&amp;quot;:1,
       &amp;quot;hasMedia&amp;quot;:false,
       &amp;quot;mediaKey&amp;quot;:&amp;quot;&amp;quot;,
       &amp;quot;body&amp;quot;:&amp;quot;212&amp;quot;,
       &amp;quot;type&amp;quot;:&amp;quot;chat&amp;quot;,
       &amp;quot;timestamp&amp;quot;:1662575377,
       &amp;quot;from&amp;quot;:&amp;quot;19991112233@c.us&amp;quot;,
       &amp;quot;to&amp;quot;:&amp;quot;19999999999@c.us&amp;quot;,
       &amp;quot;isForwarded&amp;quot;:false
    }
  }
}&lt;/pre&gt;

&lt;p&gt;
To confirm successful event receipt, your webhook must return a JSON object containing the incoming event identifier and status OK.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;result&amp;quot; : &amp;quot;OK&amp;quot;,
  &amp;quot;id&amp;quot; : 18
}&lt;/pre&gt;

&lt;p&gt;
If the system does not receive a valid response, it retries the request 3 times every 20 seconds.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Incoming processing (Webhook)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;incoming-processing-webhook&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;20-1039&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;webhook-setup&quot;&gt;Webhook setup&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Webhook setup&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;webhook-setup&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1040-1068&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;webhook-setup-in-account-dashboard&quot;&gt;Webhook setup in account dashboard&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
To set a Webhook handler &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;, open your account dashboard, choose the linked WhatsApp block, click the 3 dots, then click edit.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://whatsgate.org/docs/_detail/api/hook1.jpg?id=api%3Awebhook&quot; class=&quot;media&quot; title=&quot;api:hook1.jpg&quot;&gt;&lt;img src=&quot;https://whatsgate.org/docs/_media/api/hook1.jpg?w=400&amp;amp;tok=4b6188&quot; class=&quot;media&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
In the opened window, specify the &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; to your Webhook handler script.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://whatsgate.org/docs/_detail/api/2026-10-16_15-11-27.png?id=api%3Awebhook&quot; class=&quot;media&quot; title=&quot;api:2026-10-16_15-11-27.png&quot;&gt;&lt;img src=&quot;https://whatsgate.org/docs/_media/api/2026-10-16_15-11-27.png?w=400&amp;amp;tok=334c43&quot; class=&quot;media&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Click “Save”.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Webhook setup in account dashboard&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;webhook-setup-in-account-dashboard&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1069-1395&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;webhook-setup-via-api&quot;&gt;Webhook setup via API&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
To enable or disable WebHook via &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt;, use the set-hook method.
Send a POST request to:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;https://app.whatsgate.org/api/v1/set-hook&lt;/pre&gt;

&lt;p&gt;
Request body:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;WhatsappID&amp;quot;: &amp;quot;YOUR_WHATSAPP_ID&amp;quot;,
  &amp;quot;callback&amp;quot;: &amp;quot;https://callback.my/script.handler&amp;quot;
}&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;WhatsappID&lt;/strong&gt; - WhatsApp identifier in the system&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;callback&lt;/strong&gt; - &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; of &lt;a href=&quot;https://whatsgate.org/docs/api/webhook&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;incoming events&lt;/a&gt; handler&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Successful response object
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;result&amp;quot;: &amp;quot;OK&amp;quot;
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Webhook setup via API&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;webhook-setup-via-api&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1396-1885&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit5&quot; id=&quot;event-types&quot;&gt;Event types&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://whatsgate.org/docs/api/webhook#ready&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;ready&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://whatsgate.org/docs/api/webhook#message&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;message&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://whatsgate.org/docs/api/webhook#sent&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;sent&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://whatsgate.org/docs/api/webhook#ack&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;ack&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://whatsgate.org/docs/api/webhook#disconnect&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;disconnect&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://whatsgate.org/docs/api/webhook#error&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;error&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://whatsgate.org/docs/api/webhook#create&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;create&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Event types&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;event-types&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1886-2147&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;ready&quot;&gt;Ready&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
This event is sent after authorization, when the client is fully ready to send and receive messages. Session status changes from AUTH to READY.
Field event_action contains “ready”.
Field event_data contains authorized account data: number and name.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;pushname&lt;/strong&gt; - display name in WhatsApp&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;number&lt;/strong&gt; - authorized phone number&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;id&lt;/strong&gt; - WhatsApp identifier in @c.us format&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;id&amp;quot;:19,
  &amp;quot;whatsapp_id&amp;quot; : &amp;quot;191b80a9238&amp;quot;,
  &amp;quot;event_action&amp;quot; : &amp;quot;ready&amp;quot;,
  &amp;quot;event_date&amp;quot; : &amp;quot;2023-01-24 18:29:37&amp;quot;,
  &amp;quot;status_code&amp;quot; : null,
  &amp;quot;event_data&amp;quot; :
  {
    &amp;quot;pushname&amp;quot;: &amp;quot;John&amp;quot;,
    &amp;quot;number&amp;quot; : &amp;quot;19991234567&amp;quot;,
    &amp;quot;id&amp;quot; : &amp;quot;19991234567@c.us&amp;quot;
  }
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ready&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ready&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2148-2817&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;message&quot;&gt;Message&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
This event is sent for any incoming message in a chat or group.
Field event_action contains “message”.
Field event_data contains a &lt;a href=&quot;https://whatsgate.org/docs/api/webhook#message-object&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;message object&lt;/a&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;id&amp;quot;:18,
  &amp;quot;whatsapp_id&amp;quot;:&amp;quot;191b80a9238&amp;quot;,
  &amp;quot;event_action&amp;quot;:&amp;quot;message&amp;quot;,
  &amp;quot;event_date&amp;quot;:&amp;quot;2022-09-07 18:29:37&amp;quot;,
  &amp;quot;status_code&amp;quot;:null,
  &amp;quot;event_data&amp;quot;:
  {
    &amp;quot;message&amp;quot;: 
    {
       &amp;quot;_id&amp;quot;:&amp;quot;3EB0436AE1E682FF3A37&amp;quot;,
       &amp;quot;id&amp;quot;:&amp;quot;false_19999999999@c.us_3EB0436AE1E682FF3A37&amp;quot;,
       &amp;quot;ack&amp;quot;:1,
       &amp;quot;hasMedia&amp;quot;:false,
       &amp;quot;mediaKey&amp;quot;:&amp;quot;&amp;quot;,
       &amp;quot;body&amp;quot;:&amp;quot;212&amp;quot;,
       &amp;quot;type&amp;quot;:&amp;quot;chat&amp;quot;,
       &amp;quot;timestamp&amp;quot;:1662575377,
       &amp;quot;from&amp;quot;:&amp;quot;19991112233@c.us&amp;quot;,
       &amp;quot;to&amp;quot;:&amp;quot;19999999999@c.us&amp;quot;,
       &amp;quot;isForwarded&amp;quot;:false
    }
  }
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Message&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;message&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2818-3545&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;sent&quot;&gt;Sent&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
This event is sent after successful message delivery when an asynchronous send command was used.
&lt;/p&gt;

&lt;p&gt;
Field event_action contains “sent”.
Field event_data contains the delivered &lt;a href=&quot;https://whatsgate.org/docs/api/webhook#message-object&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;message object&lt;/a&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;id&amp;quot;:19,
  &amp;quot;whatsapp_id&amp;quot;:&amp;quot;191b80a9238&amp;quot;,
  &amp;quot;event_action&amp;quot;:&amp;quot;sent&amp;quot;,
  &amp;quot;event_date&amp;quot;:&amp;quot;2022-09-07 18:29:37&amp;quot;,
  &amp;quot;status_code&amp;quot;:null,
  &amp;quot;event_data&amp;quot;:
  {
    &amp;quot;message&amp;quot;: 
    {
       &amp;quot;_id&amp;quot;:&amp;quot;3EB0436AE1E682FF3A37&amp;quot;,
       &amp;quot;id&amp;quot;:&amp;quot;false_19999999999@c.us_3EB0436AE1E682FF3A37&amp;quot;,
       &amp;quot;ack&amp;quot;:1,
       &amp;quot;hasMedia&amp;quot;:false,
       &amp;quot;mediaKey&amp;quot;:&amp;quot;&amp;quot;,
       &amp;quot;body&amp;quot;:&amp;quot;212&amp;quot;,
       &amp;quot;type&amp;quot;:&amp;quot;chat&amp;quot;,
       &amp;quot;timestamp&amp;quot;:1662575377,
       &amp;quot;from&amp;quot;:&amp;quot;19999999999@c.us&amp;quot;,
       &amp;quot;to&amp;quot;:&amp;quot;19991112233@c.us&amp;quot;,
       &amp;quot;isForwarded&amp;quot;:false
    }
  }
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Sent&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sent&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;3546-4310&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;ack&quot;&gt;Ack&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
This event is sent when a message status changes in a chat or group.
Field event_action contains “ack”.
Field event_data contains the &lt;a href=&quot;https://whatsgate.org/docs/api/webhook#message-object&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;message object&lt;/a&gt; whose status changed.
Message status is in message field ack and can be: 1 - sent, 2 - delivered, 3 - read.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;id&amp;quot;:19,
  &amp;quot;whatsapp_id&amp;quot;:&amp;quot;191b80a9238&amp;quot;,
  &amp;quot;event_action&amp;quot;:&amp;quot;ack&amp;quot;,
  &amp;quot;event_date&amp;quot;:&amp;quot;2022-09-07 18:29:37&amp;quot;,
  &amp;quot;status_code&amp;quot;:null,
  &amp;quot;event_data&amp;quot;:
  {
    &amp;quot;message&amp;quot;: 
    {
       &amp;quot;_id&amp;quot;:&amp;quot;3EB0436AE1E682FF3A37&amp;quot;,
       &amp;quot;id&amp;quot;:&amp;quot;false_19999999999@c.us_3EB0436AE1E682FF3A37&amp;quot;,
       &amp;quot;ack&amp;quot;:1,
       &amp;quot;hasMedia&amp;quot;:false,
       &amp;quot;mediaKey&amp;quot;:&amp;quot;&amp;quot;,
       &amp;quot;body&amp;quot;:&amp;quot;212&amp;quot;,
       &amp;quot;type&amp;quot;:&amp;quot;chat&amp;quot;,
       &amp;quot;timestamp&amp;quot;:1662575377,
       &amp;quot;from&amp;quot;:&amp;quot;19999999999@c.us&amp;quot;,
       &amp;quot;to&amp;quot;:&amp;quot;19991112233@c.us&amp;quot;,
       &amp;quot;isForwarded&amp;quot;:false
    }
  }
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ack&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ack&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;4311-5140&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;disconnect&quot;&gt;Disconnect&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
This event is sent when the client disconnects and closes. This happens when you remove the client from your account dashboard or revoke the link in the WhatsApp mobile app.
Field event_action contains “disconnect”.
Field event_data contains an object with field reason describing the disconnect cause.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;id&amp;quot;:19,
  &amp;quot;whatsapp_id&amp;quot;:&amp;quot;191b80a9238&amp;quot;,
  &amp;quot;event_action&amp;quot;:&amp;quot;disconnect&amp;quot;,
  &amp;quot;event_date&amp;quot;:&amp;quot;2022-09-07 18:29:37&amp;quot;,
  &amp;quot;status_code&amp;quot;:null,
  &amp;quot;event_data&amp;quot;:
  {
    &amp;quot;reason&amp;quot;: &amp;quot;Client disconnected&amp;quot;
  }
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Disconnect&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;disconnect&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;5141-5681&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;error&quot;&gt;Error&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
This event is sent when any error occurs. For example, when you try to send asynchronously to a number outside your contact list on the Light plan.
Field event_action contains “error”.
Field event_data contains an object describing the error.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;id&amp;quot;:19,
  &amp;quot;whatsapp_id&amp;quot;:&amp;quot;191b80a9238&amp;quot;,
  &amp;quot;event_action&amp;quot;:&amp;quot;error&amp;quot;,
  &amp;quot;event_date&amp;quot;:&amp;quot;2022-09-07 18:29:37&amp;quot;,
  &amp;quot;status_code&amp;quot;:null,
  &amp;quot;event_data&amp;quot;:
  {
    &amp;quot;error&amp;quot;:&amp;quot;Specified number not in your contact list&amp;quot;
  }
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Error&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;error&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;5682-6172&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;create&quot;&gt;Create&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
This event is sent for any outgoing message in a chat or group. It lets you track sent messages via webhook, including messages sent from the mobile client or other linked applications.
&lt;/p&gt;

&lt;p&gt;
Field event_action contains “create”.
&lt;/p&gt;

&lt;p&gt;
Field event_data contains a &lt;a href=&quot;https://whatsgate.org/docs/api/webhook#message-object&quot; class=&quot;wikilink1&quot; title=&quot;api:webhook&quot; data-wiki-id=&quot;api:webhook&quot;&gt;message object&lt;/a&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
  &amp;quot;id&amp;quot;:18,
  &amp;quot;whatsapp_id&amp;quot;:&amp;quot;191b80a9238&amp;quot;,
  &amp;quot;event_action&amp;quot;:&amp;quot;create&amp;quot;,
  &amp;quot;event_date&amp;quot;:&amp;quot;2022-09-07 18:29:37&amp;quot;,
  &amp;quot;status_code&amp;quot;:null,
  &amp;quot;event_data&amp;quot;:
  {
    &amp;quot;message&amp;quot;: 
    {
       &amp;quot;_id&amp;quot;:&amp;quot;3EB0436AE1E682FF3A37&amp;quot;,
       &amp;quot;id&amp;quot;:&amp;quot;true_19999999999@c.us_3EB0436AE1E682FF3A37&amp;quot;,
       &amp;quot;ack&amp;quot;:1,
       &amp;quot;hasMedia&amp;quot;:false,
       &amp;quot;mediaKey&amp;quot;:&amp;quot;&amp;quot;,
       &amp;quot;body&amp;quot;:&amp;quot;212&amp;quot;,
       &amp;quot;type&amp;quot;:&amp;quot;chat&amp;quot;,
       &amp;quot;timestamp&amp;quot;:1662575377,
       &amp;quot;from&amp;quot;:&amp;quot;19991112233@c.us&amp;quot;,
       &amp;quot;to&amp;quot;:&amp;quot;19999999999@c.us&amp;quot;,
       &amp;quot;isForwarded&amp;quot;:false
    }
  }
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Create&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;create&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;6173-7020&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;message-object&quot;&gt;Message object&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;{
   &amp;quot;_id&amp;quot;:&amp;quot;3EB0436AE1E682FF3A37&amp;quot;,
   &amp;quot;id&amp;quot;:&amp;quot;false_19999999999@c.us_3EB0436AE1E682FF3A37&amp;quot;,
   &amp;quot;ack&amp;quot;:1,
   &amp;quot;hasMedia&amp;quot;:false,
   &amp;quot;mediaKey&amp;quot;:&amp;quot;&amp;quot;,
   &amp;quot;body&amp;quot;:&amp;quot;212&amp;quot;,
   &amp;quot;type&amp;quot;:&amp;quot;chat&amp;quot;,
   &amp;quot;timestamp&amp;quot;:1662575377,
   &amp;quot;from&amp;quot;:&amp;quot;19999999999@c.us&amp;quot;,
   &amp;quot;to&amp;quot;:&amp;quot;19991112233@c.us&amp;quot;,
   &amp;quot;isForwarded&amp;quot;:false,
   &amp;quot;quoted&amp;quot;: {
       &amp;quot;_id&amp;quot;: &amp;quot;3EB07621A4D08F9F59E0&amp;quot;,
       &amp;quot;from&amp;quot;: &amp;quot;19537226631@c.us&amp;quot;,
       &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,
       &amp;quot;body&amp;quot;: &amp;quot;Hello!&amp;quot;
   }
}&lt;/pre&gt;

&lt;p&gt;
Message object fields:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;_id&lt;/strong&gt; - message identifier in WhatsApp.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;id&lt;/strong&gt; - WhatsApp message identifier that can be passed in the “&lt;a href=&quot;https://whatsgate.org/docs/api/send&quot; class=&quot;wikilink1&quot; title=&quot;api:send&quot; data-wiki-id=&quot;api:send&quot;&gt;quote&lt;/a&gt;” field to mark a message as a reply.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;ack&lt;/strong&gt;  - (int) status flag showing message state: 1 - sent, 2 - delivered, 3 - read&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;hasMedia&lt;/strong&gt; - flag indicating whether message contains a media file&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;mediaKey&lt;/strong&gt; - media file key used in &lt;a href=&quot;https://whatsgate.org/docs/api/get-media&quot; class=&quot;wikilink1&quot; title=&quot;api:get-media&quot; data-wiki-id=&quot;api:get-media&quot;&gt;get-media&lt;/a&gt; to fetch media.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;body&lt;/strong&gt; - message text&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;type&lt;/strong&gt; - message type&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;timestamp&lt;/strong&gt; - message date in Unix timestamp format&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;from&lt;/strong&gt; - sender identifier&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;to&lt;/strong&gt; - recipient identifier&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;isForwarded&lt;/strong&gt; - indicates whether the message was forwarded from another chat&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;quoted&lt;/strong&gt; - if this message quotes (replies to) another message, quoted contains the quoted message object.&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;   &lt;strong&gt;_id&lt;/strong&gt; - quoted message identifier&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;   &lt;strong&gt;from&lt;/strong&gt; - quoted message author identifier&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;   &lt;strong&gt;type&lt;/strong&gt; - quoted message type&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt;   &lt;strong&gt;body&lt;/strong&gt; - quoted message text&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Message object&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;message-object&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;7021-8485&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit14&quot; id=&quot;php-code-for-webhook-request-handling&quot;&gt;PHP code for webhook request handling&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code php&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co1&quot;&gt;//buffer output&lt;/span&gt;
&lt;a href=&quot;http://www.php.net/ob_start&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;ob_start&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;a href=&quot;http://www.php.net/var_dump&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;var_dump&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'----------------------'&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;a href=&quot;http://www.php.net/date&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;date&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'d.m.Y H:i:s'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'----------------'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co1&quot;&gt;//extract request data&lt;/span&gt;
&lt;span class=&quot;re0&quot;&gt;$input&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/file_get_contents&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;file_get_contents&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'php://input'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;re0&quot;&gt;$input_data&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/json_decode&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;json_decode&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$input&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;a href=&quot;http://www.php.net/var_dump&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;var_dump&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$input_data&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$input_data&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'event_action'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'message'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;co1&quot;&gt;//@TODO process incoming message&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$input_data&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'event_action'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'ack'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;co1&quot;&gt;//@TODO process delivery or read status&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$input_data&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'event_data'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'message'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'ack'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;co1&quot;&gt;//@TODO delivered&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$input_data&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'event_data'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'message'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'ack'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;co1&quot;&gt;//@TODO read&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co1&quot;&gt;//save log&lt;/span&gt;
&lt;span class=&quot;re0&quot;&gt;$fo&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/fopen&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;fopen&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'webhook.log'&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'a'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;a href=&quot;http://www.php.net/fwrite&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;fwrite&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$fo&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;a href=&quot;http://www.php.net/ob_get_clean&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;ob_get_clean&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;a href=&quot;http://www.php.net/fclose&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;fclose&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$fo&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co1&quot;&gt;//build and output response&lt;/span&gt;
&lt;span class=&quot;re0&quot;&gt;$answer_data&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;
    &lt;span class=&quot;st_h&quot;&gt;'id'&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$input_data&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'id'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;st_h&quot;&gt;'result'&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'OK'&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;a href=&quot;http://www.php.net/json_encode&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;json_encode&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$answer_data&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;PHP code for webhook request handling&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;php-code-for-webhook-request-handling&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;8486-&amp;quot;} --&gt;</description>
            <author>denis716@undisclosed.example.com (denis716)</author>
        <category>api</category>
            <pubDate>Fri, 16 Oct 2026 20:14:47 +0000</pubDate>
        </item>
    </channel>
</rss>
