Email API

Наразі ми ще не випустили жодних обгорток API, але плануємо зробити це найближчим часом. Надішліть електронного листа на api@forwardemail.net, якщо хочете отримати повідомлення, коли буде випущена обгортка API для певної мови програмування. Тим часом ви можете використовувати ці рекомендовані бібліотеки HTTP-запитів у вашому додатку або просто використовувати curl, як у наведених нижче прикладах.

Мова Бібліотека
Ruby Faraday
Python requests
Java OkHttp
PHP guzzle
JavaScript superagent (ми є підтримувачами)
Node.js superagent (ми є підтримувачами)
Go net/http
.NET RestSharp

Поточний базовий шлях HTTP URI: https://fe.tiamati.email.

Всі кінцеві точки вимагають автентифікації за допомогою Basic Authorization. Ми підтримуємо два методи автентифікації:

Встановіть свій API ключ як значення "username" з порожнім паролем:

curl https://fe.tiamati.email/v1/account \
  -u API_TOKEN:

Зверніть увагу на двокрапку (:) після API токена – це вказує на порожній пароль у форматі Basic Auth.

Alias Credentials Authentication (Для вихідної електронної пошти)

Кінцева точка Create outbound SMTP email також підтримує автентифікацію за допомогою вашої псевдонімної електронної адреси та згенерованого пароля псевдоніма:

curl -X POST https://fe.tiamati.email/v1/emails \
  -u "alias@yourdomain.com:your_generated_password" \
  -d "to=recipient@example.com" \
  -d "subject=Hello" \
  -d "text=Test email"

Цей метод корисний при надсиланні електронних листів з додатків, які вже використовують SMTP облікові дані, і робить міграцію з SMTP на наш API безшовною.

Alias-Only Endpoints

Кінцеві точки Alias Contacts, Alias Calendars, Alias Messages та Alias Folders вимагають облікові дані псевдоніма і не підтримують автентифікацію за допомогою API токена.

Не хвилюйтеся – нижче наведені приклади, якщо ви не впевнені, що це таке.

Якщо виникають помилки, тіло відповіді API міститиме детальне повідомлення про помилку.

Код Назва
200 OK
400 Некоректний запит
401 Неавторизовано
403 Заборонено
404 Не знайдено
429 Занадто багато запитів
500 Внутрішня помилка сервера
501 Не реалізовано
502 Поганий шлюз
503 Сервіс недоступний
504 Тайм-аут шлюзу

Tip

Якщо ви отримали статус-код 5xx (що не повинно траплятися), будь ласка, зв’яжіться з нами за адресою api@forwardemail.net, і ми допоможемо вам негайно вирішити вашу проблему.

Наш сервіс перекладено більш ніж на 25 різних мов. Всі повідомлення відповіді API перекладаються на останню локаль, виявлену у користувача, який робить API-запит. Ви можете перевизначити це, передавши власний заголовок Accept-Language. Не соромтеся спробувати це, використовуючи випадаюче меню мов у нижній частині цієї сторінки.

Note

Починаючи з 1 листопада 2024 року кінцеві точки API для List domains та List domain aliases за замовчуванням будуть повертати максимум 1000 результатів на сторінку. Якщо ви хочете раніше скористатися цією поведінкою, ви можете додати ?paginate=true як додатковий параметр рядка запиту до URL кінцевої точки.

Пагінація підтримується всіма кінцевими точками API, які повертають списки результатів.

Просто вкажіть параметри рядка запиту page (і за бажанням limit).

Параметр page повинен бути числом, більшим або рівним 1. Якщо ви вказуєте limit (також число), мінімальне значення – 10, а максимальне – 50 (якщо не зазначено інше).

Параметр рядка запиту Обов’язковий Тип Опис
page Ні Число Сторінка результатів для повернення. Якщо не вказано, значення page буде 1. Має бути числом, більшим або рівним 1.
limit Ні Число Кількість результатів на сторінку. За замовчуванням 10, якщо не вказано. Має бути числом, більшим або рівним 1 і меншим або рівним 50.
Щоб визначити, чи доступні додаткові результати, ми надаємо ці HTTP-заголовки відповіді (які ви можете розпарсити для програмної пагінації):
HTTP Response Header Example Description
X-Page-Count X-Page-Count: 3 Загальна кількість доступних сторінок.
X-Page-Current X-Page-Current: 1 Поточна сторінка результатів, що повертається (наприклад, на основі параметра рядка запиту page).
X-Page-Size X-Page-Size: 10 Загальна кількість результатів на поверненій сторінці (наприклад, на основі параметра рядка запиту limit та фактичних повернених результатів).
X-Item-Count X-Item-Count: 30 Загальна кількість елементів, доступних на всіх сторінках.
Link Link: <https://api.forwardemail.net/v1/emails?page=1>; rel="prev", <https://api.forwardemail.net/v1/emails?page=3>; rel="next", <https://api.forwardemail.net/v1/emails?page=3; rel="last", https://api.forwardemail.net/v1/emails?page=1; rel="first" Ми надаємо HTTP-заголовок відповіді Link, який ви можете розпарсити, як показано в прикладі. Це схоже на GitHub (наприклад, не всі значення будуть надані, якщо вони не є релевантними або доступними, наприклад, "next" не буде надано, якщо немає наступної сторінки).

Example Request:

