mailyzer

API

HTTP и JSON. Адрес: https://mailyzer.ru/v1

Ключ

Ключ создаётся в кабинете и передаётся в заголовке. Ключ показывается один раз. Ключом нельзя создавать другие ключи и менять пароль аккаунта. Без действующего доступа API отвечает 402.

Authorization: Bearer mz_…

Код за три запроса

Создать ящик, указать адрес на сайте, опрашивать код раз в несколько секунд.

curl -X POST https://mailyzer.ru/v1/boxes \
  -H "Authorization: Bearer $MAILYZER_KEY" -H "Content-Type: application/json" \
  -d '{"n": 1, "note": "steam"}'
# → {"boxes": [{"id": 17, "address": "k.sokolova@mailyzer.ru", "password": "…", …}]}
curl "https://mailyzer.ru/v1/boxes/17/code?window=15" -H "Authorization: Bearer $MAILYZER_KEY"
# → {"code": "4KQ2W", "subject": "Ваш код Steam Guard", "received_at": "…"}
# → {"code": null} — письма с кодом за 15 минут ещё нет

Код ищется в теме и тексте письма рядом со словами «код», «code», «Steam Guard» и похожими. Старые письма не отдаются: окно свежести — от 1 до 180 минут.

Методы

GET/accountАккаунт, срок доступа, сколько ящиков создано за сутки
GET/boxes?q=&ref=&group=&limit=&offset=Ящики аккаунта: свои и выданные, с правами (role)
POST/boxesСоздать: {n} — имена подберёт сервис, или {names: [...]}; note, ref, password, group_id
GET/boxes/check?name=Свободно ли имя и подходит ли оно
POST/boxes/attachДобавить чужой ящик по {address, password} — с правом чтения
GET/boxes/{id}Ящик и письма. Пароль — только при полном доступе
GET/boxes/by-address/{address}Ящик по адресу (только из ваших)
GET/boxes/{id}/code?window=15Код из самого свежего письма за window минут; code: null — письма ещё нет
GET/boxes/{id}/messages/{mid}Письмо целиком, с HTML
PATCH/boxes/{id}Поменять note или ref (полный доступ)
POST/boxes/{id}/passwordНовый пароль: {password} или пусто — сгенерировать. Входы по паролю закрываются
DELETE/boxes/{id}Владелец удаляет ящик совсем, остальные — убирают из своего аккаунта
GET/boxes/{id}/accessКто видит ящик: владелец, аккаунты, открытые входы (полный доступ)
POST/boxes/{id}/accessВыдать доступ аккаунту: {email, role: read | full}
DELETE/boxes/{id}/sessions/{sid}Закрыть вход по паролю
POST/boxes/{id}/shareСсылка и QR-код передачи: {role}. Одноразовая, 24 часа
GET/messages?group=&before=&limit=Общая лента писем всех ящиков или одной группы
GET/groupsГруппы ящиков
POST/groupsСоздать группу: {name, color}
POST/groups/{id}/boxesДобавить ящики в группу: {box_ids}
POST/groups/{id}/shareСсылка и QR-код передачи группы

ref — ваша строка до 64 символов (например, номер заказа): по ней можно найти ящик, не храня наших номеров. Права на ящик (role): owner, full, read. Полная схема — OpenAPI.

Лимиты и ошибки

  • До 240 запросов в минуту на аккаунт, до 500 ящиков за один запрос, до 1000 новых ящиков за сутки.
  • Ящики хранятся бессрочно, письма — 7 дней.
  • Письмо — до 1 МБ, вложения не сохраняются. На ящик хранится 50 последних писем.
  • Ошибка приходит с кодом HTTP и текстом в detail: 400 — неверный запрос, 401 — ключ, 402 — нет доступа, 403 — не хватает прав на ящик, 404 — ящика нет среди ваших, 429 — слишком часто или кончился суточный лимит.