Сактагыч келишими

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Акыркы шайкештирүүдөн берки өзгөрүүлөр, курсор боюнча