curl https://fe.tiamati.email/v1/domains/example.com/aliases?page=2&pagination=true \
  -u API_TOKEN:

Отримати логи

Наш API програмно дозволяє вам завантажувати логи для вашого облікового запису. Надсилання запиту до цього кінцевого пункту обробить усі логи вашого облікового запису та надішле їх вам електронною поштою у вигляді вкладення (стиснутий за допомогою Gzip файл CSV) після завершення.

Це дозволяє створювати фонові завдання за допомогою Cron job або використовуючи наше Node.js програмне забезпечення для планування завдань Bree, щоб отримувати логи коли завгодно. Зверніть увагу, що цей кінцевий пункт обмежений 10 запитами на день.

Вкладення має назву у нижньому регістрі email-deliverability-logs-YYYY-MM-DD-h-mm-A-z.csv.gz, а сама електронна пошта містить короткий звіт про отримані логи. Ви також можете завантажувати логи у будь-який час з Мій обліковий запис → Логи

GET /v1/logs/download

Параметр рядка запиту Обов’язковий Тип Опис
domain Ні Рядок (FQDN) Фільтрувати логи за повністю кваліфікованим доменом ("FQDN"). Якщо не вказано, будуть отримані логи по всіх доменах.
q Ні Рядок Пошук логів за електронною поштою, доменом, іменем псевдоніма, IP-адресою або датою (формати M/Y, M/D/YY, M-D, M-D-YY, або M.D.YY).
bounce_category Ні Рядок Пошук логів за конкретною категорією відмови (наприклад, blocklist).
response_code Ні Число Пошук логів за конкретним кодом помилки відповіді (наприклад, 421 або 550).

Example Request:

curl https://fe.tiamati.email/v1/logs/download \
  -u API_TOKEN:

Приклад Cron job (щодня опівночі):

0 0 * * * /usr/bin/curl https://fe.tiamati.email/v1/logs/download -u API_TOKEN: &>/dev/null

Зверніть увагу, що ви можете використовувати сервіси, такі як Crontab.guru, для перевірки синтаксису вашого виразу cron job.

Приклад Cron job (щодня опівночі і з логами за попередній день):

Для MacOS:

0 0 * * * /usr/bin/curl https://fe.tiamati.email/v1/logs/download?q=`date -v-1d -u "+%-m/%-d/%y"` -u API_TOKEN: &>/dev/null

Для Linux та Ubuntu:

0 0 * * * /usr/bin/curl https://fe.tiamati.email/v1/logs/download?q=`date --date "-1 days" -u "+%-m/%-d/%y"` -u API_TOKEN: &>/dev/null

Створити обліковий запис

POST /v1/account

Параметр тіла Обов’язковий Тип Опис
email Так Рядок (Email) Адреса електронної пошти
password Так Рядок Пароль

Example Request:

curl -X POST https://fe.tiamati.email/v1/account \
  -u API_TOKEN: \
  -d "email=user%40gmail.com"

Отримати обліковий запис

GET /v1/account

Example Request:

curl https://fe.tiamati.email/v1/account \
  -u API_TOKEN:

Оновити обліковий запис

PUT /v1/account

Параметр тіла Обов’язковий Тип Опис
email Ні Рядок (Email) Адреса електронної пошти
given_name Ні Рядок Ім’я
family_name Ні Рядок Прізвище
avatar_url Ні Рядок (URL) Посилання на зображення аватара

Example Request:

curl -X PUT https://fe.tiamati.email/v1/account \
  -u API_TOKEN: \
  -d "email=user%40gmail.com"

Note

На відміну від інших кінцевих точок API, для цих потрібна Аутентифікація з "ім’ям користувача", що дорівнює імені користувача псевдоніма, та "паролем", що дорівнює згенерованому паролю псевдоніма, у заголовках Basic Authorization. [!WARNING] Цей розділ кінцевих точок знаходиться у стадії розробки і, сподіваємось, буде випущений у 2024 році. Тимчасово, будь ласка, використовуйте IMAP-клієнт із випадаючого меню "Apps" у навігації нашого вебсайту.

Список контактів

GET /v1/contacts

Скоро буде

Створити контакт

POST /v1/contacts

Скоро буде

Отримати контакт

GET /v1/contacts/:id

Скоро буде

Оновити контакт

PUT /v1/contacts/:id

Скоро буде

Видалити контакт

DELETE /v1/contacts/:id

Скоро буде

Note

На відміну від інших API кінцевих точок, для цих потрібна Аутентифікація з "username", що дорівнює імені користувача псевдоніма, та "password", що дорівнює згенерованому паролю псевдоніма, як заголовки Basic Authorization.

Warning

Цей розділ кінцевих точок знаходиться у стадії розробки і, сподіваємось, буде випущений у 2024 році. Тимчасово, будь ласка, використовуйте IMAP-клієнт із випадаючого меню "Apps" у навігації нашого вебсайту.

Список календарів

GET /v1/calendars

Скоро буде

Створити календар

POST /v1/calendars

Скоро буде

Отримати календар

GET /v1/calendars/:id

Скоро буде

Оновити календар

PUT /v1/calendars/:id

Скоро буде

Видалити календар

DELETE /v1/calendars/:id

Скоро буде

Note

На відміну від інших API кінцевих точок, для цих потрібна Аутентифікація з "username", що дорівнює імені користувача псевдоніма, та "password", що дорівнює згенерованому паролю псевдоніма, як заголовки Basic Authorization.

