Ruka hadi kwenye maudhui makuu

Uunganishaji wa Shopify

Alkax hutoa programu moja ya Shopify inayohifadhiwa kwenye commerce.alkax.io. Usanidi wa uunganishaji huanza katika Alkax Developer Project, si kwenye skrini tofauti ya usanidi wa mfanyabiashara.

Developer Project ndiyo mpaka wa tenant (eneo la data na ruhusa lililotenganishwa kwa mradi). Mradi unaweza kuunganisha maduka mengi ya Shopify, na kila muunganisho wa duka huchagua mazingira ya Sandbox au Production ya mradi.

Unganisha duka​

  1. Fungua Developer Console na uchague mradi unaopaswa kumiliki duka la Shopify.
  2. Fungua E-commerce → Shopify (Biashara mtandao → Shopify).
  3. Ingiza kikoa cha *.myshopify.com cha duka.
  4. Chagua Sandbox au Production.
  5. Chagua Connect store (Unganisha duka).
  6. Kamilisha usakinishaji/uidhinishaji wa Shopify kwenye commerce.alkax.io.

Alkax huunda makabidhiano ya muunganisho ya muda mfupi. Mazingira ya pamoja ya Shopify huyatumia baada ya uthibitishaji wa Shopify na hufunga duka kwa:

DeveloperProject.Id -> tenant identity
DeveloperEnvironment -> Sandbox or Production execution/billing context
Shopify shop domain -> connected store

Duka linaweza kuwa na muunganisho mmoja tu unaotumika wa mradi wa Alkax kwa wakati mmoja.

Kinachosanidiwa kiotomatiki​

Wasanidi hawanakili ufunguo wa API ya Alkax kwenye Shopify. Muunganisho unapofanikiwa, Alkax hutoa kitambulisho cha uunganishaji pekee kwa mradi/mazingira yaliyochaguliwa na hukirudisha kwa mazingira ya pamoja ya commerce.alkax.io pekee.

Kwa hiyo, miito inayofanywa na uunganishaji wa Shopify hutumia uhusishaji uleule wa mradi/mazingira, vikomo na njia ya utozaji kama trafiki ya kawaida ya Developer Platform.

Kitambulisho hubaki upande wa seva. Hakijumuishwi kamwe katika kiendelezi cha malipo, kiendelezi cha akaunti ya mteja au jibu la kivinjari.

Kukamilisha anwani kiotomatiki​

Kukamilisha anwani kiotomatiki ndiyo uwezo wa msingi wa Shopify. Kiendelezi cha malipo huita mazingira ya pamoja kwa tokeni ya kipindi cha Shopify. Mazingira hayo hutambua tenant wa mradi wa duka na kuita:

GET /api/v1/addresses/suggestions?q=<query>&countryCode=<optional>&limit=5
X-Alkax-Key: <managed project/environment credential>

Mapendekezo hutoka kwenye utafutaji wa anwani unaomilikiwa na Alkax. Kuingiza anwani ya Shopify kwa mkono huendelea kupatikana Alkax isipatikane kwa muda.

Upatikanaji wa viendelezi vya anwani vya malipo unategemea masharti ya sasa ya Shopify ya mpango wa malipo, data ya wateja iliyolindwa na ufikiaji wa mtandao.

Ufuatiliaji wa hiari wa maagizo​

Ufuatiliaji wa maagizo huwashwa kwa kila duka lililounganishwa kutoka Developer Console → E-commerce → Shopify.

Msanidi anapochagua Enable tracking (Washa ufuatiliaji):

  1. Alkax huweka alama kwamba ufuatiliaji umeombwa kwa muunganisho huo wa mradi/duka.
  2. Utaratibu hufungua programu ya Shopify iliyosakinishwa.
  3. Shopify huomba duka litoe ruhusa ya hiari ya read_orders.
  4. commerce.alkax.io huripoti idhini hiyo kwa uunganishaji rasmi wa mradi.
  5. Webhook mpya za orders/create zinaweza kuunda uwasilishaji wa Alkax wenye mipaka ya mradi.
  6. Kiendelezi cha hali ya agizo cha akaunti ya mteja kinaweza kuonesha hali ya uwasilishaji ya Alkax baada ya kuhakiki kwamba mteja aliyeingia anamiliki agizo. Ufuatiliaji hufichwa kwa vipindi visivyo na utambulisho au Shopify isipoweza kuhakiki umiliki.

