Как управлять доменами через API

Если вы отправляете письма с множества доменов или постоянно добавляете новые, Domains API — мощный инструмент, который сэкономит вам время. С его помощью вы можете программно:
  • добавлять домены в свой аккаунт HaskiMail,
  • получать данные для настройки DKIM и SPF-записей,
  • автоматически менять DKIM-ключ
Ниже рассмотрены основные сценарии использования.

Добавление и настройка домена

Вызов Create a domain позволяет быстро добавить домен в ваш аккаунт.
Метод: POST
Endpoint: https://api.haskimail.ru/domains/
Пример тела запроса:
{
Name: domain.com,
ReturnPathDomain: pm-bounces.domain.com
}
После вызова API вы получите данные для настройки нового домена, в том числе записи DNS для настройки DKIM и SPF:
{
Name: domain.com,
SPFVerified: true,
SPFHost: domain.com,
SPFTextValue: v=spf1 a mx include:spf.mtasv.net ~all,
DKIMVerified: false,
WeakDKIM: false,
DKIMHost: ,
DKIMTextValue: ,
DKIMPendingHost: 20131031155228pm._domainkey.domain.com,
DKIMPendingTextValue: k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCFn...,
DKIMRevokedHost: ,
DKIMRevokedTextValue: ,
SafeToRemoveRevokedKeyFromDNS: false,
DKIMUpdateStatus: Pending,
ReturnPathDomain: pm-bounces.domain.com,
ReturnPathDomainVerified: false,
ReturnPathDomainCNAMEValue: pm.mtasv.net,
ID: 36737
}

Использование данных DKIM

Значения DKIMPendingHost и DKIMPendingTextValue — это имя и значение TXT-записи, которую нужно добавить в DNS, чтобы завершить настройку DKIM.

Например:
Имя: 20131031155228pm._domainkey.domain.com
Значение: k=rsa; p=MIGfMA0GCSq...

Использование данных SPF-записи

Значения ReturnPathDomain и ReturnPathDomainCNAMEValue нужны для настройки SPF-записи.

Если у вас есть программный доступ к DNS, вы можете размещать записи в DNS без захода в панель управления хостингом вручную.

Удаление домена

Если клиент больше не пользуется вашей платформой, вы можете удалить его домен программно с помощью вызова Delete a Domain.
Метод: DELETE
Endpoint: https://api.haskimail.ru/domains/{domainid}
Тело запроса не требуется. Ответ будет таким:
{
ErrorCode: 0,
Message: Domain domain removed.
}
Вы можете протестировать эти вызовы через HaskiMail API-эксплорер прямо в браузере.