hosting

POST /v1/site-imports

Restore a site from a web archive, or migrate one in.

همه نقاط پایانی hosting

احراز هویت

یک کلید API را به عنوان یک توکن حامل ارسال کنید. این کلید باید دارای مجوز hosting.import.manage باشد؛ کلیدی که فاقد آن باشد با خطای 403 رد می‌شود، نه 404.

این نقطه پایانی هیچ شناسه سازمانی را دریافت نمی‌کند. کلید شما در حال حاضر سازمان مربوطه را مشخص می‌کند و پاسخ در همان محدوده ارائه می‌شود.

امتحان کنید

هر چیزی را که داخل براکت‌های زاویه‌دار قرار دارد با مقادیر خودتان جایگزین کنید، و نگهدارنده کلید را با کلیدی از داشبورد خود جایگزین نمایید.

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 در داشبورد شما شناسه سازمان واقعی و کلید خودتان را پر می‌کند و درخواست را روی 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.

بدنه درخواست

نامنوعالزامیچیست
sourceSiteImportSourceبله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…
outputSiteImportOutputبلهWhat the import produces. Both are supported; neither is a default.
source_domainstringبلهThe domain whose archive to restore, or — for `archive_url` — the URL of the archive to migrate in.
target_domainstringخیرThe domain the result is served on. Defaults to `source_domain`.
site_idUuidخیرRestore into an existing site. Omit to produce a bundle and choose the target later.
snapshot_daystringخیر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_depthintegerخیر
request_budgetintegerخیر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_attestedbooleanخیر⚠️ 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.

پاسخ

نامنوعالزامیچیست
idUuidبلهUUIDv7 identifier — sortable by creation time (docs/02 §8).
site_idstringخیر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.
sourceSiteImportSourceبله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…
outputSiteImportOutputبلهWhat the import produces. Both are supported; neither is a default.
statusSiteImportStatusبله`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_reasonstringخیر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_domainstringبله
target_domainstringخیر
snapshot_daystringخیر
crawl_depthintegerخیر
urls_totalintegerبله
urls_doneintegerبله
urls_failedintegerبله
progress_percentintegerبلهFor a progress bar only. The per-URL counters are the primary display, because a percentage cannot say *which* step.
requests_spentintegerبله
request_budgetintegerبله
budget_exhaustedbooleanبله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_bytesintegerخیر
created_atstringبله
started_atstringخیر
finished_atstringخیر
can_cancelbooleanبله

خطاهایی که این نقطه پایانی می‌تواند برگرداند

401 · 403 · 404 · 409 · 422 · 429 · 503