hosting
GET /v1/sites/export
Download the sites in scope as a CSV.
Упълномощаване
Изпратете API ключ като носител (bearer token). Тази точка за достъп не указва конкретно разрешение в спецификацията, затова дайте на ключа си най-малкото необходимо и проверете отговора, вместо да правите предположения.
Където отива идентификаторът на вашата организация
Този ендпойнт приема org_id като параметър на заявката. Оставете го празен и извикването ще обхване цялото ви поддървано дърво; изпратете го, за да ограничите извикването до една организация.
ИД на вашата организация се намира на екрана с API ключове във вашето табло за управление, до самия ключ. Това е същият ИД във всяко заявка, която правите.
Опитайте
Заменете всичко в квадратни скоби със собствени стойности, а ключовия заместващ символ – с ключ от вашето табло за управление.
curl -X GET https://api.zinndigital.com/v1/sites/export \
-H "Authorization: Bearer zdk_live_…"Влязохте ли в профила си? API конзолата във вашето табло за управление попълва действителното идентификационно число на вашата организация и вашия собствен ключ и изпълнява заявката спрямо реалното API, за да можете да видите действителния отговор. Отворете този крайpoint в API конзолата
Детайли
The same sites listSites would return for the same query, as a streamed text/csv attachment — V1 parity (deploy.views.SiteExport, "Choose sites → Export to CSV"), recorded as unported in docs/35 §0.3c until W29-U. ⛔⛔ Server-side over the WHOLE matching set, and that is the point of it existing as an endpoint at all. listSites is cursor-paginated, so a CSV assembled in the browser would contain one page and would look exactly like a complete file — no error, no truncation marker, and nothing a customer could use to tell the difference. There is deliberately no limit: a bound here would silently exclude rows and nothing downstream would ever pick up the remainder. ⛔ It shares the list's filter chain rather than reproducing it, so "export" means "export what I am looking at" by construction. Every filter below behaves exactly as it does on listSites, including narrowing to nothing — rather than 403-ing — for an org_id outside the caller's scope. ⛔⛔ It requires Authorization, so it cannot be fetched with a plain <a href>. A browser anchor navigation sends no bearer token and the engine has no cookie authentication to fall back on, so an anchor answers 401 and the customer sees nothing happen. Download it with an authenticated fetch and hand the result to the browser as a blob. This is not hypothetical: the estate shipped three staff download buttons built as anchors and every one of them was dead (docs/72 D14200). The header row is English and is not localized: the consumer is a spreadsheet or a script, and a header that changed with the viewer's locale would make one customer's file unreadable by another's tooling. Column order is part of the contract — new columns are appended, never inserted.
Параметри
| Име | Тип | Задължително | Какво представлява |
|---|---|---|---|
org_id (query) | Uuid | Не | Restrict to one organization in the caller's scope. |
status (query) | SiteStatus | Не | Filter by site lifecycle status. |
product_line (query) | string | Не | Filter by product line code. |
group (query) | string | Не | Restrict to the sites in one site group. |
search (query) | string | Не | Case-insensitive substring match on the primary domain or the name, applied in the database across the whole collection in scope. |
Грешки, които този крайpoint може да върне
401 · 403