Отправлять письма можно только с подтверждённых доменов. Для подтверждения домену нужны две TXT-записи: SPF с include:_spf.haskisender.ru и DKIM dm._domainkey. Точные значения для вашего домена приходят в ответах методов. Домены принадлежат аккаунту, поэтому методы работают только с ключом аккаунта; серверный ключ получит ответ 401 с кодом 10.
Возвращает домены аккаунта.
| Accept | обязательный application/json |
|---|---|
| X-Haskimail-Account-Token | обязательный API-ключ аккаунта. Он есть в настройках аккаунта на вкладке «API-ключи». |
| count |
Количество доменов в ответе. По умолчанию 500. |
|---|---|
| offset |
Сколько доменов пропустить. По умолчанию 0. |
| TotalCount | integer |
Общее количество доменов. |
|---|---|---|
| Domains | array |
Домены. |
| Domains[].ID | integer |
ID домена. |
| Domains[].Name | string |
Домен. |
| Domains[].DKIMVerified | boolean |
Подтверждена ли DKIM-запись. |
| Domains[].WeakDKIM | boolean |
Всегда |
| Domains[].SPFVerified | boolean |
Подтверждена ли SPF-запись. |
| Domains[].ReturnPathDomainVerified | boolean |
Совпадает с SPFVerified: отдельного домена Return-Path у Haskimail нет. |
curl "https://api.haskimail.ru/domains?count=50&offset=0" \
-X GET \
-H "Accept: application/json" \
-H "X-Haskimail-Account-Token: account token"
HTTP/1.1 200 OK
Content-Type: application/json
{
"TotalCount": 2,
"Domains": [
{
"ID": 3127,
"Name": "example.com",
"DKIMVerified": true,
"WeakDKIM": false,
"SPFVerified": true,
"ReturnPathDomainVerified": true
},
{
"ID": 3128,
"Name": "example.org",
"DKIMVerified": false,
"WeakDKIM": false,
"SPFVerified": false,
"ReturnPathDomainVerified": false
}
]
}
Возвращает домен и DNS-записи, которые нужно добавить для отправки с него. Состояние записей берётся из последней проверки; чтобы проверить DNS заново, вызовите проверку DKIM или SPF.
| Accept | обязательный application/json |
|---|---|
| X-Haskimail-Account-Token | обязательный API-ключ аккаунта. Он есть в настройках аккаунта на вкладке «API-ключи». |
| domainid | обязательный ID домена. |
|---|
| ID | integer |
ID домена. |
|---|---|---|
| Name | string |
Домен. |
| DKIMVerified | boolean |
Подтверждена ли DKIM-запись. |
| WeakDKIM | boolean |
Всегда |
| SPFVerified | boolean |
Подтверждена ли SPF-запись. |
| ReturnPathDomainVerified | boolean |
Совпадает с SPFVerified: отдельного домена Return-Path у Haskimail нет. |
| SPFTextValue | object |
Запись SPF, которую нужно добавить в DNS домена. |
| SPFTextValue.name | string |
Имя записи. |
| SPFTextValue.record_type | string |
Тип записи, всегда |
| SPFTextValue.value | string |
Значение записи. Для SPF это ваша текущая запись с добавленным |
| SPFTextValue.valid | integer |
1 — запись в DNS найдена и верна, 0 — нет. |
| DKIMTextValue | object |
Запись DKIM, которую нужно добавить в DNS домена. |
| DKIMTextValue.name | string |
Имя записи. |
| DKIMTextValue.record_type | string |
Тип записи, всегда |
| DKIMTextValue.value | string |
Значение записи. |
| DKIMTextValue.valid | integer |
1 — запись в DNS найдена и верна, 0 — нет. |
curl "https://api.haskimail.ru/domains/{domainid}" \
-X GET \
-H "Accept: application/json" \
-H "X-Haskimail-Account-Token: account token"
HTTP/1.1 200 OK
Content-Type: application/json
{
"ID": 3127,
"Name": "example.com",
"DKIMVerified": true,
"WeakDKIM": false,
"SPFVerified": true,
"ReturnPathDomainVerified": true,
"SPFTextValue": {
"valid": 1,
"name": "example.com.",
"record_type": "TXT",
"value": "v=spf1 include:_spf.haskisender.ru ~all"
},
"DKIMTextValue": {
"valid": 1,
"name": "dm._domainkey.example.com.",
"record_type": "TXT",
"value": "v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC…;t=s"
}
}
Добавляет домен в аккаунт и сразу проверяет его DNS. В ответе — записи, которые нужно добавить. Домен, уже добавленный в другой аккаунт, добавить нельзя (код 512).
| Accept | обязательный application/json |
|---|---|
| Content-Type | обязательный application/json |
| X-Haskimail-Account-Token | обязательный API-ключ аккаунта. Он есть в настройках аккаунта на вкладке «API-ключи». |
| Name | string | обязательный Домен, например |
|---|
| ID | integer |
ID домена. |
|---|---|---|
| Name | string |
Домен. |
| DKIMVerified | boolean |
Подтверждена ли DKIM-запись. |
| WeakDKIM | boolean |
Всегда |
| SPFVerified | boolean |
Подтверждена ли SPF-запись. |
| ReturnPathDomainVerified | boolean |
Совпадает с SPFVerified: отдельного домена Return-Path у Haskimail нет. |
| SPFTextValue | object |
Запись SPF, которую нужно добавить в DNS домена. |
| SPFTextValue.name | string |
Имя записи. |
| SPFTextValue.record_type | string |
Тип записи, всегда |
| SPFTextValue.value | string |
Значение записи. Для SPF это ваша текущая запись с добавленным |
| SPFTextValue.valid | integer |
1 — запись в DNS найдена и верна, 0 — нет. |
| DKIMTextValue | object |
Запись DKIM, которую нужно добавить в DNS домена. |
| DKIMTextValue.name | string |
Имя записи. |
| DKIMTextValue.record_type | string |
Тип записи, всегда |
| DKIMTextValue.value | string |
Значение записи. |
| DKIMTextValue.valid | integer |
1 — запись в DNS найдена и верна, 0 — нет. |
curl "https://api.haskimail.ru/domains" \
-X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Haskimail-Account-Token: account token" \
-d '{
"Name": "example.com"
}'
HTTP/1.1 200 OK
Content-Type: application/json
{
"ID": 3127,
"Name": "example.com",
"DKIMVerified": false,
"WeakDKIM": false,
"SPFVerified": false,
"ReturnPathDomainVerified": false,
"SPFTextValue": {
"valid": 0,
"name": "example.com.",
"record_type": "TXT",
"value": "v=spf1 include:_spf.haskisender.ru ~all"
},
"DKIMTextValue": {
"valid": 0,
"name": "dm._domainkey.example.com.",
"record_type": "TXT",
"value": "v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC…;t=s"
}
}
Удаляет домен из аккаунта. Подтверждённые адреса на этом домене тоже удаляются.
| Accept | обязательный application/json |
|---|---|
| X-Haskimail-Account-Token | обязательный API-ключ аккаунта. Он есть в настройках аккаунта на вкладке «API-ключи». |
| domainid | обязательный ID домена. |
|---|
| ErrorCode | integer |
0 — домен удалён. |
|---|---|---|
| Message | string |
Описание результата. |
curl "https://api.haskimail.ru/domains/{domainid}" \
-X DELETE \
-H "Accept: application/json" \
-H "X-Haskimail-Account-Token: account token"
HTTP/1.1 200 OK
Content-Type: application/json
{
"ErrorCode": 0,
"Message": "Domain example.com removed."
}
Заново проверяет DNS домена и возвращает состояние DKIM. Путь чувствителен к регистру: verifyDkim.
| Accept | обязательный application/json |
|---|---|
| X-Haskimail-Account-Token | обязательный API-ключ аккаунта. Он есть в настройках аккаунта на вкладке «API-ключи». |
| domainid | обязательный ID домена. |
|---|
| ID | integer |
ID домена. |
|---|---|---|
| Name | string |
Домен. |
| DKIMVerified | boolean |
Подтверждена ли DKIM-запись. |
| WeakDKIM | boolean |
Всегда |
| ReturnPathDomainVerified | boolean |
Совпадает с SPFVerified. |
| DKIMHost | string |
Имя DKIM-записи. |
| DKIMTextValue | object |
Запись DKIM, которую нужно добавить в DNS домена. |
| DKIMTextValue.name | string |
Имя записи. |
| DKIMTextValue.record_type | string |
Тип записи, всегда |
| DKIMTextValue.value | string |
Значение записи. |
| DKIMTextValue.valid | integer |
1 — запись в DNS найдена и верна, 0 — нет. |
curl "https://api.haskimail.ru/domains/{domainid}/verifyDkim" \
-X PUT \
-H "Accept: application/json" \
-H "X-Haskimail-Account-Token: account token"
HTTP/1.1 200 OK
Content-Type: application/json
{
"ID": 3127,
"Name": "example.com",
"DKIMVerified": true,
"WeakDKIM": false,
"ReturnPathDomainVerified": true,
"DKIMHost": "dm._domainkey.example.com",
"DKIMTextValue": {
"valid": 1,
"name": "dm._domainkey.example.com.",
"record_type": "TXT",
"value": "v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC…;t=s"
}
}
Заново проверяет DNS домена и возвращает состояние SPF.
| Accept | обязательный application/json |
|---|---|
| X-Haskimail-Account-Token | обязательный API-ключ аккаунта. Он есть в настройках аккаунта на вкладке «API-ключи». |
| domainid | обязательный ID домена. |
|---|
| ID | integer |
ID домена. |
|---|---|---|
| Name | string |
Домен. |
| SPFVerified | boolean |
Подтверждена ли SPF-запись. |
| SPFHost | string |
Имя SPF-записи — сам домен. |
| SPFTextValue | object |
Запись SPF, которую нужно добавить в DNS домена. |
| SPFTextValue.name | string |
Имя записи. |
| SPFTextValue.record_type | string |
Тип записи, всегда |
| SPFTextValue.value | string |
Значение записи. Для SPF это ваша текущая запись с добавленным |
| SPFTextValue.valid | integer |
1 — запись в DNS найдена и верна, 0 — нет. |
curl "https://api.haskimail.ru/domains/{domainid}/verifyspf" \
-X PUT \
-H "Accept: application/json" \
-H "X-Haskimail-Account-Token: account token"
HTTP/1.1 200 OK
Content-Type: application/json
{
"ID": 3127,
"Name": "example.com",
"SPFVerified": true,
"SPFHost": "example.com",
"SPFTextValue": {
"valid": 1,
"name": "example.com.",
"record_type": "TXT",
"value": "v=spf1 include:_spf.haskisender.ru ~all"
}
}