Arendajatele
Integratsioonikeskus.
Kolm teed kontrolli saatmiseks: WooCommerce lisa, sõltuvusteta PHP SDK ja REST API. Tee otsustab, kui palju te ise kirjutate. Lepingut ta ei muuda. Kutse on nõuandev, ta on piiratud 800 ms peale, ja kontaktandmed räsitakse teie enda serveris, enne kui midagi välja läheb.
Valik
Valige kiht, mis teil juba on.
WooCommerce lisa
WordPressi lisa WooCommerce poodidele. Räsimise, päringu allkirjastamise, ajalimiidi, kordusjärjekorra, tellimuste nimekirja märke ja ühe klõpsuga märgistamise teeb lisa teie eest. Koodi kirjutama ei pea.
PHP SDK
Sõltuvusteta, PHP 7.3 kuni 8.5, vajab ainult ext-curl ja ext-json. Fail-open ja HMAC allkirjaga konstruktsiooni järgi. Poele, kellel on oma PHP kassa.
REST API
HR1 HMAC autentimine JSON peal. POST /v1/check, POST /v1/labels, range payloadi lubatud nimekiri ja selged veakoodid. Iga keele jaoks.
Joonis 1
Iga pind, mis suudab serverist väljuva HTTPS päringu teha, liidestub REST API kaudu, ja see üks päring ongi kogu liidestus. Öelge meile, mida te kasutate, aadressil hello@heatrail.eu.
Leping
Nõuandev, ajaliselt piiratud, ja kadu on ohutu.
Heatraili kutsutakse üks kord tellimuse kohta, teie serverist, hetkel mil te olete tellimust makseteenusele üle andmas. Vastus on andmed. Ta ei saa midagi peatada, viivitada ega tühistada, sest teenusel ei ole selleks mehhanismi. Otsus on teie, teie koodis, pärast kutse naasmist.
800 ms eelarve
Lisa ja SDK jõustavad kõva 800 ms päringu ajalimiidi (HeatrailClient::DEFAULT_TIMEOUT_MS). Selle ületamisel jätab klient päringu katki, tagastab degradeerunud tulemuse, kirjutab kontrolli kohalikku kordusjärjekorda ja annab juhtimise kohe teie kassale tagasi. Eelarve jookseb teie protsessis, mitte meie omas, ja just see teeb ta jõustatavaks. Ülejäänud argumendi esitab Nõuandev konstruktsiooni järgi.
Degradeerunud tulemus on kindel, äratuntav kuju, mitte kunagi erind, mitte kunagi osaline skoor:
['degraded' => true, 'score' => 0, 'reasons' => []]Käsitlege degraded kui „sellel tellimusel signaali ei ole“, mitte kui „madal risk“. Skoor on null sellepärast, et teatada ei ole midagi, mitte sellepärast, et tellimus hinnati ja tunnistati korras olevaks.
Mis peab teie koodis tõsi olema
- Kutse ei ole kriitilisel teel
- Mitte miski tellimuse vormistamises ei tohi sõltuda vastuse saabumisest. Kui te ei saa Heatraili kutset kassast kustutada ja tellimust ikkagi teele saata, on liidestus vale.
- Iga tõrge on kinni püütud
check()SDK-s ei viska kunagi. Ajalimiit, ühenduse viga, non-2xx ja vigane JSON tagastavad kõik degradeerunud kuju. Kui te kutsute REST API-t otse, kuulub see leping teile: mähkige, piirake, neelake.- Märgistamine on erand
label()on ainus operatsioon, mis tõrkel viskab. Silt on selge inimese otsus, seega SDK ei teata kunagi silti rakendatuks, mida API ei kinnitanud. Näidake operaatorile tõrget ja laske tal uuesti proovida.- Skoorid on suunamiseks, mitte otsuseks
- Skoor 70 või rohkem on see, mida Heatrail käsitleb kaupmehe hoiatuse väärilisena. Mida te sellega teete, hoiate ülevaatamiseks, küsite teist tegurit, saadate ikkagi teele, on äriline otsus, mis jääb täielikult teie poolele.
Andmed
Räsige omal poolel. Saatke kategooriad, mitte sisu.
E-posti aadress ja telefoninumber räsitakse teie poe sees, enne kui päring ehitatakse. Esimene aste on HMAC-SHA256(key = network salt, message = normalised value), tulemuseks 64 väiketähega hex märki. See hex on see, mis liigub. Toored kontaktandmed meieni ei jõua.
Teine aste jookseb meie serveris, enne kui midagi salvestatakse: argon2id, 12 MiB mälu iga katse kohta, võtmega, mis sellest serverist ei lahku. Alles jääb ainult teise astme väärtus, ehk meie andmebaasi read ei ole isegi need, mille teie arvutasite.
Lisa ja SDK teevad seda teie eest. Otsesel REST liidestusel on see teie kood, ja see on liidestuse tähtsaim rida, mis peab õige olema.
Mida te saadate
email_h/phone_h, esimese astme räsi, või jäetud äraip, kliendi IP, mida teie server nägi (nõutav)order_refja/võisession_ref, vähemalt ükspersist_id, valikuline naasva brauseri pseudonüümcontext, summa korv, kogus, toote riskiklass, konto vanuse klass, viiteallika klassdevice_vector, valikulised jämedakoelised seadme tunnused
Mis keelatakse
- Toored e-posti aadressid ja telefoninumbrid
- Nimed, tarneaadressid või arveaadressid
- Kaardinumbrid või mis tahes maksetunnused
- Tellimuse read, tootenimed, vaba tekst mis tahes kujul
- Toored user-agent stringid
- Iga võti, mida lubatud nimekirjas ei ole: tundmatud väljad on 422, nii tipus,
contextsees kuidevice_vectorsees
Tühja räsi reegel
Ärge kunagi räsige tühja, ainult tühikutest koosnevat või kohatäite väärtust, ja ärge asendage varuväärtusega. Jagatud näidise räsi saaks üheks hiiglaslikuks sõlmeks, mis seoks iga külaliskassa võrgus iga teisega. Kui kasutatavat väärtust ei ole, jäetakse väli payloadist täielikult välja. SDK annab seda teada, tagastades null meetoditest hashEmail() ja hashPhone(), ja API lükkab tuntud kohatäidete räsi iseseisvalt tagasi veaga placeholder_hash.
Volitused
Kolm väärtust, kolm eri tööd.
- Key ID
- Teie API võtme avalik identifikaator, kujul
hk_ja selle järel 16 kuueteistkümnendmärki. Ta ilmubAuthorizationpäises ja meie logides. Ta ei ole saladus. - API key secret
- Kasutatakse üheks asjaks: HR1 päringuallkirja arvutamiseks. Ta ei räsi kunagi ühtegi identifikaatorit, ja teda ennast ei saadeta kunagi, ainult temast tuletatud allkirja. Pöörake ta portaalis ümber, kui ta kunagi paljastub.
- Network salt
- Kasutatakse üheks asjaks: esimese astme identifikaatorite räsimiseks. Ta on võrguülene, ja just see laseb ühe poe räsi klappida sama isiku räsiga teises poes. Kohelge teda sama hoolega kui API saladust.
- Scopes
- Võti kannab
check,label, või mõlemat. Päring, mis on allkirjastatud võtmega, millel puudub nõutav ulatus, keelatakse sama üldise 401-ga nagu vale allkiri, teadlikult, et vastus ei saaks kinnitada, et allkiri oli muidu kehtiv.
Kõik kolm väärtust on serveripoolsed. Ükski neist ei tohi kunagi jõuda brauserisse, ehitusartefakti ega kliendipoolsesse kimpu. Nad väljastatakse poe kaupa partnerportaalist, kus võetakse vastu ka Teenusetingimused ja Andmetöötlusleping, siis kui taotlus on üle vaadatud ja tellimus on aktiivne. Kui te soovite enne inimeselt küsida, kirjutage hello@heatrail.eu.