Warning

Цей розділ кінцевих точок знаходиться у стадії розробки і, сподіваємось, буде випущений у 2024 році. Тимчасово, будь ласка, використовуйте IMAP-клієнт із випадаючого меню "Apps" у навігації нашого вебсайту.

Будь ласка, переконайтеся, що ви виконали інструкції з налаштування для вашого домену.

Ці інструкції можна знайти у нашому розділі FAQ Чи підтримуєте ви отримання електронної пошти через IMAP?.

Список та пошук повідомлень

GET /v1/messages

Скоро буде

Створити повідомлення

Note

Це НЕ відправить електронного листа – воно лише додасть повідомлення до вашої папки поштової скриньки (наприклад, це схоже на команду IMAP APPEND). Якщо ви хочете відправити електронного листа, дивіться Створення вихідного SMTP листа нижче. Після створення вихідного SMTP листа ви можете додати його копію за допомогою цієї кінцевої точки до поштової скриньки вашого псевдоніма для зберігання.

POST /v1/messages

Скоро буде

Отримати повідомлення

GET /v1/messages/:id

Скоро буде

Оновити повідомлення

PUT /v1/messages/:id

Скоро буде

Видалити повідомлення

DELETE /v1/messages:id

Скоро буде

Tip

Кінцеві точки папок з шляхом папки /v1/folders/:path як їхньою кінцевою точкою взаємозамінні з ID папки :id. Це означає, що ви можете звертатися до папки або за її path, або за id.

Warning

Цей розділ кінцевих точок знаходиться у стадії розробки і, сподіваємось, буде випущений у 2024 році. Тимчасово, будь ласка, використовуйте IMAP-клієнт із випадаючого меню "Apps" у навігації нашого вебсайту.

Список папок

GET /v1/folders

Скоро буде

Створити папку

POST /v1/folders

Скоро буде

Отримати папку

GET /v1/folders/:id

Скоро буде

Оновити папку

PUT /v1/folders/:id

Скоро буде

Видалити папку

DELETE /v1/folders/:id

Скоро буде

Копіювати папку

POST /v1/folders/:id/copy

Скоро буде

Будь ласка, переконайтеся, що ви виконали інструкції з налаштування для вашого домену.

Ці інструкції можна знайти у Мій акаунт → Домени → Налаштування → Конфігурація вихідного SMTP. Вам потрібно переконатися у налаштуванні DKIM, Return-Path та DMARC для відправки вихідних SMTP листів з вашим доменом.

Отримати ліміт вихідних SMTP листів

Це простий кінцевий пункт, який повертає JSON-об'єкт, що містить count та limit для кількості щоденних вихідних SMTP повідомлень на основі кожного облікового запису.

GET /v1/emails/limit

Приклад запиту:

curl https://fe.tiamati.email/v1/emails/limit \
  -u API_TOKEN:

Список вихідних SMTP листів

Зверніть увагу, що цей кінцевий пункт не повертає значення властивостей для message, headers або rejectedErrors листа.

Щоб отримати ці властивості та їх значення, будь ласка, використовуйте кінцевий пункт Отримати лист з ID листа.

GET /v1/emails

Параметр рядка запиту Обов’язковий Тип Опис
q Ні Рядок (підтримується RegExp) Пошук листів за метаданими
domain Ні Рядок (підтримується RegExp) Пошук листів за доменним іменем
sort Ні Рядок Сортування за конкретним полем (додайте префікс - для сортування у зворотному напрямку). За замовчуванням created_at, якщо не вказано.
page Ні Число Детальніше див. у розділі Пагінація
limit Ні Число Детальніше див. у розділі Пагінація

Приклад запиту:

curl https://fe.tiamati.email/v1/emails?limit=1 \
  -u API_TOKEN:

Створити вихідний SMTP лист

Наш API для створення листа натхненний і використовує конфігурацію опцій повідомлення Nodemailer. Будь ласка, звертайтеся до конфігурації повідомлення Nodemailer для всіх параметрів тіла нижче.

Зверніть увагу, що за винятком envelope та dkim (оскільки ми встановлюємо їх автоматично для вас), ми підтримуємо всі опції Nodemailer. Ми автоматично встановлюємо опції disableFileAccess та disableUrlAccess в true з міркувань безпеки.

Ви повинні або передати єдину опцію raw з вашим сирим повним листом, включно з заголовками, або передати окремі параметри тіла нижче.

Цей кінцевий пункт автоматично кодує емодзі, якщо вони знайдені в заголовках (наприклад, рядок теми Subject: 🤓 Hello автоматично конвертується в Subject: =?UTF-8?Q?=F0=9F=A4=93?= Hello). Наша мета — зробити максимально зручний для розробників і надійний API для листів.

Аутентифікація: Цей кінцевий пункт підтримує як аутентифікацію за API токеном, так і аутентифікацію за обліковими даними псевдоніма. Деталі див. у розділі Аутентифікація вище.

POST /v1/emails

