WebhooksEntity: вебхуки СДЭК для Joomla и PHP

WT CDEK library - Документация
Категория: Библиотеки

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_STATUS
  • ORDER_MODIFIED
  • PRINT_FORM
  • RECEIPT
  • PREALERT_CLOSED
  • ACCOMPANYING_WAYBILL
  • OFFICE_AVAILABILITY
  • DELIV_PROBLEM
  • DELIV_AGREEMENT
  • COURIER_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();

Обзор и начало работы

Исходный код WT CDEK 1.4.0 на GitHub

Расширения Joomla WebTolk

113 Всего расширений
12 Категорий
587 Выпущено версий
920768 Всего скачиваний