ConnectWiz + API ir webhook

Veikianti integracija

API, kurią parduodame, – ta pati, kurią naudojame

Visa platforma aprašyta viena OpenAPI sutartimi, iš kurios generuojami ir mūsų pačių skydelis, ir mobilioji programėlė – jokių šešėlinių galinių taškų, jokio dokumentacijos atotrūkio. Be to: Commerce API raktai su ribotomis prieigos teisėmis, apsaugoti webhook paleidikliai ir automatizavimo srautai, kurie kreipiasi į jūsų sistemas.

Viena OpenAPI sutartis API raktai su ribotomis teisėmis HMAC tikrinamos webhook užklausos
API ir webhook × ConnectWiz
Duomenys – tik duomenys, niekada ne komandos
Ribotas raktas: katalogo skaitymas · užsakymų rašymas
Webhook → HMAC patikrinta → srautas paleistas
Srauto REST žingsnis kreipiasi į jūsų API
1
Pagrindinė OpenAPI sutartis – tas pats failas, iš kurio generuojami mūsų skydelis ir mobiliosios programėlės
3
Commerce prieigos teisės – katalogo skaitymas, užsakymų skaitymas, užsakymų rašymas – suteikiamos kiekvienam raktui atskirai
100
Daugiausia eilučių per vieną skaitymą, ribojama serverio pusėje – limit parametras tikrinamas, o ne priimamas aklai
50
Prekių eilučių viename užsakyme per API – iš anksto paskelbta riba, o ne atrasta netikėtai

Kūrėjams

Ką tiksliai daro

Viena pagrindinė sutartis

Platformą aprašo vienas OpenAPI 3 dokumentas; iš jo generuojami ir mūsų pačių TypeScript klientai – dokumentacija negali atitrūkti nuo tikrovės, nes tikrovė kuriama iš dokumentacijos.

Commerce API raktai

Darbo srities išduodami raktai su aiškiomis prieigos teisėmis – katalogo skaitymas, užsakymų skaitymas, užsakymų rašymas – leidžia jūsų pačių parduotuvei ar programėlei veikti tuo pačiu užsakymų varikliu, o kainos visada nustatomos serverio pusėje.

Įeinančios webhook užklausos – apsaugotos

Kiekvienas srauto webhook paleidiklis turi savo URL ir slaptą raktą, HMAC tikrinimą pagal neapdorotą užklausos turinį ir apsaugą nuo pakartojimo. Duomenyse gali būti nurodytas asmuo, bet jie niekada negali valdyti srauto vidaus.

Išeinantys įvykiai – per automatizavimo srautus

REST žingsnis kreipiasi į jūsų sistemas būtent tais momentais, kuriuos nubrėžiate schemoje: pateiktas užsakymas, duotas sutikimas, atlikta rezervacija.

Techninė pusė

API projektavimo principai, įvardyti tiesiai

Kainos niekada neateina iš kliento pusės

Užsakymo užklausa nurodo, ką ir kiek, – pavadinimas ir kaina tuo metu nuskaitomi iš katalogo serverio pusėje ir įrašomi į eilutę kaip momentinė kopija. Suklastota užklausa nuolaidos nesusigalvos.

Pirma galimybės, paskui iškvietimai

Kiekviena integracijos sąsaja skelbia savo galimybių sutartį – ar ji gali susieti klientą pagal telefono numerį, pateikti svečių užsakymus, kurti užsakymus? – o iškvietimas, nepaisantis paskelbto „ne“, iškart grąžina klaidą, užuot sugedęs kažkur giliai.

Klaidos, kurios ką nors reiškia

Transporto sluoksnis skiria „neautorizuota“ nuo „paslauga neveikia“, todėl „parduotuvė nepasiekiama“ niekada nevirsta „šis klientas niekada nieko nepirko“. Įvardytos klaidos – tai skirtumas tarp API ir spėlionių žaidimo.

Webhook užklausos, apsaugotos nuo pakartojimo

Kiekvienas gaunamas įvykis prieš apdorojimą užregistruoja unikalų raktą idempotency apskaitoje – pakartotinai išsiųstas ar perimtas ir pakartotas pristatymas sustabdomas duomenų bazės lygmeniu, o ne jūsų automatizacijoje.

Raktai – maišos pavidalu, teisės – ribotos

API raktai saugomi kaip maišos reikšmės, o prie durų nustatoma tik maiša ir prieigos teisės – nutekėjusi duomenų bazės eilutė neįvardija jokios darbo srities ir neatrakina nieko daugiau, nei leidžia jos teisės.

Juodraščiai ir patvirtinimai – aiškiai atskirti

Užsakymo kūrimas priima aiškų confirm parametrą – viešoji API pagal numatymą kuria patvirtintus užsakymus, o skydelio srautai gali ruošti juodraščius, – todėl „ar tai tikra?“ yra laukas, o ne susitarimas.

