Preskoči na sadržaj
Sursa Developers

POST/v1/cards/archive

Učitavanje arhive dokumenata

upload_card_archive

Pošaljite ZIP arhivu u polju file obrasca multipart/form-data. Svaka podržana datoteka u njoj postaje zaseban dokument, kao kod pojedinačnih učitavanja (POST /v1/cards). Spremnici potpisa ASiC (.asice, .sce, .bdoc, .asics) također su arhive: njihove podatkovne datoteke postaju dokumenti, META-INF/ se preskače, a potpis se ne provjerava. Polja obrasca ista su kao za učitavanje datoteke (zbirka, oznake, vlasnik, kategorija, osjetljivost), bez pregleda.

Arhiva se provjerava prema potpisu (preimenovani Office dokument ne smatra se arhivom i vraća 415 files.type_mismatch), primjenjuje se ograničenje učitavanja instalacije, a antivirusna provjera obuhvaća cijelu arhivu.

Sadržaj arhive provjerava se sinkrono. Odgovor sadrži plan (koje datoteke postaju dokumenti, koje se preskaču i zašto) i posao raspakiravanja (job_id, batch_id). Posao otvara ugniježđene arhive (prema zadanim postavkama do 3 razine), provjerava svaki dokument prema potpisu i antivirusnom provjerom te ga stavlja u red za uobičajeno indeksiranje s istim batch_id (napredak dokumenata: GET /v1/jobs?batch=). Rezultat je dostupan iz GET /v1/archives/{job_id}.

Ograničenja (zadane postavke instalacije): do 1000 datoteka u cijelom stablu (više vraća 413 cards.archive_too_many_files), do 2048 MB raspakirano (više vraća 413 cards.archive_too_large) i ne više od preostale pohrane organizacije prema njezinu planu (402 limits.storage), ograničenje učitavanja po datoteci za svaku datoteku u arhivi te omjer sažimanja najviše 100:1 po stavci. Stavke s „..”, apsolutnom putanjom ili slovom pogona, simboličke veze, šifrirane stavke i nepodržani formati preskaču se uz razlog (skipped[].reason). Datoteke operacijskog sustava, mape i prazne datoteke preskaču se bez obavijesti (ignored). Nazivi koji nisu u UTF-8 čitaju se kao cp866 ili cp1251. Datoteka koja nije ZIP vraća 400 cards.archive_invalid, potpuno šifrirana arhiva vraća 400 cards.archive_encrypted, a arhiva bez ijednog dokumenta vraća 400 cards.archive_empty.

Svaki dokument pamti svoju arhivu: CardVersion.archive i Card.source_archive (kartica prikazuje arhivu svoje trenutačne verzije).

Umjesto obrasca možete poslati tijelo application/json (ArchiveUploadFromUpload, od verzije 1.62.0): arhiva je dovršeno učitavanje u dijelovima upload_id (namjena archive), polja su ista kao u obrascu, a tags je popis nizova. Arhiva je već provjerena pri complete, a ograničenje veličine je ograničenje za učitavanje u dijelovima umjesto ograničenja za učitavanje jednim zahtjevom. Učitavanje se koristi jednom, u istoj transakciji u kojoj se posao raspakiravanja stavlja u red; kodovi pogrešaka učitavanja isti su kao za POST /v1/cards.

Autentifikacija

Pošaljite API ključ u zaglavlju Authorization: Authorization: Bearer <ključ>.

Parametri zaglavlja

  • Idempotency-Keystring

    Ključ za siguran ponovni pokušaj upisa: od 1 do 255 ispisivih ASCII znakova; preporučuje se UUID v4 po logičkoj operaciji. Ponovni pokušaj s istim ključem unutar 24 sata ne izvodi operaciju ponovno: vraća spremljeni odgovor (status, zaglavlja i tijelo) sa zaglavljem Idempotency-Replayed: true. Isti ključ s drugom metodom, putanjom, Content-Type ili tijelom vraća 409 api.idempotency_mismatch; dok se prvi zahtjev još izvodi – 409 api.idempotency_in_progress s Retry-After: 1. Nakon odgovora 5xx ili 429 ključ se oslobađa i ponovni pokušaj ponovno izvodi operaciju. Ključ vrijedi u okviru organizacije i pozivatelja (API ključ, korisnik ili ključ vlastitog izvora).

    length ≥ 1, length ≤ 255

  • X-View-Asstring

    Samo za API ključeve s ulogom admin. Izvodi zahtjev kao podatkovni profil <profile>[:viewer|verifier|editor], na primjer employee:viewer. Ključ instalacije ne može koristiti ovo zaglavlje (403).

Parametri kolačića

  • kb_view_asstring

    Kolačić načina „View as” za sesiju. Postavlja ga POST /auth/view-as, a briše DELETE /auth/view-as.

Tijelo zahtjeva

multipart/form-data

Objekt: ArchiveUploadForm

  • filestring (application/zip)obavezno
  • collectionstring

    Zadano: "default"

  • tagsstring

    Zadano: ""

  • forceboolean

    Zadano: false

  • owner_idinteger | null
  • verify_interval_daysinteger | null
  • categorystring | null
  • sensitiveboolean | null
  • folder_idstring | null

    Mapa zbirke collection u koju se stavljaju svi dokumenti arhive. Mapa druge zbirke vraća 400 folders.card_collection_mismatch, nepostojeća mapa vraća 404 folders.not_found, a bez dopuštenja COLLECTION_EDIT_CARDS na mapi vraća se 403 authz.forbidden. Provjera se izvodi prije spremanja arhive. Duplikati već učitanih datoteka ne premještaju se u mapu.

    length ≤ 64

  • collection_idinteger | null

    Zbirka prema ID-ju. Ako je proslijeđen i collection, prednost ima collection_id. Zbirka koja ne postoji u organizaciji ili nije vidljiva vraća 404 collections.not_found.

