{% extends 'Layouts/Doc/default.html.twig' %}
{% block title %}{{ 'app.documentation.menu.webhook.events_order'|trans }}{% endblock %}
{% block headerPageTitle %}WEBHOOK {{ 'app.documentation.menu.webhook.events_sync'|trans|upper }}{% endblock %}
{% block body %}
<div class="card">
<div class="card-body flex-column p-5">
<div class="d-flex align-items-center h-lg-150px p-5 p-lg-15">
<div class="row">
<div class="col-md-12 pt-5 scroll-y mt-10">
<h1 class="fw-bold fs-4 fs-lg-1 text-gray-800 mb-3">Learn about webhooks and how events are triggered for your account</h1>
<div class="position-relative w-100 text-gray-800">
<p><strong>Webhooks</strong> allow you to <strong>automate</strong> custom backend actions in response to the transitions that happen in a <strong>order & payment flows</strong>.</p>
</div>
<h1 class="fw-bold fs-4 fs-lg-1 text-gray-800 mb-3 mt-10">Events overview</h1>
<div class="position-relative w-100 text-gray-800">
<p><strong>Events</strong> are our way of letting you know when something interesting happens in your account. When an event occurs, we create a new Event object. If you registered a webhook endpoint to receive that event, we send it to your endpoint as part of a <strong>POST request</strong>.</p>
</div>
</div>
</div>
</div>
<div class="d-flex align-items-center p-lg-15">
<div class="row scroll-x">
<div class="row">
<h1 class="fw-bold fs-4 fs-lg-1 text-gray-800 mb-3">Example events</h1>
<p>The following <strong>events</strong> that can be sent via webhook.</p>
<ul class="nav nav-tabs nav-line-tabs mb-5 fs-6">
<li class="nav-item">
<a class="nav-link active" data-bs-toggle="tab" href="#opening_hour">Opening Hour</a>
</li>
<li class="nav-item">
<a class="nav-link" data-bs-toggle="tab" href="#category">Category</a>
</li>
</ul>
<div class="tab-content" id="webhookExampleTabs">
<div class="tab-pane fade show active" id="opening_hour" role="tabpanel">
<div class="highlight text-gray-700">
<div class="highlight-code">
<pre class="language-html" tabindex="0">
<code class="language-html"><span class="token tag">
{
"<span class="token attr-value"><span></span><span class="token punctuation">object</span></span>": "<span class="token attr-value"><span class="token punctuation">{{ constant('App\\Entity\\Admin\\Webhook\\WebhookInterface::OBJECT_OPENING_HOUR') }}</span></span>",
"<span class="token attr-value"><span></span><span class="token punctuation">created</span></span>": "<span class="token attr-value"><span class="token punctuation">2025-03-14T00:13:09+00:00</span></span>",
"<span class="token attr-value"><span></span><span class="token punctuation">event</span></span>": "<span class="token attr-value"><span class="token punctuation">create</span></span>", // {{ constant('App\\Entity\\Admin\\Webhook\\WebhookInterface::SYNC_EVENTS')|join(', ', ' and ') }}
"<span class="token attr-value"><span></span><span class="token punctuation">param</span></span>": <span class="token attr-value"><span class="token punctuation">[]</span></span>,
"<span class="token attr-value"><span></span><span class="token punctuation">data</span></span>": {
"<span class="token attr-value"><span></span><span class="token punctuation">id</span></span>": <span class="token attr-value"><span class="token punctuation">363</span></span>,
"<span class="token attr-value"><span></span><span class="token punctuation">shop</span></span>": {
"<span class="token attr-value"><span></span><span class="token punctuation">id</span></span>": "<span class="token attr-value"><span class="token punctuation">21</span></span>",
"<span class="token attr-value"><span></span><span class="token punctuation">name</span></span>": "<span class="token attr-value"><span class="token punctuation">CHEZ GEGE</span></span>",
},
"<span class="token attr-value"><span></span><span class="token punctuation">startingTime</span></span>": "<span class="token attr-value"><span class="token punctuation">1970-01-01T12:00:00+00:00</span></span>",
"<span class="token attr-value"><span></span><span class="token punctuation">endingTime</span></span>": "<span class="token attr-value"><span class="token punctuation">1970-01-01T13:00:00+00:00</span></span>",
"<span class="token attr-value"><span></span><span class="token punctuation">day</span></span>": <span class="token attr-value"><span class="token punctuation">6</span></span>,
"<span class="token attr-value"><span></span><span class="token punctuation">enabled</span></span>": <span class="token attr-value"><span class="token punctuation">false</span></span>,
"<span class="token attr-value"><span></span><span class="token punctuation">startingTimeApi</span></span>": <span class="token attr-value"><span class="token punctuation">12:00:00</span></span>,
"<span class="token attr-value"><span></span><span class="token punctuation">endingTimeApi</span></span>": <span class="token attr-value"><span class="token punctuation">15:00:00</span></span>,
}
}</span>
</code>
</pre>
</div>
</div>
</div>
<div class="tab-pane fade" id="category" role="tabpanel">
<div class="highlight text-gray-700">
<div class="highlight-code">
<pre class="language-html" tabindex="0">
<code class="language-html"><span class="token tag">
{
"<span class="token attr-value"><span></span><span class="token punctuation">object</span></span>": "<span class="token attr-value"><span class="token punctuation">{{ constant('App\\Entity\\Admin\\Webhook\\WebhookInterface::OBJECT_CATEGORY') }}</span></span>",
"<span class="token attr-value"><span></span><span class="token punctuation">created</span></span>": "<span class="token attr-value"><span class="token punctuation">2025-05-12T13:35:40+00:00</span></span>",
"<span class="token attr-value"><span></span><span class="token punctuation">event</span></span>": "<span class="token attr-value"><span class="token punctuation">update</span></span>", // {{ constant('App\\Entity\\Admin\\Webhook\\WebhookInterface::SYNC_EVENTS')|join(', ', ' and ') }}
"<span class="token attr-value"><span></span><span class="token punctuation">param</span></span>": <span class="token attr-value"><span class="token punctuation">[]</span></span>,
"<span class="token attr-value"><span></span><span class="token punctuation">data</span></span>": {
"<span class="token attr-value"><span></span><span class="token punctuation">id</span></span>": <span class="token attr-value"><span class="token punctuation">1281</span></span>,
"<span class="token attr-value"><span></span><span class="token punctuation">imageFile</span></span>": <span class="token attr-value"><span class="token punctuation">null</span></span>,
"<span class="token attr-value"><span></span><span class="token punctuation">parentId</span></span>": <span class="token attr-value"><span class="token punctuation">null</span></span>,
"<span class="token attr-value"><span></span><span class="token punctuation">parent</span></span>": <span class="token attr-value"><span class="token punctuation">null</span></span>,
"<span class="token attr-value"><span></span><span class="token punctuation">translations</span></span>": {
"<span class="token attr-value"><span></span><span class="token punctuation">name</span></span>": "<span class="token attr-value"><span class="token punctuation">Boissons</span></span>",
"<span class="token attr-value"><span></span><span class="token punctuation">description</span></span>": "<span class="token attr-value"><span class="token punctuation">Boissons</span></span>",
"<span class="token attr-value"><span></span><span class="token punctuation">locale</span></span>": {
"<span class="token attr-value"><span></span><span class="token punctuation">code</span></span>": "<span class="token attr-value"><span class="token punctuation">fr_FR</span></span>",
"<span class="token attr-value"><span></span><span class="token punctuation">name</span></span>": "<span class="token attr-value"><span class="token punctuation">Français</span></span>",
},
},
"<span class="token attr-value"><span></span><span class="token punctuation">visible</span></span>": "<span class="token attr-value"><span class="token punctuation">false</span></span>",
"<span class="token attr-value"><span></span><span class="token punctuation">enabled</span></span>": "<span class="token attr-value"><span class="token punctuation">false</span></span>",
"<span class="token attr-value"><span></span><span class="token punctuation">externalId</span></span>": <span class="token attr-value"><span class="token punctuation">6121212</span></span>,
"<span class="token attr-value"><span></span><span class="token punctuation">imageUrl</span></span>": <span class="token attr-value"><span class="token punctuation">null</span></span>,
"<span class="token attr-value"><span></span><span class="token punctuation">position</span></span>": <span class="token attr-value"><span class="token punctuation">0</span></span>,
}
}</span>
</code>
</pre>
</div>
</div>
</div>
</div>
<h1 class="fw-bold fs-4 fs-lg-1 text-gray-800 mb-3 mt-10">Event object structure</h1>
<h2 class="fs-3 mt-10">object</h2>
<p>The concerned object with this event. we currently managing the following objects:</p>
<ul>
<li>Opening hour</li>
</ul>
<h2 class="fs-3 mt-10">created</h2>
<p>The date and time when this event occured.</p>
<h2 class="fs-3 mt-10">event</h2>
<div class="p-4 bg-light-primary">
{% include 'Doc/States/Sync/sync.html.twig' %}
</div>
<h2 class="fs-3 mt-10">data</h2>
<p>The new data for this object.</p>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block stylesheets %}
<link href="{{ asset('metronic/v8.1.5/plugins/custom/prismjs/prismjs.bundle.css') }}" rel="stylesheet" type="text/css" />
{% endblock %}