Sąranka

Kaip jungiamasi

01

Išduokite raktą

Skydelyje sukurkite Commerce API raktą su ribotomis teisėmis; atšaukti jį taip pat paprasta.

02

Prijunkite webhook

Sukurkite srautą su webhook paleidikliu; užklausas pasirašykite jo slaptu raktu.

03

Praneškite atgal

Pridėkite REST žingsnius ten, kur jūsų sistemoms reikia apie tai sužinoti.

Kartu – geriau

Su kuo derinasi

Flows

Webhook paleidikliai inicijuoja automatizavimo srautus; REST žingsniai jūsų nubrėžtais momentais kreipiasi atgal į jūsų sistemas – įeinanti ir išeinanti automatizacija gyvena vienoje schemoje.

Commerce

Mūsų katalogo ir užsakymų variklis už API sąsajos yra tas pats, kurį naudoja pokalbių parduotuvė ir DI, – viena užsakymų tiesa, keturios durys.

Jūsų pačių parduotuvė

Komandos jau šiandien kuria headless parduotuves su Commerce API – būtent šį kelią sąžiningai rekomenduoja Shopify puslapis tol, kol kuriama tiesioginė jungtis.

Saugumas ir garantijos

Nuobodžios garantijos

HMAC pagal neapdorotą užklausos turinį

Webhook tikrinimas pasirašo neapdorotą užklausos turinį kiekvieno paleidiklio slaptu raktu ir palygina pastoviu laiku – duomenys analizuojami tik po įrodymo.

Duomenys – tik duomenys, niekada ne komandos

Webhook duomenyse gali būti nurodytas asmuo, tačiau jie niekada negali valdyti srauto vidaus, perrašyti užklausų modeliui ar iškviesti įrankių. Riba tarp duomenų ir instrukcijų yra architektūrinė, o ne elgsenos.

Užklausų limitai prie kiekvienų durų

Viešiems galiniams taškams taikomas standartinis ribojimas, o skaitymo limitai apribojami serverio pusėje – netinkamai besielgiantis klientas pakenkia tik sau, o ne platformai.

Sąlygos be pagražinimų

Ribos, įvardytos tiesiai

Visų įvykių srauto kol kas nėra

Bendro „prenumeruok viską“ webhook srauto nesukūrėme – išeinantys įvykiai šiandien siunčiami per srautų žingsnius. Rašome tai čia, kad jokiame pardavimų pokalbyje nereikėtų užsiminti kitaip.

Ribotas skaitymas – sąmoningai

Skaitymas grąžina iki 100 eilučių su žymekliu (cursor) – API sukurta operatyvinei integracijai, o ne masiniam eksportui. Dėl masinių poreikių kalbamės, o ne ieškome spragų.

API ir webhook DUK

Atsakymai be užuolankų

Daugiau atsakymų rasite skiltyje DUK, o jei ko nerasite – parašykite mums tiesiogiai.

Platforma aprašyta viena OpenAPI 3 sutartimi – tuo pačiu failu, iš kurio mūsų žiniatinklio skydelis ir mobilioji programėlė generuoja savo tipus. Integruojatės su tuo pačiu, kuo veikiame patys.

Kiekvienam paleidikliui – atskiras slaptas raktas, HMAC tikrinimas pagal neapdorotą turinį ir apsauga nuo pakartojimo per idempotency apskaitą. O taisyklė tokia: duomenys yra duomenys – juose gali būti nurodytas asmuo, bet jie niekada nevaldo automatizacijos.

Per srautų REST žingsnius, kurie suveikia jūsų schemoje pasirinktais momentais. Bendras išeinantis webhook srautas yra plėtros plane ir sąmoningai nežadamas, kol nebus išleistas.

Taip – palaikomas kelias yra katalogo skaitymas ir užsakymų rašymas, kainos nustatomos serverio pusėje, o raktus su ribotomis teisėmis galite atšaukti kiekvienai sąsajai atskirai. 50 prekių eilučių ir 100 skaitomų eilučių ribos paskelbtos tam, kad į jas atsižvelgtumėte projektuodami, o ne už jų užkliūtumėte.

Pristatymai mūsų pusėje idempotentiški – apskaita atpažįsta pakartojimą ir jį atmeta, todėl jūsų sistemos gali saugiai bandyti iš naujo. Išeinantys srautų REST žingsniai turi savo pakartojimo politiką, o nesėkmės rodomos srauto vykdymo įraše.

Geriau sujungta sąžiningai nei garsiai.

Kiekviena integracija čia aprašyta pagal tai, ką ji iš tikrųjų daro, – su kryptimi, duomenų nuosavybe ir ribomis.