SelSup Developers

Асноўныя прынцыпы інтэграцыі · Кіраўнікі

Пачынаючы

Аўтэнтыка, першае запыт, лакалізаваныя памылкі, старонкаванне, і бяспечнае размяшчэнне вытворчасці.

4 раздзелыКіраўніцтва распрацоўшчыкам

Пачніце з адданага токен і аперацыі чытання. Дадаць мутацыі толькі пасля таго, як error кіравання і паводзіны перапрабаваць былі выпрабаваны.

Заднія распрацоўшчыкі і інтэгратары

01

Аўтэнтыфікацыя і захоўванне токены

Выпраўляйце токен API непасрэдна ў заголоўку Authorization без прафікса Bearer.

Стварыць асобны токен для кожнай інтэграцыі. Затым вы можаце адклікаць адно злучэнне, не перарываючы іншыя і даць толькі дазволы, якія ён мае патрэбу.

Захоўваць токен у серверных сакрэтах. ніколі не адпраўляць яго ў браўзэры JavaScript, мабільнае прыкладанне, URL, часопісы або аналітыкі.

!
Гэта не OAuth

Не дадайце Bearer або Basic. Значэнне Authorization з'яўляецца сам токен SelSup.

Першае запыт · cURL
curl --request GET 'https://api.selsup.ru/api/brand/find?limit=50&page=1' \
  --header 'Authorization: YOUR_API_TOKEN'

02

Памылкі і месцазнаходжанне паведамлення

Падключыце на стабільнае поле error і выкарыстоўвайце localMessage толькі для чытальнага выхаду для чалавека.

Прыкладанне error звычайна ўтрымлівае error, localMessage і params. Сервер перакладае localMessage з дапамогай поля lang карыстальніка, які валодае токеном.

Мова дакументацыі і Accept-Language не змяняюць месцазнаходжанне error. Ніколі не параўноўвайце localMessage ў кодзе або захавайце яго ў якасці статусу машыны.

i
Дыягнастычны кантэкс

Запішыце стан HTTP, error, params, час запыту і ваш ID сувязі. Ніколі не запісвайце токен або асабістыя дадзеныя.

Заяўка error кантракт · JSON
{
  "error": "brand_already_exists",
  "localMessage": "Brand Base already exists",
  "params": {
    "name": "Base"
  }
}

03

Пераклад вялікіх калекцый

Выкарыстоўвайце стабільны адсорцір і спыніце, калі hasNextPage не так або вярнутая старонка менш, чым мяжа.

count=true можа выклікаць дадатковы запыт ліку. Адправіць яго на першым запыце толькі тады, калі агульная фактычна неабходна.

Дадзеныя могуць змяняцца паміж старонкамі. Для паўторнай сінхранізацыі, сартаваць па непераменным ідэнтыфікатары і працэсу змены ў асобным паведамленні павелічэння.

Складка паведамленняў · JavaScript
let page = 1;
let hasNextPage = true;

while (hasNextPage) {
  const url = new URL('https://api.selsup.ru/api/brand/find');
  url.searchParams.set('limit', '500');
  url.searchParams.set('page', String(page));
  url.searchParams.set('sortBy', 'BRANDID');
  url.searchParams.set('ascending', 'true');

  const response = await fetch(url, {
    headers: { Authorization: process.env.SELSUP_API_TOKEN }
  });
  if (!response.ok) throw await response.json();

  const result = await response.json();
  await savePage(result.rows);
  hasNextPage = result.hasNextPage;
  page += 1;
}

04

Праверны спіс вытворчасці

  1. 1

    Асобнае чытанне і пісьмо

    Па-першае, пацвердзіце запыты GET. Выкарыстоўвайце тэставыя суб'екты і выразны крок пацвярджэння для мутацый.

  2. 2

    Канфігуруйце часы і паўторныя спробы

    Звярніце ўвагу на няўдалы сеткі і бяспечныя аперацыі толькі. POST без вашага ўласнага ключ адмоўнасці можа стварыць дублікат.

  3. 3

    Абмежаванне адначасовасці

    Выконвайце межы канчатковага пункту і выкарыстоўвайце чаргу з экспаненцыйным адступленнем і невялікім выпадковым дрыжтам.

  4. 4

    Вынікі пагадзіцца

    Пасля шэрагу сінхронізацыі, параўноўвайце лічбы і ўзоры ідэнтыфікатараў, а затым перамясціце непарыўнасці ў асобную чаргу.

!
Дадзеныя пражывага рахунку

Паспрабуйце, ён адпраўляе запыт на рахунак уладальніка токен. Дакументацыя дадае пацверджанне для пісаў, але вы ўсё роўна павінны выкарыстоўваць тэставыя запісы.