hosting
POST /v1/site-imports
Restore a site from a web archive, or migrate one in.
Баталгаажуулалт
API түлхүүрийг bearer token хэлбэрээр илгөэнэ үү. Түлхүүр нь hosting.import.manage эрхтэй байх ёстой бөгөөд үүнгүйгээр 404 биш, харин 403 алдаа буцааж татгалзах болно.
Энэ төгсгөл цэг нь ямар ч байгууллагын ID шаардахгүй. Таны түлхүүр аль хэдийн харьяалагдах байгууллагыг тодорхойлж байгаа бөгөөд хариу нь тухайн байгууллагын хүрээнд хязгаарлагдана.
Туршиж үзэх
Өнцөг хаалтанд байгаа бүх зүйлийг өөрийн утгаар солиж, түлхүүр санамж байрлуулагчийг хяналтын самбарынхаа түлхүүрээр сольж оруулна уу.
curl -X POST https://api.zinndigital.com/v1/site-imports \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "source": <SiteImportSource>, "output": <SiteImportOutput>, "source_domain": <string> }'Та нэвтэрсэн байна уу? Таны хяналтын самбар дахь API консол нь таны бодит байгууллагын ID болон өөрийн түлхүүрийг автоматаар бөглөж, шууд ажиллаж буй API рүү хүсэлт илгээх тул та бодит хариуг харах боломжтой болно. Энэ төгсгөлийн цэгийг API консол дээр нээх
Дэлгэрэнгүй
Starts a durable, resumable import workflow and returns the new job state, never a bare acknowledgement. A Wayback restore **must** name `snapshot_day`: the most recent capture of an expired domain is usually a parking page, so there is no safe default (422 without it). The output is either a static HTML document root or a WordPress import — both are supported and neither is a default. A site with an import already running returns 409. ⚠️ `ownership_attested` is recorded, not enforced: the platform's obligation here is to know who requested what. Requires `hosting.import.manage`.
Параметрүүд
| Нэр | Төрөл | Заавал шаардлагатай | Энэ юу вэ |
|---|---|---|---|
Idempotency-Key (header) | string | Үгүй | Client-generated key that makes an unsafe request replay-safe: the server stores the first response and returns it verbatim for repeats. |
Хүсэлтийн бие
| Нэр | Төрөл | Заавал шаардлагатай | Энэ юу вэ |
|---|---|---|---|
source | SiteImportSource | Тийм | Where the content comes from. ⛔ Deliberately not the same enum as a site's `source`: that one records what a site was built from, for ever, while this selects a fetch strategy a… |
output | SiteImportOutput | Тийм | What the import produces. Both are supported; neither is a default. |
source_domain | string | Тийм | The domain whose archive to restore, or — for `archive_url` — the URL of the archive to migrate in. |
target_domain | string | Үгүй | The domain the result is served on. Defaults to `source_domain`. |
site_id | Uuid | Үгүй | Restore into an existing site. Omit to produce a bundle and choose the target later. |
snapshot_day | string | Үгүй | Which day's snapshot to restore. **Required for `wayback`** — the most recent capture of an expired domain is usually a parking page, so there is no safe default. |
crawl_depth | integer | Үгүй | — |
request_budget | integer | Үгүй | The hard ceiling on requests this job may make against the source. Bounded per job so one 400,000-capture domain cannot consume the platform's whole archive allowance. |
ownership_attested | boolean | Үгүй | ⚠️ The customer's assertion that they control the domain, recorded because it cannot be reconstructed afterwards. It is **not** a legal control and is not presented as one. |
Хариу үйлдэл
| Нэр | Төрөл | Заавал шаардлагатай | Энэ юу вэ |
|---|---|---|---|
id | Uuid | Тийм | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
site_id | string | Үгүй | The site this import lands on, or empty. Empty is a real outcome, not an error: an aged-domain restore produces a downloadable bundle and the customer picks the target afterwards. |
source | SiteImportSource | Тийм | Where the content comes from. ⛔ Deliberately not the same enum as a site's `source`: that one records what a site was built from, for ever, while this selects a fetch strategy a… |
output | SiteImportOutput | Тийм | What the import produces. Both are supported; neither is a default. |
status | SiteImportStatus | Тийм | `fetching` and `building` are separate states rather than one `running` because they fail for opposite reasons and the customer's next action differs — a stall in `fetching` is… |
status_reason | string | Үгүй | A machine code the dashboard renders through its own catalogue — never an English sentence composed by the engine, which could not be shown to the other 57 locales. |
source_domain | string | Тийм | — |
target_domain | string | Үгүй | — |
snapshot_day | string | Үгүй | — |
crawl_depth | integer | Үгүй | — |
urls_total | integer | Тийм | — |
urls_done | integer | Тийм | — |
urls_failed | integer | Тийм | — |
progress_percent | integer | Тийм | For a progress bar only. The per-URL counters are the primary display, because a percentage cannot say *which* step. |
requests_spent | integer | Тийм | — |
request_budget | integer | Тийм | — |
budget_exhausted | boolean | Тийм | True when the job stopped because it ran out of requests. Surfaced deliberately — it otherwise looks identical to a job that finished, and the customer's next action depends on… |
bundle_bytes | integer | Үгүй | — |
created_at | string | Тийм | — |
started_at | string | Үгүй | — |
finished_at | string | Үгүй | — |
can_cancel | boolean | Тийм | — |
Энэ төгсгөл цэгээс буцааж болох алдаанууд
401 · 403 · 404 · 409 · 422 · 429 · 503