Thin wrapper for the Unisender Go API
Project description
Unisender Go API
Библиотека Unisender Go API упрощает работу с веб API Unisender Go. Библиотека предоставляет тонкую обёртку над HTTPX: она добавляет к обычным возможностям HTTPX свои схемы данных, а также удобные часто используемые функции, но не мешает, при необходимости, спускаться ниже на уровень HTTP-запросов.
Документация к API Unisender Go.
Ключевые возможности библиотеки
Ключевые возможности библиотеки Unisender Go API:
- Готовый механизм авторизации
- Поддержка синхронных и асинхронных запросов к API
- Доступ к API из любого места в коде через
contextvars
- Строгая валидация данных перед отправкой запросов к API
- Строгая валидация данных при получении данных от API
- Наглядные схемы данных для всех типов запросов и ответов к API с цитатами из оф.документации к API
- Подробная отладочная информация по взаимодействию с API
- Возможность добавлять новые API endpoints по мере их появления в Unisender Go прямо из внешнего прикладного кода
Пример использования
Пример использования синхронного клиента для отправки письма на адрес recepient@example.com:
from unisender_go_api import SyncClient, SendRequest
with SyncClient.setup('place-your-token-here'):
request = SendRequest(
message={
"recipients": [
{"email": "recepient@example.com"},
],
"body": {
"html": "<b>Hello, username!</b>",
},
"subject": "Greetings to you",
"from_email": "mailing@dvmn.org",
},
)
request.send()
Известные ограничения
Временные ограничения:
- Из всем методов API реализован только
send
, и то ограничениями:- Не поддерживается
recipients[].metadata
- Не поддерживается
global_metadata
- Не поддерживается
bypass_global
- Не поддерживается
bypass_unavailable
- Не поддерживается
bypass_unsubscribed
- Не поддерживается
bypass_complained
- Не поддерживается
headers
- Не поддерживается
options
- Не поддерживается
- Не реализован асинхронный клиент
- Не реализованы shortcuts для упрощённого доступа к API
- Из двух серверов Unisender Go поддерживается только один — https://go1.unisender.ru/ru/transactional/api/
Исключения
При работе с API библиотека Unisender Go API API выкидывает несколько типов исключений:
UnisenderGoError
и его подтипы, см. файл unisender_go_api/exceptions.pyhttpx.HTTPError
pydantic.ValidationError
— только при подготовке данных исходящего запроса к API, но не при обработке HTTP ответа
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
unisender_go_api-0.3.0.tar.gz
(10.0 kB
view hashes)
Built Distribution
Close
Hashes for unisender_go_api-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92c8e1df9ce37f7c134af536c8bd32e688790cc90c7293d2595340dd1b3a95d1 |
|
MD5 | f38cbc3ad47013be2bcb4683ab8c937e |
|
BLAKE2b-256 | 3e8f45b3176759a8fa87b222cb5c3c3b1a3504edc1c50ca1ab915b0abdd089c7 |