Параметр тіла Обов’язковий Тип Опис
from Ні Рядок (Email) Адреса електронної пошти відправника (повинна існувати як псевдонім домену).
to Ні Рядок або Масив Список отримувачів для заголовка "To", розділений комами, або масив отримувачів.
cc Ні Рядок або Масив Список отримувачів для заголовка "Cc", розділений комами, або масив отримувачів.
bcc Ні Рядок або Масив Список отримувачів для заголовка "Bcc", розділений комами, або масив отримувачів.
subject Ні Рядок Тема листа.
text Ні Рядок або Буфер Текстова версія повідомлення.
html Ні Рядок або Буфер HTML-версія повідомлення.
attachments Ні Масив Масив об’єктів вкладень (див. поширені поля Nodemailer).
sender Ні Рядок Адреса електронної пошти для заголовка "Sender" (див. більш просунуті поля Nodemailer).
replyTo Ні Рядок Адреса електронної пошти для заголовка "Reply-To".
inReplyTo Ні Рядок Message-ID, на який відповідає це повідомлення.
references Ні Рядок або Масив Список Message-ID, розділений пробілами, або масив Message-ID.
attachDataUrls Ні Булевий Якщо true, то зображення data: в HTML-контенті повідомлення конвертуються у вкладені вкладення.
watchHtml Ні Рядок Специфічна для Apple Watch HTML-версія повідомлення (згідно з документацією Nodemailer), останні моделі годинників не потребують цього параметра.
amp Ні Рядок Специфічна для AMP4EMAIL HTML-версія повідомлення (див. приклад Nodemailer).
icalEvent Ні Об’єкт Подія iCalendar, що використовується як альтернативний вміст повідомлення (див. календарні події Nodemailer).
alternatives Ні Масив Масив альтернативного вмісту повідомлення (див. альтернативний вміст Nodemailer).
encoding Ні Рядок Кодування для текстових та HTML рядків (за замовчуванням "utf-8", підтримуються також "hex" та "base64").
raw Ні Рядок або Буфер Користувацьке згенероване повідомлення у форматі RFC822 для використання (замість того, що генерується Nodemailer – див. користувацьке джерело Nodemailer).
textEncoding Ні Рядок Кодування, яке примусово використовується для текстових значень (або "quoted-printable", або "base64"). За замовчуванням використовується найближче виявлене значення (для ASCII використовуйте "quoted-printable").
priority Ні Рядок Рівень пріоритету листа (може бути "high", "normal" (за замовчуванням) або "low"). Значення "normal" не встановлює заголовок пріоритету (це поведінка за замовчуванням). Якщо встановлено "high" або "low", тоді заголовки X-Priority, X-MSMail-Priority та Importance будуть встановлені відповідно.
headers Ні Об’єкт або Масив Об’єкт або масив додаткових заголовків для встановлення (див. користувацькі заголовки Nodemailer).
messageId Ні Рядок Необов’язкове значення Message-ID для заголовка "Message-ID" (якщо не встановлено, буде створено значення за замовчуванням – зверніть увагу, що значення має відповідати специфікації RFC2822).
date Ні Рядок або Дата Необов’язкове значення дати, яке буде використано, якщо заголовок Date відсутній після парсингу, інакше буде використано поточний UTC рядок, якщо не встановлено. Заголовок дати не може бути більш ніж на 30 днів пізніше за поточний час.
list Ні Об’єкт Необов’язковий об’єкт заголовків List-* (див. заголовки списку Nodemailer).

Приклад запиту (API токен):

curl -X POST https://fe.tiamati.email/v1/emails \
  -u API_TOKEN: \
  -d "from=alias@example.com" \
  -d "to=user%40gmail.com" \
  -d "subject=test" \
  -d "text=test"

Приклад запиту (Облікові дані псевдоніма):

curl -X POST https://fe.tiamati.email/v1/emails \
  -u "alias@example.com:GENERATED_PASSWORD" \
  -d "from=alias@example.com" \
  -d "to=user%40gmail.com" \
  -d "subject=test" \
  -d "text=test"

Приклад запиту (Сирий Email):

curl -X POST https://fe.tiamati.email/v1/emails \
  -u API_TOKEN: \
  -d "raw=`cat file.eml`"

Отримати вихідний SMTP лист

GET /v1/emails/:id

Приклад запиту:

curl https://fe.tiamati.email/v1/emails/:id \
  -u API_TOKEN:

Видалити вихідний SMTP лист

Видалення листа встановить статус у "rejected" (і відповідно не оброблятиме його в черзі) лише якщо поточний статус є одним із "pending", "queued" або "deferred". Ми можемо автоматично очищати листи через 30 днів після їх створення та/або відправлення – тому вам слід зберігати копію вихідних SMTP листів у вашому клієнті, базі даних або додатку. Ви можете посилатися на наше значення ID листа у вашій базі даних, якщо бажаєте – це значення повертається як з Створити лист, так і з Отримати лист кінцевих точок.

DELETE /v1/emails/:id

Приклад запиту:

curl -X DELETE https://fe.tiamati.email/v1/emails/:id \
  -u API_TOKEN:

Tip

Кінцеві точки доменів з ім’ям домену /v1/domains/:domain_name як їх кінцева точка є взаємозамінними з ID домену :domain_id. Це означає, що ви можете посилатися на домен або за його name, або за id.

Список доменів

Note

Станом на 1 листопада 2024 року кінцеві точки API для Списку доменів та Списку псевдонімів доменів за замовчуванням повертатимуть максимум 1000 результатів на сторінку. Якщо ви хочете раніше активувати цю поведінку, ви можете додати ?paginate=true як додатковий параметр рядка запиту до URL кінцевої точки. Детальніше дивіться у розділі Пагінація.

