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

Сергей

Сергей

Обновлено Nov 5, 2026

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

  • добавлять домены в аккаунт;
  • получать DKIM- и SPF-записи для настройки DNS;
  • запускать проверку записей;
  • удалять домены.

Все запросы к Domains API выполняются с API-ключом аккаунта в заголовке X-Haskimail-Account-Token. Серверный ключ здесь не подойдёт. Как создать ключ аккаунта — в статье «Как создать API-ключ для аккаунта?».

Добавление домена

curl "https://api.haskimail.ru/domains" \
  -X POST \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Haskimail-Account-Token: ваш_ключ_аккаунта" \
  -d '{"Name": "example.ru"}'

В ответе придут данные нового домена, в том числе DNS-записи для DKIM и SPF:

{
  "ID": 75772,
  "Name": "example.ru",
  "DKIMVerified": false,
  "WeakDKIM": false,
  "SPFVerified": false,
  "ReturnPathDomainVerified": false,
  "SPFTextValue": {
    "valid": 0,
    "name": "example.ru.",
    "record_type": "TXT",
    "value": "v=spf1 include:_spf.haskisender.ru ~all"
  },
  "DKIMTextValue": {
    "valid": 0,
    "name": "dm2._domainkey.example.ru.",
    "record_type": "TXT",
    "value": "v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC...;t=s"
  }
}

Настройка DNS

Поля SPFTextValue и DKIMTextValue содержат имя (name), тип (record_type) и значение (value) TXT-записей, которые нужно добавить в DNS домена. Например, для DKIM:

Имя: dm2._domainkey.example.ru
Тип: TXT
Значение: v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC...;t=s

Проверка записей

После добавления записей в DNS можно не ждать автоматической проверки и запустить её через API:

PUT https://api.haskimail.ru/domains/{domainid}/verifyDkim
PUT https://api.haskimail.ru/domains/{domainid}/verifyspf

Обратите внимание на регистр в адресах: verifyDkim и verifyspf.

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

Если клиент больше не пользуется вашей платформой, удалите его домен:

DELETE https://api.haskimail.ru/domains/{domainid}

Тело запроса не нужно. Если домен удалён, в ответе будет "ErrorCode": 0, а в поле Message — подтверждение удаления.

Полное описание методов — в документации Domains API.