วิธีผสานรวมอินสแตนซ์ Mirakl หลายรายการกับอินสแตนซ์หลายร้านของ Adobe Commerce เดียว
เผยแพร่แล้ว: 2022-03-26วิธีผสานรวมอินสแตนซ์ Mirakl หลายรายการกับอินสแตนซ์หลายร้านของ Adobe Commerce เดียว
บทนำ
แพลตฟอร์ม Mirakl Marketplace สามารถผสานรวมกับแพลตฟอร์ม Adobe (Magento) Commerce เพื่อสร้างตลาดออนไลน์แบบ end-to-end Mirakl ให้ตัวเชื่อมต่อ Magento เพื่อเพิ่มความเร็วในกระบวนการรวมซึ่งครอบคลุมกระแสกระบวนการตลาดมาตรฐานทั้งหมด ตัวเชื่อมต่อนี้ช่วยให้คุณสามารถซิงโครไนซ์ข้อมูลระหว่าง Mirakl และ Magento ได้โดยอัตโนมัติ นอกจากนี้ยังมีตัวอย่างโมดูล front-end ที่แสดงให้เห็นว่าคุณสามารถปรับแต่งเพจเพื่อนำเสนอฟีเจอร์ Marketplace ที่ขับเคลื่อนโดย Mirakl ได้อย่างไร
โดยค่าเริ่มต้น ตัวเชื่อมต่อได้รับการออกแบบมาเพื่อรวมอินสแตนซ์ Mirakl เดียวกับอินสแตนซ์ Magento เดียว อย่างไรก็ตาม สำหรับการเปิดตัวในหลายประเทศ อาจมีสถานการณ์ที่แต่ละประเทศมีอินสแตนซ์ Mirakl ของตัวเอง แต่อินสแตนซ์ Magento เดียวให้บริการทุกประเทศที่มีหน้าร้านหลายแห่ง ในสถานการณ์สมมตินี้ พฤติกรรมของตัวเชื่อมต่อเริ่มต้นจะต้องถูกแทนที่เพื่อรวมอินสแตนซ์ Mirakl แต่ละรายการกับอินสแตนซ์ที่เก็บ Magento เฉพาะ เราได้ดำเนินการนี้สำเร็จสำหรับหนึ่งในลูกค้าของเราในตลาด B2B ของพวกเขา มีการเปลี่ยนแปลงต่อไปนี้เพื่อรองรับสถานการณ์สมมตินี้ อ้างอิงถึงรูปที่ 1.1 สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีที่อินสแตนซ์ Mirakl หลายอินสแตนซ์ทำงานกับอินสแตนซ์หลายร้านของ Adobe Commerce เดียว

