ConnectWiz + API ir webhook
Veikianti integracijaAPI, 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.
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
Išduokite raktą
Skydelyje sukurkite Commerce API raktą su ribotomis teisėmis; atšaukti jį taip pat paprasta.
Prijunkite webhook
Sukurkite srautą su webhook paleidikliu; užklausas pasirašykite jo slaptu raktu.
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.
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.