WebhooksEntity в библиотеке WT CDEK для Joomla: подписки на вебхуки и URL обработчика. На странице — назначение, параметры и примеры PHP для расширений Joomla.
Webtolk\Cdekapi\Entities\WebhooksEntity используется для управления подписками на вебхуки СДЭК. Через нее можно посмотреть активные подписки, создать новую, удалить существующую и даже получить Joomla URL для входящих вебхуков, если используется системный плагин wtcdek.
Получение Entity:
$webhooks = $cdek->webhooks();
getAllowedTypes(): array
Сигнатура
public function getAllowedTypes(): array
REST API
Не вызывает REST API.
Что делает
Возвращает список допустимых типов подписок, которые знает сама библиотека:
ORDER_STATUSORDER_MODIFIEDPRINT_FORMRECEIPTPREALERT_CLOSEDACCOMPANYING_WAYBILLOFFICE_AVAILABILITYDELIV_PROBLEMDELIV_AGREEMENTCOURIER_INFO
Что возвращает
Массив строк с допустимыми типами вебхуков.
Пример
<?php
declare(strict_types=1);
use Webtolk\Cdekapi\Cdek;
defined('_JEXEC') or die;
$cdek = new Cdek();
$types = $cdek->webhooks()->getAllowedTypes();
getAll(): array
Сигнатура
public function getAll(): array
REST API
GET /v2/webhooks
Что делает
Возвращает все активные подписки на вебхуки.
Параметры
Метод не принимает параметров.
Что возвращает
Массив подписок.
Пример
<?php
declare(strict_types=1);
use Webtolk\Cdekapi\Cdek;
defined('_JEXEC') or die;
$cdek = new Cdek();
$webhooks = $cdek->webhooks()->getAll();
create(string $url, string $type): array
Сигнатура
public function create(string $url, string $type): array
REST API
POST /v2/webhooks
Что делает
Создает новую подписку на вебхук.
Параметры
$url— корректный URL обработчика;$type— один из типов изgetAllowedTypes().
Библиотека отдельно проверяет валидность URL и допустимость типа.
Что возвращает
Асинхронный ответ API со статусом создания подписки.
Пример
<?php
declare(strict_types=1);
use Webtolk\Cdekapi\Cdek;
defined('_JEXEC') or die;
$cdek = new Cdek();
$result = $cdek->webhooks()->create(
'https://example.com/index.php?option=com_ajax&plugin=wtcdek&group=system&format=raw&action=webhook',
'ORDER_STATUS'
);
deleteByUuid(string $uuid): array
Сигнатура
public function deleteByUuid(string $uuid): array
REST API
DELETE /v2/webhooks/{uuid}
Что делает
Удаляет подписку на вебхук по UUID.
Параметры
$uuid— UUID подписки.
Что возвращает
Массив ответа API.
Пример
<?php
declare(strict_types=1);
use Webtolk\Cdekapi\Cdek;
defined('_JEXEC') or die;
$cdek = new Cdek();
$result = $cdek->webhooks()->deleteByUuid('11111111-1111-1111-1111-111111111111');
getByUuid(string $uuid): array
Сигнатура
public function getByUuid(string $uuid): array
REST API
GET /v2/webhooks/{uuid}
Что делает
Возвращает данные одной подписки на вебхук.
Параметры
$uuid— UUID подписки.
Что возвращает
Массив данных по подписке.
Пример
<?php
declare(strict_types=1);
use Webtolk\Cdekapi\Cdek;
defined('_JEXEC') or die;
$cdek = new Cdek();
$result = $cdek->webhooks()->getByUuid('11111111-1111-1111-1111-111111111111');
getJoomlaWebhookUrl(): string
Сигнатура
public function getJoomlaWebhookUrl(): string
REST API
Не вызывает REST API.
Что делает
Собирает Joomla URL для приема входящих вебхуков через com_ajax и системный плагин wtcdek. Метод работает только если:
- плагин
System - WT Cdekвключен; - в его параметрах задан
webhook_token.
Что возвращает
Строку URL или пустую строку, если URL нельзя собрать.
Пример
<?php
declare(strict_types=1);
use Webtolk\Cdekapi\Cdek;
defined('_JEXEC') or die;
$cdek = new Cdek();
$url = $cdek->webhooks()->getJoomlaWebhookUrl();