GET /v1/domains

Параметр рядка запиту Обов’язковий Тип Опис
q Ні Рядок (підтримується RegExp) Пошук доменів за ім’ям
name Ні Рядок (підтримується RegExp) Пошук доменів за ім’ям
sort Ні Рядок Сортування за конкретним полем (додайте префікс з одним дефісом - для сортування у зворотному напрямку). За замовчуванням created_at, якщо не вказано.
page Ні Число Детальніше дивіться у розділі Пагінація
limit Ні Число Детальніше дивіться у розділі Пагінація

Приклад запиту:

curl https://fe.tiamati.email/v1/domains \
  -u API_TOKEN:

Створити домен

POST /v1/domains

Параметр тіла Обов’язковий Тип Опис
domain Так Рядок (FQDN або IP) Повністю кваліфіковане доменне ім’я ("FQDN") або IP-адреса
team_domain Ні Рядок (ID домену або ім’я домену; FQDN) Автоматично призначити цей домен тій же команді, що й інший домен. Це означає, що всі учасники цього домену будуть призначені членами команди, а plan автоматично встановиться в team. Ви можете встановити це значення в "none", якщо потрібно явно вимкнути цю функцію, але це не обов’язково.
plan Ні Рядок (перелічуваний) Тип плану (повинен бути "free", "enhanced_protection" або "team", за замовчуванням "free" або поточний платний план користувача, якщо він є)
catchall Ні Рядок (розділені адреси електронної пошти) або Boolean Створити стандартний catch-all псевдонім, за замовчуванням true (якщо true, буде використано email користувача API як отримувача, якщо false – catch-all не створюється). Якщо передано рядок, це список адрес електронної пошти, розділених переносом рядка, пробілом і/або комою, які будуть отримувачами.
has_adult_content_protection Ні Boolean Чи увімкнути захист від дорослого контенту у Spam Scanner для цього домену
has_phishing_protection Ні Boolean Чи увімкнути захист від фішингу у Spam Scanner для цього домену
has_executable_protection Ні Boolean Чи увімкнути захист від виконуваних файлів у Spam Scanner для цього домену
has_virus_protection Ні Boolean Чи увімкнути захист від вірусів у Spam Scanner для цього домену
has_recipient_verification Ні Boolean Глобальне налаштування домену за замовчуванням, чи потрібно вимагати від отримувачів псевдонімів натискати посилання для підтвердження email, щоб листи проходили
ignore_mx_check Ні Boolean Чи ігнорувати перевірку MX запису домену для верифікації. Це головним чином для користувачів з розширеними правилами конфігурації MX, які хочуть зберегти свої існуючі MX записи і переспрямовувати на наші.
retention_days Ні Число Ціле число від 0 до 30, що відповідає кількості днів зберігання вихідних SMTP листів після успішної доставки або постійної помилки. За замовчуванням 0, що означає негайне видалення та редагування вихідних SMTP листів для вашої безпеки.
bounce_webhook Ні Рядок (URL) або Boolean (false) URL вебхука http:// або https:// на ваш вибір для надсилання вебхуків про відмови доставки. Ми надішлемо POST запит на цей URL з інформацією про помилки вихідних SMTP (наприклад, м’які або жорсткі помилки – щоб ви могли керувати своїми підписниками та програмно керувати вихідною поштою).
max_quota_per_alias Ні Рядок Максимальна квота зберігання для псевдонімів на цьому домені. Введіть значення, наприклад "1 GB", яке буде розпізнано бібліотекою bytes.

Приклад запиту:

curl -X POST https://fe.tiamati.email/v1/domains \
  -u API_TOKEN: \
  -d domain=example.com \
  -d plan=free

Отримати домен

GET /v1/domains/example.com

Приклад запиту:

curl https://fe.tiamati.email/v1/domains/example.com \
  -u API_TOKEN:

Перевірити записи домену

GET /v1/domains/example.com/verify-records

Приклад запиту:

curl https://fe.tiamati.email/v1/domains/example.com/verify-records \
  -u API_TOKEN:

Перевірити SMTP записи домену

GET /v1/domains/example.com/verify-smtp

Приклад запиту:

curl https://fe.tiamati.email/v1/domains/example.com/verify-smtp \
  -u API_TOKEN:

Список паролів для домену з функцією catch-all

GET /v1/domains/example.com/catch-all-passwords

Приклад запиту:

curl https://fe.tiamati.email/v1/domains/example.com/catch-all-passwords \
  -u API_TOKEN:

Створити пароль catch-all для домену

POST /v1/domains/example.com/catch-all-passwords

Параметр у тілі Обов’язковий Тип Опис
new_password Ні String Ваш власний новий пароль для використання як пароль catch-all для домену. Зверніть увагу, що ви можете залишити це поле порожнім або зовсім не включати його у тіло запиту, якщо хочете отримати випадково згенерований надійний пароль.
description Ні String Опис для організаційних цілей.

Приклад запиту:

curl BASE_URL/v1/domains/example.com/catch-all-passwords \
  -u API_TOKEN:

Видалити пароль catch-all для домену

DELETE /v1/domains/example.com/catch-all-passwords/:token_id

Приклад запиту:

curl -X DELETE https://fe.tiamati.email/v1/domains/:domain_name/catch-all-passwords/:token_id \
  -u API_TOKEN:

Оновити домен