Kuzima ufuatiliaji katika Developer Console huanza kutumika kwenye muunganisho rasmi hata ikiwa ruhusa ya Shopify bado haijabatilishwa kwa mkono. Programu iliyosakinishwa inaweza pia kubatilisha ufikiaji wa maagizo usiotumika.

Mazingira ya pamoja ya tenant wengi​

Alkax Developer Project
└── E-commerce
└── Shopify
├── store-a.myshopify.com -> Sandbox
└── store-b.myshopify.com -> Production
|
v
commerce.alkax.io
shared Shopify runtime
|
tenant = DeveloperProject.Id
|
v
Alkax platform

Hifadhidata ya programu ya Alkax inamiliki muunganisho rasmi na hali ya vipengele. Hifadhidata ya mazingira ya Shopify inamiliki hali ya kiutendaji ya Shopify pekee: vipindi vya OAuth, muunganisho wa tenant uliotambuliwa, risiti za webhook na ulinganishaji wa agizo la Shopify ↔ uwasilishaji wa Alkax.

Rekodi za uendeshaji zinajumuisha vitambulishi vya mradi na mazingira ili uhusishaji wa tenant uwe wazi na uweze kukaguliwa.

Usalama wa muunganisho​

Mradi huunda tokeni ya nasibu ya makabidhiano yenye muda mfupi. Alkax huhifadhi hashi yake tu. Mazingira ya Shopify huhifadhi makabidhiano kwa muda wa kutosha kukamilisha Shopify OAuth, kisha huyatumia kupitia endpoint ya Alkax yenye uthibitishaji wa huduma.

Tokeni hutumiwa mara moja. Uwezeshaji uliofanikiwa huondoa makabidhiano na kuunda kiotomatiki kitambulisho cha mradi/mazingira kinachotumiwa na muunganisho huo wa duka.

Kuondoa programu au kufuta data za duka la Shopify huita mfumo wa udhibiti wa Alkax, huweka alama kuwa muunganisho rasmi umetenganishwa, huzima ufuatiliaji na kubatilisha kitambulisho chake cha uunganishaji.

Utambulisho wa uwasilishaji na majaribio ya kurudia​

Kila agizo la Shopify hulinganishwa kwa uthabiti kwa kutumia kikoa cha duka na Shopify Order GID. Uunganishaji hutumia thamani thabiti za idempotency/uwezeshaji za Alkax na kuhifadhi vitambulisho vya webhook za Shopify, ili majaribio ya kurudia ya Shopify na Alkax yasiunde uwasilishaji rudufu.

Shopify isipotoa viwianishi vya mahali pa kufikisha, uunganishaji unaweza kufasiri Plus Code ya Alkax iliyowekwa katika anwani iliyochaguliwa. Ikiwa hakuna viwianishi wala msimbo wa Alkax unaoweza kutumika, agizo hurekodiwa kama awaiting_address; hakuna uwasilishaji wa 0,0 unaoundwa.

Usanidi wa wasimamizi​

Utekelezaji uko katika integrations/shopify/ na husambazwa kando na frontend kuu ya wavuti.

Usanidi unaohitajika wa mazingira ya uendeshaji:

DATABASE_URL=postgresql://...
SHOPIFY_API_KEY=...
SHOPIFY_API_SECRET=...
SHOPIFY_APP_URL=https://commerce.alkax.io
SCOPES=

ALKAX_API_URL=https://<alkax-api-host>
ALKAX_SHOPIFY_SERVICE_KEY=<shared service identity>

Usambazaji wa API ya Alkax lazima usanidi thamani zinazolingana:

ShopifyIntegration:AppUrl=https://commerce.alkax.io
ShopifyIntegration:ServiceKey=<same shared service identity>

Uhakiki wa ndani:

cd integrations/shopify
npm install
npm run prisma:generate
npm test
npm run typecheck
npm run build

Tazama Developer Platform na Delivery Intelligence kwa mikataba ya msingi ya mradi, mgao na uwasilishaji.