Исходный код cdek.apps.webhook.webhook

from __future__ import annotations

from ..app import App
from .requests import WebhookRequest
from .responses import (
    WebhookDeleteEntityResponse,
    WebhookResponse,
    WebhookUUIDEntityResponse,
    WebookSetEntityResponse,
)


[документация] class WebhookApp(App): """Класс для работы с webhook"""
[документация] def all(self) -> list[WebhookResponse]: """Информация о слушателях webhook""" response = self._get("webhooks") return [WebhookResponse.model_validate(item) for item in response]
[документация] def get(self, uuid: str) -> WebhookUUIDEntityResponse: """ Информация о слушателе webhook Args: uuid: идентификатор слушателя webhook Returns: WebhookUUIDEntityResponse: объект с информацией о слушателе webhook """ response = self._get(f"webhooks/{uuid}") return WebhookUUIDEntityResponse.model_validate(response)
[документация] def delete(self, uuid: str) -> WebhookDeleteEntityResponse: """ Удаление слушателя webhook Args: uuid: идентификатор слушателя webhook Returns: WebhookDeleteEntityResponse: объект с информацией о удаленном слушателе webhook """ if not isinstance(uuid, str): raise ValueError("uuid must be a str") response = self._delete(f"webhooks/{uuid}") return WebhookDeleteEntityResponse.model_validate(response)
[документация] def set(self, webhook: WebhookRequest) -> WebookSetEntityResponse: """ Добавление нового слушателя webhook Args: webhook: объект WebhookRequest с параметрами запроса Returns: WebookSetEntityResponse: объект с информацией о добавленном слушателе webhook Raises: ValueError: если webhook не является объектом WebhookRequest """ if not isinstance(webhook, WebhookRequest): raise ValueError("webhook must be a WebhookRequest") response = self._post("webhooks", json=webhook) return WebookSetEntityResponse.model_validate(response)