PUT /v1/domains/example.com

Параметр у тілі Обов’язковий Тип Опис
smtp_port Ні String або Number Користувацький порт для налаштування SMTP пересилання (за замовчуванням "25")
has_adult_content_protection Ні Boolean Чи увімкнути захист від дорослого контенту у Spam Scanner для цього домену
has_phishing_protection Ні Boolean Чи увімкнути захист від фішингу у Spam Scanner для цього домену
has_executable_protection Ні Boolean Чи увімкнути захист від виконуваних файлів у Spam Scanner для цього домену
has_virus_protection Ні Boolean Чи увімкнути захист від вірусів у Spam Scanner для цього домену
has_recipient_verification Ні Boolean Глобальне налаштування домену за замовчуванням, чи потрібно вимагати від отримувачів псевдонімів натискати посилання для підтвердження електронної пошти, щоб листи проходили
ignore_mx_check Ні Boolean Чи ігнорувати перевірку MX запису домену для верифікації. Це головним чином для користувачів з розширеними правилами конфігурації MX обміну, які хочуть зберегти свої існуючі MX записи та пересилати на наші.
retention_days Ні Number Ціле число від 0 до 30, що відповідає кількості днів зберігання вихідних SMTP листів після успішної доставки або постійної помилки. За замовчуванням 0, що означає негайне видалення та редагування вихідних SMTP листів для вашої безпеки.
bounce_webhook Ні String (URL) або Boolean (false) URL вебхука http:// або https:// на ваш вибір для надсилання вебхуків про відмови. Ми відправлятимемо POST запити на цей URL з інформацією про помилки вихідних SMTP (наприклад, м’які або жорсткі помилки – щоб ви могли керувати своїми підписниками та програмно керувати вихідною поштою).
max_quota_per_alias Ні String Максимальна квота зберігання для псевдонімів на цьому домені. Введіть значення, наприклад "1 GB", яке буде розпізнано за допомогою bytes.

Example Request:

curl -X PUT https://fe.tiamati.email/v1/domains/example.com \
  -u API_TOKEN:

Видалити домен

DELETE /v1/domains/:domain_name

Example Request:

curl -X DELETE https://fe.tiamati.email/v1/domains/:domain_name \
  -u API_TOKEN:

Прийняти запрошення до домену

GET /v1/domains/:domain_name/invites

Example Request:

curl https://fe.tiamati.email/v1/domains/:domain_name/invites \
  -u API_TOKEN:

Створити запрошення до домену

POST /v1/domains/example.com/invites

Body Parameter Required Type Description
email Так String (Email) Адреса електронної пошти для запрошення до списку учасників домену
group Так String (enumerable) Група, до якої додати користувача в членство домену (може бути "admin" або "user")

Example Request:

curl -X POST https://fe.tiamati.email/v1/domains/example.com/invites \
  -u API_TOKEN: \
  -d "email=user%40gmail.com" \
  -d group=admin

Important

Якщо користувач, якого запрошують, вже є прийнятим учасником будь-яких інших доменів, членом яких є адміністратор, що запрошує, тоді запрошення буде автоматично прийняте і електронний лист не буде надіслано.

Видалити запрошення до домену

DELETE /v1/domains/:domain_name/invites

Body Parameter Required Type Description
email Так String (Email) Адреса електронної пошти для видалення зі списку учасників домену

Example Request:

curl -X DELETE https://fe.tiamati.email/v1/domains/:domain_name/invites \
  -u API_TOKEN:

Оновити учасника домену

PUT /v1/domains/example.com/members/:member_id

Body Parameter Required Type Description
group Так String (enumerable) Група, до якої оновити користувача в членстві домену (може бути "admin" або "user")

Example Request:

curl -X PUT https://fe.tiamati.email/v1/domains/example.com/members/:member_id \
  -u API_TOKEN:

Видалити учасника домену

DELETE /v1/domains/:domain_name/members/:member_id

Example Request:

curl -X DELETE https://fe.tiamati.email/v1/domains/:domain_name/members/:member_id \
  -u API_TOKEN:

Згенерувати пароль для псевдоніма

Зверніть увагу, що якщо ви не надсилаєте інструкції електронною поштою, тоді ім'я користувача та пароль будуть у тілі JSON відповіді успішного запиту у форматі { username: 'alias@yourdomain.com', password: 'some-generated-password' }.

POST /v1/domains/example.com/aliases/:alias_id/generate-password

Body Parameter Required Type Description
new_password Ні String Ваш власний новий пароль для псевдоніма. Зверніть увагу, що ви можете залишити це поле порожнім або зовсім не включати його у тіло API-запиту, якщо хочете отримати випадково згенерований надійний пароль.
password Ні String Існуючий пароль для псевдоніма, щоб змінити пароль без видалення існуючого сховища IMAP (див. опцію is_override нижче, якщо ви більше не маєте існуючого пароля).
is_override Ні Boolean ВИКОРИСТОВУВАТИ З ОБЕРЕЖНІСТЮ: Це повністю перезапише існуючий пароль псевдоніма та базу даних, і назавжди видалить існуюче сховище IMAP та повністю скине SQLite базу даних електронної пошти псевдоніма. Будь ласка, зробіть резервну копію, якщо можливо, якщо у вас є існуюча поштова скринька, прив’язана до цього псевдоніма.
emailed_instructions Ні String Адреса електронної пошти, на яку надіслати пароль псевдоніма та інструкції з налаштування.

