Асноўныя прынцыпы інтэграцыі · Кіраўнікі
Пачынаючы
Аўтэнтыка, першае запыт, лакалізаваныя памылкі, старонкаванне, і бяспечнае размяшчэнне вытворчасці.
Пачніце з адданага токен і аперацыі чытання. Дадаць мутацыі толькі пасля таго, як error кіравання і паводзіны перапрабаваць былі выпрабаваны.
Заднія распрацоўшчыкі і інтэгратары01
Аўтэнтыфікацыя і захоўванне токены
Выпраўляйце токен API непасрэдна ў заголоўку Authorization без прафікса Bearer.
Стварыць асобны токен для кожнай інтэграцыі. Затым вы можаце адклікаць адно злучэнне, не перарываючы іншыя і даць толькі дазволы, якія ён мае патрэбу.
Захоўваць токен у серверных сакрэтах. ніколі не адпраўляць яго ў браўзэры JavaScript, мабільнае прыкладанне, URL, часопісы або аналітыкі.
Не дадайце Bearer або Basic. Значэнне Authorization з'яўляецца сам токен SelSup.
curl --request GET 'https://api.selsup.ru/api/brand/find?limit=50&page=1' \
--header 'Authorization: YOUR_API_TOKEN'
Сродкі API канечныя пункты
GET/api/brand/findЗапыт на бяспечны тэст
02
Памылкі і месцазнаходжанне паведамлення
Падключыце на стабільнае поле error і выкарыстоўвайце localMessage толькі для чытальнага выхаду для чалавека.
Прыкладанне error звычайна ўтрымлівае error, localMessage і params. Сервер перакладае localMessage з дапамогай поля lang карыстальніка, які валодае токеном.
Мова дакументацыі і Accept-Language не змяняюць месцазнаходжанне error. Ніколі не параўноўвайце localMessage ў кодзе або захавайце яго ў якасці статусу машыны.
Запішыце стан HTTP, error, params, час запыту і ваш ID сувязі. Ніколі не запісвайце токен або асабістыя дадзеныя.
{
"error": "brand_already_exists",
"localMessage": "Brand Base already exists",
"params": {
"name": "Base"
}
}
03
Пераклад вялікіх калекцый
Выкарыстоўвайце стабільны адсорцір і спыніце, калі hasNextPage не так або вярнутая старонка менш, чым мяжа.
count=true можа выклікаць дадатковы запыт ліку. Адправіць яго на першым запыце толькі тады, калі агульная фактычна неабходна.
Дадзеныя могуць змяняцца паміж старонкамі. Для паўторнай сінхранізацыі, сартаваць па непераменным ідэнтыфікатары і працэсу змены ў асобным паведамленні павелічэння.
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;
}
Сродкі API канечныя пункты
GET/api/brand/findПрыклад пошуку на старонкахGET/api/product/findПошук прадукту
04
Праверны спіс вытворчасці
- 1
Асобнае чытанне і пісьмо
Па-першае, пацвердзіце запыты GET. Выкарыстоўвайце тэставыя суб'екты і выразны крок пацвярджэння для мутацый.
- 2
Канфігуруйце часы і паўторныя спробы
Звярніце ўвагу на няўдалы сеткі і бяспечныя аперацыі толькі. POST без вашага ўласнага ключ адмоўнасці можа стварыць дублікат.
- 3
Абмежаванне адначасовасці
Выконвайце межы канчатковага пункту і выкарыстоўвайце чаргу з экспаненцыйным адступленнем і невялікім выпадковым дрыжтам.
- 4
Вынікі пагадзіцца
Пасля шэрагу сінхронізацыі, параўноўвайце лічбы і ўзоры ідэнтыфікатараў, а затым перамясціце непарыўнасці ў асобную чаргу.
Паспрабуйце, ён адпраўляе запыт на рахунак уладальніка токен. Дакументацыя дадае пацверджанне для пісаў, але вы ўсё роўна павінны выкарыстоўваць тэставыя запісы.