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
Built Distribution
File details
Details for the file unisender_go_api-0.3.0.tar.gz
.
File metadata
- Download URL: unisender_go_api-0.3.0.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0e9d06318b83d1fc3ed1c0dce9d44e6e851d70f9d48f36a7fdcddcf19f80862 |
|
MD5 | 577a1e1e3101bb64b079f0c8f674f4da |
|
BLAKE2b-256 | cde612a95e704709c49b763584803d28447292b86259a0c13e99471643a3b80f |
File details
Details for the file unisender_go_api-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: unisender_go_api-0.3.0-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92c8e1df9ce37f7c134af536c8bd32e688790cc90c7293d2595340dd1b3a95d1 |
|
MD5 | f38cbc3ad47013be2bcb4683ab8c937e |
|
BLAKE2b-256 | 3e8f45b3176759a8fa87b222cb5c3c3b1a3504edc1c50ca1ab915b0abdd089c7 |