การเปลี่ยนแปลงการกำหนดค่าส่วนกลาง:
ต้องกำหนดค่า URL และรหัสลับแยกกันที่ระดับมุมมองร้านค้าสำหรับอินสแตนซ์ Mirakl แต่ละรายการ เราทำได้โดยแทนที่คลาสตัวช่วยการกำหนดค่าเพื่อกำหนดค่าจุดปลาย API ที่ระดับมุมมองร้านค้า คลาส Console ที่รับผิดชอบในการจัดการสคริปต์การซิงโครไนซ์ถูกแทนที่เพื่อจัดการสคริปต์การซิงโครไนซ์เฉพาะของมุมมองร้านค้าตาม ID ร้านค้าที่ส่งผ่านเป็นพารามิเตอร์
การซิงโครไนซ์อนุกรมวิธาน:
การซิงโครไนซ์อนุกรมวิธานระหว่าง Magento กับ Mirakl ทำได้โดยใช้การเรียก Mirakl H01 API API นี้ถูกเรียกใช้เพื่อส่งออกหมวดหมู่ Magento ไปยัง Mirakl แต่ด้วยการใช้งานหลายร้านค้า เราต้องแน่ใจว่าหน้าร้าน Magento แต่ละแห่งส่งออกอนุกรมวิธานไปยังอินสแตนซ์ Mirakl เฉพาะของตนเท่านั้น เราทำได้โดยแทนที่คลาสตัวช่วยตัวเชื่อมต่อ Mirakl ที่เกี่ยวข้องเพื่อจับคู่อินสแตนซ์ Mirakl กับหน้าร้าน Magento เฉพาะ
การนำเข้าสินค้า:
เช่นเดียวกับการซิงค์อนุกรมวิธาน การนำเข้าผลิตภัณฑ์ยังต้องมีการแมปจากอินสแตนซ์ Mirakl ไปยังหน้าร้านเฉพาะใน Magento ต่อไปนี้
ส่วนประกอบต่อไปนี้ถูกแทนที่เพื่อให้บรรลุสิ่งนี้:
- คลาสคำสั่งเพื่ออิมพอร์ตผลิตภัณฑ์เดลต้าในมุมมองร้านค้าที่เกี่ยวข้อง โดยที่ ID ร้านค้าถูกส่งผ่านเป็นส่วนหนึ่งของคำสั่ง cli
- ปลั๊กอิน Interceptor ที่ใช้ในการตั้งค่า ID ร้านค้าระหว่างกระบวนการนำเข้าผลิตภัณฑ์ เราต้องตั้งค่าหมวดหมู่รูท
เสนอการนำเข้า
OF51F API ใช้เพื่อนำเข้าข้อเสนอ Mirakl ไปยัง Magento ด้วยการใช้งานหลายร้านค้า สคริปต์การซิงโครไนซ์การนำเข้าข้อเสนอจะต้องถูกแทนที่เพื่อนำเข้าข้อเสนอเฉพาะของร้านค้า
ตาราง OOTB ได้รับการแก้ไขเพื่อแมปข้อเสนอด้วยรหัสร้านค้า งาน Cron แบบกำหนดเองถูกเขียนขึ้นเพื่อรองรับการนำเข้าข้อเสนอเฉพาะของร้านค้าตามรหัสร้านค้าซึ่งถูกส่งผ่านเป็นพารามิเตอร์
นำเข้าแอตทริบิวต์:
ตัวเชื่อมต่อ Mirakl ใช้การเรียก PM01 API เพื่อส่งออกคุณลักษณะของผลิตภัณฑ์จาก Magento ไปยัง Mirakl สำหรับการใช้งานหลายร้าน เราได้ลบล้างสคริปต์การซิงโครไนซ์เพื่อให้แน่ใจว่าแอตทริบิวต์ของร้านค้าวีโอไอพีนั้นส่งออกไปยังอินสแตนซ์ Mirakl ที่แมปเท่านั้น
รายการค่าแอตทริบิวต์นำเข้า:
ตัวเชื่อมต่อ Mirakl ใช้การเรียก VL01 API เพื่อส่งออกรายการค่าแอตทริบิวต์จาก Magento ไปยัง Mirakl สำหรับการใช้งานหลายร้าน เราได้ลบล้างสคริปต์การซิงโครไนซ์เพื่อให้แน่ใจว่ารายการค่าของร้านค้าวีโอไอพีนั้นส่งออกไปยังอินสแตนซ์ Mirakl ที่แมปเท่านั้น

