Қойма келісімшарты

A3.Drive өнімдерге файлдармен жұмыс істеуге арналған тар интерфейс береді. Өнім тек келісімшартты біледі және қойманың ішкі құрылымына тәуелді емес. A3 өнімдері клиенттің бөгде жүйелерімен бірдей келісімшарт арқылы, ішкі айналма жолдарсыз жұмыс істейді.

Келісімшарт ядросы

Өнім файлдарды өзінде сақтауды тоқтатуы үшін жеткілікті төрт әдіс. Қалған мүмкіндіктер сол деректер моделінің үстіндегі кеңейтулер болып табылады.

01put(bytes, meta) -> { file_id, version_id }

Файлды енгізу

Объект пен оның бірінші нұсқасын жасайды. Жасамас бұрын content_hash, яғни мазмұн хэшін салыстырады: байт-байт бірдей көшірмені екінші объект ретінде сақтаудың орнына байланыстыру ұсынылады.

02get(file_id, { format, size, version }) -> FileDTO

Файлды алу

Құқықтарды тексереді, әрекет класы бойынша сілтеменің жарамдылық мерзімін таңдайды және қысқа мерзімді қол қойылған сілтеме шығарады. Суреттер үшін қажет өлшемді береді: нобай, орташа немесе толық.

03bind(file_id, { product_id, entity_type, entity_id, deep_link, version_pin? }) -> { binding_id }

Нысанға байланыстыру

Ұстаушыны, яғни файлдың өнім нысанына байланысын жасайды: мәмілеге, өтінішке, шотқа. Байланыс бар объектіге сілтейді, оны көшірмейді. Нақты нұсқаны бекітуге болады.

04unlink(binding_id, capability_token) -> { ok }

Байланысты алу

Идентификаторы бойынша дәл бір байланысты алады. Шақыру capability-токенмен, яғни бір әрекетке арналған бір реттік қол қойылған токенмен расталады. Бөлек жою командасы жоқ: ұстаушысы қалмаған объект тазалауға өзі кетеді.

Файл деректері бар бірыңғай жауап

DTO (data transfer object) деп файл өрістері бар жауап пішінін айтамыз. Оны келісімшарт бір рет анықтайды. Өнімдер оны тек әрі қарай береді және өз өрістерін қоспайды, әйтпесе ортақ қарау құралы мен ортақ файл таңдау терезесі жұмыс істемей қалады. status өрісі міндетті: онсыз интерфейс өңдеуді немесе тек қарауды ұсыну керегін білмейді.

Жауаптағы сілтемелер қысқа мерзімді. Қолданба оларды ұзақ сақтамайды: мерзімі біткенде файлды қайта сұрайды.

{
  "file_id": "b1f0c2e4-...",
  "version_id": "9a77d1c0-...",
  "name": "Regulation.docx",
  "mime": "application/vnd.openxmlformats-...",
  "size_bytes": 84213,
  "status": "signed",
  "permissions": {
    "can_edit": false,
    "can_download": true,
    "can_delete": false
  },
  "download_url": "https://.../signed?exp=...",
  "thumbnail_url": "https://.../thumb?exp=..."
}

Транспорттық тақырыптар

Тақырыптар арқылы қойма әдісті кім және кімнің атынан шақыратынын түсінеді. Жауап әрқашан бір қабықпен келеді, пайдалы деректер value өрісінде жатады. Тізімдер жалпы санымен бірге қайтарылады, сүзгілер мен беттеп шығару сұрау параметрлерінде объект ретінде беріледі.

Жауап қабығы
{ code, errorCode, success, value }
Тізім
{ items: T[], totalCount }
API_KEY
Интеграциялар тізіліміндегі шақырушы өнімнің кілті
A3Session
Пайдаланушы сценарийлеріне арналған A3.ID пайдаланушы сессиясы
Domain
Пайдаланушы сценарийлеріндегі бизнес домені
CompanyId
Домен компаниясы. Ол бойынша ұйымдардың деректері бөлінеді, квоталар мен тазалау есептеледі
ProductId
Шақыру атынан жасалатын өнім
Language-Code
Қате мәтіндерінің тілі: RU, EN, KK, KY, MN, UZ. Әдепкі бойынша RU

Сілтемелердің жарамдылық мерзімі

TTL (time to live) деп қол қойылған сілтеме файлды ашатын уақытты айтамыз. Ол сілтеме берілген әрекеттің ұзақтығына тең. Бұл параметрлердегі бір сан емес, әрекет класы мен файлдың сезімталдығы бойынша саясат. Сілтеме жарамды болғанда құқықты кері қайтару оған әлі әсер етпейді, сондықтан мерзім қысқа ұсталады.

КлассШамасыТүсініктеме
Бетте көрсетуМинуттарСуретті немесе нобайды бір рет көрсету. Сілтеме журналға түссе, ол енді жарамсыз.
Басу арқылы жүктеуОндаған минут«Жаңа қойындыда ашып, алаңдап кеттім» жағдайына жетеді.
Жария сілтемеКүндер мен апталарИенің саналы саясаты: мерзім, құпиясөз және кері қайтару.
Қол қойылған файлЕң қысқаҚұқықты кері қайтару әлі әсер етпейтін терезе әдейі кішкентай жасалады.

Келісімшарт кеңейтулері

Сол деректер моделінің үстінде өседі. Өнімдер ядро дайын болғанда келісімшартқа қосылады және қойманың қалған мүмкіндіктерін күтпейді.

  • list_versionsfreeze_versionНұсқалар тарихы және нұсқаны бекіту
  • set_retentionОбъектіні жоюға болмайтын сақтау мерзімі
  • searchАтау мен мазмұн бойынша іздеу
  • create_public_linkМерзімі, құпиясөзі және кері қайтаруы бар жария сілтеме
  • list_holdersОбъект қолданылатын орындар тізімі
  • register_productset_scopeИнтеграцияны тіркеу және оның қолжетімділік құқықтары
  • Files/MintEditTokenWOPIОнлайн редакторға арналған токен. WOPI: кеңсе редакторы файлды тікелей қоймадан ашатын хаттама
  • Sync/ChangesСоңғы синхрондаудан кейінгі өзгерістер, курсор бойынша