hosting

POST /v1/sites/bulk-vendor-operation

Run one hosting-platform operation across many of your sites at once.

ሁሉም የ hosting ማጠናቀቂያ ነጥቦች

ማረጋገጫ

የAPI ቁልፉን እንደ bearer token ይላኩ። ቁልፉ የsites.view ፈቃድ ሊኖረው ይገባል፤ ይህ ፈቃድ የሌለው ቁልፍ በ404 ሳይሆን በ403 ውድቅ ይደረጋል።

ይህ ኤንድፖይ መክፈቻ (endpoint) የድርጅት መታወቂያ (organisation id) አይወስድም። የእርስዎ ቁልፍ (key) እሱ የሚመለከተውን ድርጅት አስቀድሞ ይለያል፣ እና ምላሹም ለዚሁ የተወሰነ ነው።

ሞክሩት

በቅንፍ ውስጥ ያለውን ማንኛውንም ነገር በራስዎ እሴቶች ይተኩ፣ እና ቁልፍ ቦታ ያዢውን ከዳሽቦርድዎ በመጣ ቁልፍ ይተኩ።

curl -X POST https://api.zinndigital.com/v1/sites/bulk-vendor-operation \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "operation": <string<block_ip, cache_purge, malware_scan, sitemap>>, "site_ids": <Uuid[]> }'

ገብተዋል? የመቆጣጠሪያ ማዕከልዎ ውስጥ ያለው የኤፒአይ ኮንሶል ትክክለኛውን የድርጅት መታወቂያዎን እና የራስዎን ቁልፍ ይሞላል፣ እና ትክክለኛውን ምላሽ ማየት እንዲችሉ ጥያቄውን በቀጥታ ከሚሰራው ኤፒአይ ጋር ያካሂደዋል። ይህን ኤንድፖይንት በAPI ኮንሶል ውስጥ ይክፈቱ

ዝርዝሮች

Purge caches, fetch malware-scan results, regenerate sitemaps or set IP blocks for a whole selection of sites in **one call to the underlying hosting platform**, instead of one call per site. ⛔ **This is a rate-limit control, not a convenience.** The upstream platform limits by source IP — the one thing an API key cannot smooth — so 400 sites purged one at a time is 400 requests through a shared outbound pool that every other integration also uses. Here it is 8. `vendor_calls` in the response is that number, returned so a client can see the guarantee holding; if it ever equals the number of sites, the batching has regressed. ⛔⛔ **The response is per site and is never a bare success.** The platform answers per package and a batch can come back partially acknowledged, so results arrive in three disjoint lists that add up to `requested`: `succeeded` (the vendor confirmed it), `failed` (the vendor was asked and did not confirm, or the batch errored) and `skipped` (we could not ask at all — the site is not on a vendor hosting package, or it has no recorded package id). A client that renders only `succeeded` will tell a customer about 42 sites when they selected 50. ⚠️ Only site ids are accepted, never vendor package ids: a package id is an integer anyone could type and the upstream platform would act on it regardless of which customer it belongs to. Ids are resolved inside the caller's own organisation. ⛔ Two of the platform's bulk operations are deliberately **not** offered. Country-blocking appends a line to the site's `.htaccess` on every call and never removes it, so it is not safe behind a retry — set it per site instead. Bulk deletion would bypass the quarantine, audit and undo that the normal delete flow provides. Asking for either answers `422` naming the reason and the alternative. Requires `sites.view` and `sites.restart`.

የጥያቄ አካል

ስምዓይነትየሚያስፈልግምንነቱ
operationstring<block_ip, cache_purge, malware_scan, sitemap>አዎWhich platform operation to run. ⛔ A closed set, not a passthrough — a client cannot name an upstream path. `block_country` and `delete` are deliberately absent and answer `422`…
site_idsUuid[]አዎThe sites to act on, in the caller's own organisation. ⚠️ Site ids only — never vendor package ids.

ምላሽ

ስምዓይነትየሚያስፈልግምንነቱ
operationstringአዎThe operation that was run.
requestedintegerአዎHow many sites were asked for. ⛔ `succeeded + failed + skipped` always equals this — the three lists are disjoint and complete, so a client can never quietly lose a site.
succeededBulkVendorSiteResult[]አዎ
failedBulkVendorSiteResult[]አዎAsked for, and the platform did not confirm it.
skippedBulkVendorSiteResult[]አዎCould not be asked about at all — not on a vendor hosting package, or no recorded package id. Neither a success nor a failure, and shown to the customer as its own outcome.
vendor_callsintegerአዎHow many upstream calls this took. The whole point of the endpoint is that this is much smaller than `requested`.

ይህ ማብቂያ ሊመልሳቸው የሚችሉ ስህተቶች

401 · 403 · 422 · 429