ร้านค้านำเข้า:
ร้านค้า Mirakl ถูกนำเข้ามาใน Magento โดยใช้ S20 API สำหรับการใช้งานหลายร้าน เราได้ลบล้างสคริปต์การซิงโครไนซ์ S20 เพื่อซิงโครไนซ์ข้อมูลร้านค้าเฉพาะของร้านค้าจาก Mirakl ไปยังมุมมองร้านค้าที่แมปไว้
ข้อมูลการจัดส่ง
ไม่มีงาน Cron เฉพาะในตัวเชื่อมต่อ Mirakl เพื่อนำเข้าและจัดเก็บข้อมูลการจัดส่งในฐานข้อมูล Magento ค่าต่างๆ จะถูกดึงออกมาโดยใช้ SH01/SH02 ที่จุดต่างๆ ในการเดินทางของผู้ใช้ซึ่งจะแสดงค่าขนส่ง
โมดูลส่วนหน้าได้รับการขยายและปรับแต่งเพื่อรับค่าขนส่งที่จุดต่างๆ เช่น PLP, PDP, รถเข็น, การชำระเงิน, ประวัติการสั่งซื้อ และหน้ารายละเอียดการสั่งซื้อ อ้างอิงจากคำขอเฉพาะร้านค้า ค่าขนส่งถูกดึงมาจากอินสแตนซ์ Mirakl ที่แมปและแสดงผล
การซิงโครไนซ์คำสั่งซื้อ
OR01 API ใช้สำหรับการสร้างคำสั่งซื้อและ OR11 API สำหรับการซิงโครไนซ์สถานะคำสั่งซื้อระหว่าง Mirakl และ Magento
หน้าต่อไปนี้ขยายและปรับแต่งเพื่อรองรับการใช้งานเฉพาะร้านค้า
- หน้ายืนยันการสั่งซื้อ
- หน้าประวัติการสั่งซื้อ
- หน้ารายละเอียดการสั่งซื้อ
ลำดับการจัดวางคำสั่งซื้อได้รับการแก้ไขเพื่อส่งออกคำสั่งซื้อเฉพาะของร้านค้าไปยังอินสแตนซ์ Mirakl ที่แมป ตัวเชื่อมต่อ Mirakl และคลาสหลักของ Magento ได้รับการปรับแต่งเพื่อให้ครอบคลุมการสร้างคำสั่งซื้อในอินสแตนซ์ Mirakl ตามลำดับ โมดูลส่วนหน้าได้รับการขยายและแทนที่เพื่อแสดงสถานะคำสั่งซื้อเฉพาะของร้านค้าในหน้าประวัติคำสั่งซื้อและหน้ารายละเอียดคำสั่งซื้อ
การสร้างใบเสนอราคาและการซิงโครไนซ์
ตัวเชื่อมต่อ Mirakl ไม่ได้ใช้สถานการณ์สมมติใบเสนอราคา B2B เราขยายฟังก์ชันการทำงานของตัวเชื่อมต่อเพื่อแนะนำคุณลักษณะใหม่ ๆ สำหรับการสร้าง อัปเดต และซิงโครไนซ์ราคาเฉพาะของร้านค้าจาก Magento ไปยังอินสแตนซ์ Mirakl ที่แมปแล้ว และในทางกลับกัน
มีการเรียกใช้ API เจ็ดรายการตั้งแต่ Q01 ถึง Q07 เพื่อให้ครอบคลุมฟังก์ชันการเสนอราคาที่สมบูรณ์ของตลาด B2B
การกำหนดค่าราคา สกุลเงิน และสถานที่
Magento ให้การกำหนดค่าสถานที่และสกุลเงินเฉพาะของร้านค้า เนื่องจากเรามี Mirakl หลายอินสแตนซ์ แต่ละอินสแตนซ์จึงมีสถานที่ สกุลเงิน และราคาเฉพาะของตนเอง
คลาสการกำหนดค่าตัวช่วยตัวเชื่อมต่อถูกแทนที่เพื่อตั้งค่าการซิงค์เฉพาะร้านค้า
การเปลี่ยนแปลงกริดผู้ดูแลระบบ
งาน Cron ที่เกี่ยวข้องกับกริดผู้ดูแลระบบได้รับการขยายและปรับแต่งเพื่อรองรับการจัดเก็บรายละเอียดการซิงโครไนซ์เฉพาะ ใช้งานได้ดีสำหรับร้านค้าเริ่มต้น แต่สำหรับร้านค้าเพิ่มเติม จำเป็นต้องขยายส่วนนี้เพื่อแสดงการอัปเดตการซิงโครไนซ์เฉพาะร้านค้า
โมดูลส่วนหน้า
ส่วนประกอบส่วนหน้าที่เกี่ยวข้องกับ Breadcrumbs, PLP's, PDPs, mini cart, cart, checkout, ประวัติการสั่งซื้อ, รายละเอียดการสั่งซื้อ, การสร้างใบเสนอราคา & หน้ารายละเอียดใบเสนอราคา ได้รับการปรับแต่งให้รองรับการใช้งานหลายร้านค้า
สรุป
กุญแจสู่กลยุทธ์การใช้งานที่ประสบความสำเร็จคือการสามารถแมปหน้าร้าน Magento กับอินสแตนซ์ Mirakl เฉพาะได้ เราใช้รหัสร้านค้าเป็นวิธีที่ไม่ซ้ำกันในการระบุข้อมูลที่เกี่ยวข้องกับร้านค้าเฉพาะ รหัสตัวเชื่อมต่อทั้งหมดที่เกี่ยวข้องกับการซิงโครไนซ์ข้อมูลระหว่าง Magento และ Mirakl ได้รับผลกระทบในสถานการณ์หลายร้านค้านี้ ยกเว้นขั้นตอนของ Quotation เราไม่ต้องเขียนคลาสใหม่ การขยายและปรับแต่งช่วยให้เราบรรลุเป้าหมาย การใช้งานของเราครอบคลุมถึงการรวม Mirakl สองอินสแตนซ์กับหนึ่งอินสแตนซ์ Magento แต่การออกแบบเดียวกันนี้สามารถขยายเพื่อรวมอินสแตนซ์ Mirakl ได้มากขึ้น แม้ว่าเราจะไม่เห็นปัญหาด้านประสิทธิภาพใดๆ เนื่องจากสิ่งนี้ แต่ยังคงต้องสำรวจหากประสิทธิภาพได้รับผลกระทบเมื่อเราเพิ่มจำนวนหน้าร้านที่ไม่ซ้ำกัน ซึ่งแต่ละร้านมีอินสแตนซ์ Mirakl ของตัวเอง
เกี่ยวกับผู้เขียน
Siddhartha Shankar เป็นสถาปนิกด้านเทคนิคที่ McFadyen Digital เขารักทุกสิ่งในตลาดและเทคโนโลยี เป็นนักเดินทางตัวยงและรักในเสียงดนตรี เขาอาศัยอยู่กับภรรยาและลูกสาววัย 6 ขวบในเมืองเบงกาลูรู ซิดเคยเป็นส่วนหนึ่งของโครงการนำอีคอมเมิร์ซ/ตลาดที่มีราคาสูงมาใช้งานในช่วงที่เขาทำงานกับ McFadyen Digital มาอย่างยาวนาน