application/json

Objekt: ArchiveUploadFromUpload

  • upload_idstringobavezno

    Spremno učitavanje (ready) s namjenom archive; koristi se jednom.

  • collectionstring

    Zadano: "default"

  • collection_idinteger | null

    Zbirka prema ID-ju. Ako je proslijeđen i collection, prednost ima collection_id. Zbirka koja ne postoji u organizaciji, nije vidljiva ili je izvan zbirki ključa vraća 404 collections.not_found.

  • tagsarray of string

    items ≤ 30

  • forceboolean

    Zadano: false

  • owner_idinteger | null
  • verify_interval_daysinteger | null
  • categorystring | null
  • sensitiveboolean | null
  • folder_idstring | null

    length ≤ 64

Odgovori

200Plan raspakiravanja i posao

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

  • Idempotency-Replayed

    true znači da je odgovor ponovljen iz spremljenog odgovora za ovaj Idempotency-Key: operacija se nije ponovno izvela.

application/json

Objekt: ArchiveUploadResult

  • job_idintegerobavezno
  • batch_idstringobavezno

    Paket poslova indeksiranja za dokumente arhive (GET /v1/jobs?batch=).

  • statusstringobavezno

    Dopuštene vrijednosti: queued

  • archiveArchiveInfoobavezno
  • plannedarray of stringobavezno

    Putanje datoteka na svim razinama koje će postati dokumenti, uključujući datoteke u ugniježđenim arhivama (b.zip/c.pdf).

  • documentsintegerobavezno

    Broj dokumenata na svim razinama, uključujući datoteke u ugniježđenim arhivama. Rezultat raspakiravanja daje isti zbroj: stvoreni + duplikati + odbijeni pri provjeri sadržaja (ArchiveJob).

  • nested_archivesintegerobavezno
  • skippedarray of ArchiveSkipobavezno
  • ignoredintegerobavezno

    Sistemski unosi (datoteke operacijskog sustava, mape, prazne datoteke, potpisi spremnika).

400Zahtjev nije valjan: vrijednost parametra ili stanje objekta ne dopušta radnju (`detail` je poruka).

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

401Vjerodajnice nisu poslane (ni kolačić sesije ni API ključ) ili ključ nije pronađen.

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

402Organizacija je dosegla ograničenje plana (kartice, pohrana ili korisnici). `error.details` sadrži `kind`, `limit` i `used`.

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

403Radnja nije dopuštena: uloga nije dovoljna, nema pristupa zbirci ili kartici, zahtjev se izvodi u načinu „View as” ili je organizacija suspendirana ili izbrisana (`detail` je objekt s `code: org_suspended | org_deleted`).

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

404Objekt ne postoji ili vam nije dostupan. API ne potvrđuje postojanje ograničenog objekta.

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

409Stanje objekta ne dopušta radnju, na primjer duplikat, indeksiranje u tijeku ili posao koji je već obrađen.

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

410Objekt je postojao, ali više nije dostupan: poveznica je iskorištena ili je istekla, ili je datoteka izbrisana na kraju razdoblja čuvanja.

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

413Tijelo zahtjeva premašuje dopuštenu veličinu.

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

415Format datoteke nije podržan.

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

422Pogreška provjere valjanosti: tijelo ili parametri ne odgovaraju shemi (`detail` je popis pogrešaka provjere valjanosti) ili je vrijednost parametra izvan raspona (`detail` je poruka).

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

429Previše zahtjeva (`api.rate_limited`), kvota organizacije za minutu, dan ili mjesec je potrošena (`api.quota_exceeded`; `error.details` sadrži `quota`, `limit` i `reset_at`), dosegnuto je ograničenje organizacije ili je usluga odgovora zauzeta (`answers.engine_busy`). Pričekajte vrijeme navedeno u zaglavlju `Retry-After`.

Zaglavlja odgovora

  • Retry-After

    Broj sekundi koje treba pričekati prije ponovnog pokušaja zahtjeva.

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

503Usluga o kojoj ovaj zahtjev ovisi privremeno nije dostupna. Pokušajte ponovno kasnije.

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

Kodovi pogrešaka

Kodovi koje ova operacija može vratiti u error.code, uz opće kodove svakog zahtjeva.

Sigurni ponovni pokušaji

Uz svaki POST i PATCH pošaljite zaglavlje Idempotency-Key (na primjer UUID). Ponovni pokušaj s istim ključem unutar 24 sata vraća spremljeni odgovor umjesto da ponovno izvrši zahtjev.

Ograničenja učestalosti

Odgovori sadrže zaglavlja RateLimit i RateLimit-Policy te ranija zaglavlja X-RateLimit-Limit, X-RateLimit-Remaining i X-RateLimit-Reset. Odgovor 429 sadrži zaglavlje Retry-After u sekundama: pričekajte i pokušajte ponovno.

← cards · Referenca API-ja