Example Request:

curl -X POST https://fe.tiamati.email/v1/domains/example.com/aliases/:alias_id/generate-password \
  -u API_TOKEN:

Список псевдонімів домену

Note

Станом на 1 листопада 2024 року API-ендпоїнти для Список доменів та Список псевдонімів домену за замовчуванням повертатимуть максимум 1000 результатів на сторінку. Якщо ви хочете раніше активувати цю поведінку, ви можете додати ?paginate=true як додатковий параметр рядка запиту до URL ендпоїнта. Детальніше дивіться у розділі Пагінація.

GET /v1/domains/example.com/aliases

Параметр рядка запиту Обов’язковий Тип Опис
q Ні Рядок (підтримується RegExp) Пошук псевдонімів у домені за іменем, міткою або отримувачем
name Ні Рядок (підтримується RegExp) Пошук псевдонімів у домені за іменем
recipient Ні Рядок (підтримується RegExp) Пошук псевдонімів у домені за отримувачем
sort Ні Рядок Сортування за певним полем (додайте префікс - для сортування у зворотному напрямку). За замовчуванням created_at, якщо не вказано.
page Ні Число Детальніше дивіться у розділі Пагінація
limit Ні Число Детальніше дивіться у розділі Пагінація

Example Request:

curl https://fe.tiamati.email/v1/domains/example.com/aliases?pagination=true \
  -u API_TOKEN:

Створити новий псевдонім домену

POST /v1/domains/example.com/aliases

Параметр тіла запиту Обов’язковий Тип Опис
name Ні Рядок Ім’я псевдоніма (якщо не вказано або порожнє, буде згенеровано випадковий псевдонім)
recipients Ні Рядок або Масив Список отримувачів (має бути рядок, розділений переносами рядків/пробілами/комами, або масив дійсних електронних адрес, повністю кваліфікованих доменних імен ("FQDN"), IP-адрес та/або URL вебхуків – якщо не вказано або масив порожній, отримувачем буде встановлено email користувача, який робить API-запит)
description Ні Рядок Опис псевдоніма
labels Ні Рядок або Масив Список міток (має бути рядок, розділений переносами рядків/пробілами/комами, або масив)
has_recipient_verification Ні Булевий Вимагати від отримувачів натиснути посилання для підтвердження email, щоб листи проходили (за замовчуванням використовується налаштування домену, якщо явно не вказано у тілі запиту)
is_enabled Ні Булевий Чи увімкнути цей псевдонім (якщо вимкнено, листи не будуть доставлятися, але повернуть успішні статус-коди). Якщо передано значення, воно конвертується у булеве за допомогою boolean)
error_code_if_disabled Ні Число (одне з 250, 421 або 550) Вхідні листи на цей псевдонім будуть відхилені, якщо is_enabled дорівнює false, з кодом 250 (тихо доставляти нікуди, наприклад чорна діра або /dev/null), 421 (тимчасове відхилення; повторна спроба протягом ~5 днів) або 550 (постійна помилка та відхилення). За замовчуванням 250.
has_imap Ні Булевий Чи увімкнути IMAP-зберігання для цього псевдоніма (якщо вимкнено, вхідні листи не зберігатимуться у IMAP-сховищі. Якщо передано значення, воно конвертується у булеве за допомогою boolean)
has_pgp Ні Булевий Чи увімкнути OpenPGP шифрування для IMAP/POP3/CalDAV/CardDAV зашифрованого зберігання пошти з використанням public_key псевдоніма.
public_key Ні Рядок Публічний ключ OpenPGP у форматі ASCII Armor (натисніть тут, щоб побачити приклад; наприклад GPG ключ для support@forwardemail.net). Застосовується лише якщо has_pgp встановлено в true. Дізнайтеся більше про наскрізне шифрування у нашому FAQ.
max_quota Ні Рядок Максимальна квота сховища для цього псевдоніма. Залиште порожнім, щоб скинути до поточної максимальної квоти домену, або введіть значення, наприклад "1 GB", яке буде розпарсено за допомогою bytes. Це значення може змінювати лише адміністратори домену.
vacation_responder_is_enabled Ні Булевий Чи увімкнути автоматичний відповідник у відпустці.
vacation_responder_start_date Ні Рядок Дата початку роботи відповідника у відпустці (якщо увімкнено і дата початку не вказана, вважається, що він уже активний). Підтримуються формати дат MM/DD/YYYY, YYYY-MM-DD та інші формати завдяки розумному парсингу за допомогою dayjs.
vacation_responder_end_date Ні Рядок Дата закінчення роботи відповідника у відпустці (якщо увімкнено і дата закінчення не вказана, вважається, що він працюватиме безкінечно). Підтримуються формати дат MM/DD/YYYY, YYYY-MM-DD та інші формати завдяки розумному парсингу за допомогою dayjs.
vacation_responder_subject Ні Рядок Тема у відкритому тексті для відповідника у відпустці, наприклад "Відсутній в офісі". Для видалення всього HTML використовується striptags.
vacation_responder_message Ні Рядок Повідомлення у відкритому тексті для відповідника у відпустці, наприклад "Я буду відсутній до лютого.". Для видалення всього HTML використовується striptags.

Example Request:

curl -X POST https://fe.tiamati.email/v1/domains/example.com/aliases \
  -u API_TOKEN:

