Adset.ProAdset.ProKnowledge base

Домени

Домени — адреси, на яких працюють трекінгові посилання кампаній та PWA. Через API домени доступні тільки для читання: отримати список доменів команди з їх статусами та вибрати id для поля domain кампанії. Реєстрація, покупка, паркування та операції з Cloudflare виконуються в кабінеті (див. розділ Домени).

Отримання токена, загальний формат відповідей, параметри списків та помилки — в головній статті розділу.

Скоупи

Скоуп Доступ В дефолті PAT
api:domains читання: список і картка домена так

Write-скоупа для доменів немає.

Ендпойнти

Метод Шлях Скоуп RBAC-право
GET /api/domains api:domains domain:list
GET /api/domains/{id} api:domains domain:read

Права є у всіх ролей. Видимість: ADMIN — всі домени, інші ролі — домени своєї команди. Чужий домен → 404.

Параметри списку GET /api/domains

Поля
Фільтри filter[...] domain, type, format, status, cf, team, user, isActive, tags
Сортування sort domain, type, format, status, cf, team, isActive, expireDate, gsbCheck.error, virusCheck.error, created, updated
Populate за замовчуванням registrator (name), cf (name, dnsRecords), user (name, email, avatar), team (name), campaigns (name, isActive), tags (name, color)
# активні домени для кампаній, найближчі до закінчення — першими
curl -G 'https://adset.pro/api/domains' \
  -H 'Authorization: Bearer pat_…' \
  --data-urlencode 'pageSize=100' \
  --data-urlencode 'filter[type]=campaign' \
  --data-urlencode 'filter[status]=active' \
  --data-urlencode 'filter[isActive]=true' \
  --data-urlencode 'sort=expireDate:asc' \
  --data-urlencode 'select=domain,status,type,expireDate,campaigns'

Об'єкт домена

Поле Тип Опис
id string ObjectId
domain string доменне ім'я
isActive boolean чи ввімкнений домен
type tracker | campaign | pwa | pending | free призначення: системний домен трекера; домен для кампаній; домен для PWA; очікує призначення; вільний для купівлі
status див. нижче етап життєвого циклу
format global | personal загальний (системний) домен або домен команди
price number ціна покупки з націнкою (для доменів з каталогу)
registrator id | { id, name } акаунт реєстратора
cf id | об'єкт акаунт Cloudflare
cfZoneId, cfNsServers[] string, string[] зона та NS-сервери Cloudflare
dnsRecords[] об'єкти актуальні DNS-записи: { type, name, content, proxied, ttl, cfRecordId }
servingMode cf-saas | agent як обслуговується домен: через Cloudflare на edge платформи або через проксі-агент на сервері клієнта
serverId, server id, об'єкт | null прив'язаний сервер клієнта (для agent)
customHostnameId, verificationTxt string | null дані підключення до Cloudflare SaaS
gsbCheck, virusCheck { lastCheck, error } результати перевірок Google Safe Browsing та антивіруса; error заповнений, якщо домен помічений
healthCheck { lastCheck, error, consecutiveFails } доступність домена
registrationError string | null помилка останньої спроби реєстрації
campaigns[] id[] | об'єкти кампанії, що використовують домен (у системних доменів порожньо)
tags[] id[] | об'єкти теги
team, user id | об'єкт | null команда та власник
expireDate date дата закінчення реєстрації
created, updated date тільки для читання

Статуси status

Значення Суть
pending очікує реєстрації
reserved зарезервований для покупки
registration реєструється: покупка та додавання в Cloudflare
registered зареєстрований у реєстратора, очікує налаштування Cloudflare
active повністю активний — можна використовувати в кампаніях
transfer переноситься на платформу
expired термін реєстрації закінчився
blocked заблокований за результатами перевірок (health / virus / Safe Browsing)
cancelled реєстрація скасована
deleted видалений остаточно

Для кампаній використовуйте домени з type = campaign, status = active, isActive = true та порожнім gsbCheck.error.

Приклад відповіді GET /api/domains/{id}:

{
  "data": {
    "id": "6650f0e1d2c3b4a5f6e7d8c9",
    "domain": "track-de.example.com",
    "isActive": true,
    "type": "campaign",
    "status": "active",
    "format": "personal",
    "price": 0,
    "registrator": "6600…",
    "cf": "6601…",
    "domainId": 0,
    "cfZoneId": "a1b2…",
    "cfNsServers": ["ns1.cloudflare.com", "ns2.cloudflare.com"],
    "dnsRecords": [ { "type": "A", "name": "@", "content": "203.0.113.10", "proxied": true, "ttl": 1, "cfRecordId": "f3e2…" } ],
    "customHostnameId": null,
    "servingMode": "cf-saas",
    "serverId": null,
    "server": null,
    "verificationTxt": null,
    "registrationError": null,
    "gsbCheck": { "lastCheck": "2026-10-13T06:00:00.000Z" },
    "virusCheck": { "lastCheck": "2026-10-13T06:00:00.000Z" },
    "healthCheck": { "lastCheck": "2026-10-13T09:55:00.000Z", "consecutiveFails": 0 },
    "campaigns": ["6704a1b2c3d4e5f6a7b8c9d0"],
    "tags": [],
    "team": "64b0…",
    "user": "64a0…",
    "expireDate": "2027-03-01T00:00:00.000Z",
    "created": "2026-03-01T10:00:00.000Z",
    "updated": "2026-10-13T09:55:00.000Z"
  },
  "traceId": "01HX…"
}

В картці посилання не розгортаються (рядкові id); в списку registrator, cf, user, team, campaigns, tags приходять об'єктами. Секрети акаунтів реєстратора та Cloudflare у відповідях маскуються.

Що не входить у публічний API

Створення та редагування доменів, майстер реєстрації (/wizard/*), покупка (/buying-domains), перенесення (/transfer), перевірки (/check, /gsb-check), операції Cloudflare (/add-to-cf, /sync-dns, /purge-cache, /detach-cf), /free-list, видалення. Ці ендпойнти не мають скоупа і не гарантуються для інтеграцій.

Помилки

HTTP Коли
403 forbidden + Insufficient OAuth scope. Required: api:domains у токена немає скоупа api:domains
404 notFound домена немає або він належить іншій команді

Пов'язані статті