Shipit DokumentatsioonShipit Dokumentatsioon
API
Veebikonksud
Shopify Delivery Checkout
  • English
  • Suomi
  • Svenska
  • Eesti
  • Dansk
  • Norsk
API
Veebikonksud
Shopify Delivery Checkout
  • English
  • Suomi
  • Svenska
  • Eesti
  • Dansk
  • Norsk
  • API

    • API

API

See leht kirjeldab, kuidas shipment request identifikaatoriväljad normaliseeritakse enne valideerimist ja broneerimist. Käitumine põhineb api repo praegusel pipeline'il.

Töötlemise järjekord

Shipment request normaliseeritakse selles järjekorras:

  1. organizationId võib vahetada tenant-konteksti alamorganisatsioonile.
  2. senderId ja receiverId proovivad täita sender ja receiver.
  3. organizationId võib täita sender valitud organisatsiooni profiilist, kui sender ja senderId puuduvad.
  4. consignmentTemplateId või auto-apply-template merge'itakse requesti.
  5. teenusepõhine pickup-aadress võib täita pickupAddress.
  6. senderAddressId ja receiverAddressId võivad pipeline'i lõpus kirjutada üle sender ja receiver.
  7. freightPayerId või freightPayer.customerNumber võib täita freightPayer ja carrier contract-konteksti.

Hiljem jooksnud resolver võidab varasema.

Kokkuvõte

VäliLubabResolve'ibOverwrite-käitumine
organizationIdalamorganisatsiooni ulid või quick_idtenant-kontekst, vahel senderei täida sender-it, kui senderId või sender on juba olemas
senderIdpraktikas sender-aadressi quick_idsenderkui leitakse, asendab inline sender payloadi
receiverIdpraktikas receiver-aadressi quick_idreceiverkui leitakse, asendab inline receiver payloadi
consignmentTemplateIdtemplate id või quick_idtemplate payloadtavalises režiimis võidab request, override-režiimis template
senderAddressIdaddress book id või quick_idsenderjookseb hilja, seega võidab ka senderId ja organization sender fill
receiverAddressIdaddress book id või quick_idreceiverjookseb hilja, seega võidab ka receiverId
freightPayerIdaddress book id või quick_idfreightPayer ja contract-konteksttöötab ainult siis, kui aadressil on contract selle serviceId jaoks
organizationMemberIdolemasolev organization_members.idmitte midagihetkel ainult valideeritakse

Olulised kombinatsioonid

  • ainult organizationId: tenant vahetub ja sender täidetakse organisatsiooni profiilist
  • organizationId + senderId: tenant vahetub, seejärel otsustab senderId sender-i
  • senderId + sender: edukas senderId lookup asendab kogu sender
  • vigane senderId + sender: senderId muutub null-iks ja eksplitsiitne sender jääb alles
  • senderId + senderAddressId: lõplik sender tuleb senderAddressId-st

senderId ja receiverId

senderId ja receiverId jooksevad enne consignment template'e. Kui lookup õnnestub, kirjutatakse kogu party-payload üle.

  • praegune fill-pipe resolve'ib need väljad quick_id alusel
  • leidmata väärtused normaliseeritakse null-iks
  • edukas lookup võidab varasema inline andmestiku

Märkus

Valideerimisreegel lubab senderId ja receiverId jaoks nii numbrilist aadressi id kui ka quick_id, kuid praegune fill-pipe resolve'ib need quick_id kaudu. Praktikas tuleks neis väljades kasutada quick_id.

senderAddressId ja receiverAddressId

Need väljad on eraldi senderId ja receiverId väljadest.

  • lookup tehakse tenant'i address book'ist
  • lookup lubab aadressi numbrilist id või quick_id
  • edukas lookup asendab kogu sender või receiver
  • receiverAddressId võib täita ka preNoticeEmail, preNoticeSMS ja deliveryInstructions
  • senderAddressId võib täita ka pickupInstructions

Kuna need jooksevad hiljem, võidavad need varasema party-resolve'i.

consignmentTemplateId

consignmentTemplateId lubab template id või quick_id. Kui template resolve'itakse, normaliseeritakse request template'i päris id peale.

  • tavaline režiim: requesti väärtused võidavad ja template täidab lüngad
  • override-režiim: template väärtused võidavad
  • items ja parcels merge'itakse indeksi kaupa sama loogikaga
  • template võib täita puuduva serviceId

freightPayerId

freightPayerId ei täida sender'it ega receiver'it. See resolve'ib third-party arvelduslepingu konteksti.

  • vajab serviceId
  • teeb lookup'i tenant'i address book'ist id või quick_id alusel
  • täidab freightPayer ainult siis, kui aadressil on teenusele contract
  • ehitab freightPayeri põhiliselt receiver'i andmete ja leitud customer number'i peale

Soovitus

  • kasuta organisatsiooni ulid-it või quick_id-d väljal organizationId
  • kasuta quick_id-d väljadel senderId ja receiverId
  • kasuta senderAddressId ja receiverAddressId, kui address book kirje peab pipeline'i lõpus kindlasti võitma
  • kasuta consignmentTemplateId-d defaultide või kontrollitud override'i jaoks
  • ära saada sama party jaoks mitut resolverit, kui sa ei taha teadlikult kasutada siin kirjeldatud prioriteedijärjestust
Last Updated: 13.06.26, 07:25
Contributors: Brian Faust