Отримати псевдонім домену

Ви можете отримати псевдонім домену за його значенням id або name.

GET /v1/domains/:domain_name/aliases/:alias_id

Example Request:

curl https://fe.tiamati.email/v1/domains/:domain_name/aliases/:alias_id \
  -u API_TOKEN:

GET /v1/domains/:domain_name/aliases/:alias_name

Example Request:

curl https://fe.tiamati.email/v1/domains/:domain_name/aliases/:alias_name \
  -u API_TOKEN:

Оновити псевдонім домену

PUT /v1/domains/example.com/aliases/:alias_id

Параметр у тілі Обов’язковий Тип Опис
name Ні Рядок Назва псевдоніма
recipients Ні Рядок або Масив Список отримувачів (повинен бути рядком, розділеним переносами рядків/пробілами/комами, або масивом дійсних електронних адрес, повністю кваліфікованих доменних імен ("FQDN"), IP-адрес та/або URL вебхуків)
description Ні Рядок Опис псевдоніма
labels Ні Рядок або Масив Список міток (повинен бути рядком, розділеним переносами рядків/пробілами/комами, або масивом)
has_recipient_verification Ні Булевий Вимагати від отримувачів натиснути посилання для підтвердження електронної пошти, щоб листи проходили (за замовчуванням використовується налаштування домену, якщо явно не вказано в тілі запиту)
is_enabled Ні Булевий Чи увімкнути або вимкнути цей псевдонім (якщо вимкнено, листи не будуть доставлятися, але повертатимуть успішні коди стану). Якщо передано значення, воно конвертується в булевий тип за допомогою boolean)
error_code_if_disabled Ні Число (одне з 250, 421 або 550) Вхідні листи на цей псевдонім будуть відхилені, якщо is_enabled дорівнює false, з кодом 250 (тихо доставляти нікуди, наприклад, чорна діра або /dev/null), 421 (м’яке відхилення; повторна спроба протягом ~5 днів) або 550 (постійна помилка та відхилення). За замовчуванням 250.
has_imap Ні Булевий Чи увімкнути або вимкнути IMAP-зберігання для цього псевдоніма (якщо вимкнено, вхідні листи не зберігатимуться в IMAP-зберіганні. Якщо передано значення, воно конвертується в булевий тип за допомогою boolean)
has_pgp Ні Булевий Чи увімкнути або вимкнути OpenPGP шифрування для IMAP/POP3/CalDAV/CardDAV зашифрованого зберігання електронної пошти за допомогою public_key псевдоніма.
public_key Ні Рядок Публічний ключ OpenPGP у форматі ASCII Armor (натисніть тут, щоб побачити приклад; наприклад, GPG ключ для support@forwardemail.net). Застосовується лише якщо has_pgp встановлено в true. Дізнайтеся більше про наскрізне шифрування в нашому FAQ.
max_quota Ні Рядок Максимальна квота зберігання для цього псевдоніма. Залиште порожнім, щоб скинути до поточної максимальної квоти домену, або введіть значення, наприклад "1 GB", яке буде розпарсено за допомогою bytes. Це значення може змінюватися лише адміністраторами домену.
vacation_responder_is_enabled Ні Булевий Чи увімкнути або вимкнути автоматичну відповідь у відпустці.
vacation_responder_start_date Ні Рядок Дата початку автоматичної відповіді у відпустці (якщо увімкнено і дата початку не встановлена тут, вважається, що вона вже почалася). Підтримуються формати дат, такі як MM/DD/YYYY, YYYY-MM-DD та інші формати за допомогою розумного парсингу dayjs.
vacation_responder_end_date Ні Рядок Дата закінчення автоматичної відповіді у відпустці (якщо увімкнено і дата закінчення не встановлена тут, вважається, що вона ніколи не закінчується і відповідає назавжди). Підтримуються формати дат, такі як MM/DD/YYYY, YYYY-MM-DD та інші формати за допомогою розумного парсингу dayjs.
vacation_responder_subject Ні Рядок Тема у простому тексті для автоматичної відповіді у відпустці, наприклад "Відсутній в офісі". Ми використовуємо striptags для видалення всього HTML тут.
vacation_responder_message Ні Рядок Повідомлення у простому тексті для автоматичної відповіді у відпустці, наприклад "Я буду відсутній в офісі до лютого.". Ми використовуємо striptags для видалення всього HTML тут.

Example Request:

curl -X PUT https://fe.tiamati.email/v1/domains/example.com/aliases/:alias_id \
  -u API_TOKEN:

Видалити псевдонім домену

DELETE /v1/domains/:domain_name/aliases/:alias_id

Example Request:

curl -X DELETE https://fe.tiamati.email/v1/domains/:domain_name/aliases/:alias_id \
  -u API_TOKEN:

Ми дозволяємо шифрувати записи навіть на безкоштовному плані безкоштовно. Конфіденційність не повинна бути функцією, вона має бути вбудована у всі аспекти продукту за замовчуванням. Як часто запитували в обговоренні Privacy Guides discussion та у наших GitHub issues, ми додали цю можливість.

Шифрувати TXT запис

POST /v1/encrypt

Body Parameter Required Type Description
input Так String Будь-який дійсний відкритий TXT запис Forward Email

Example Request:

curl -X POST https://fe.tiamati.email/v1/encrypt \
  -d "input=user@gmail.com"