אינטגרציית Honest Sign (Chestny Znak) עם 1C-Bitrix
לעתים קרובות אנו נתקלים במשימה של שילוב חנויות מקוונות על Bitrix עם מערכת "Chestny Znak" (Honest Sign). סימון מוצרים חובה מכסה קטגוריות רבות: תרופות, טבק, נעליים, ביגוד, מוצרי חלב. הצד הטכני כולל קבלת קודי Data Matrix מספקים, אחסונם והעברתם ל-GIS MT (מערכת המידע הממשלתית למעקב אחר מחזור סחורות) בעת מכירה. שגיאות בכל שלב עלולות לחסום את מחזור המוצרים. נעריך את הפרויקט שלך ביום אחד תמורת 500$ ונציע פתרון אופטימלי. אינטגרציה מלאה מתחילה ב-2,000$, וחוסכת לך עד 40% על קנסות הקשורים לשגיאות.
אילו בעיות פותרת אינטגרציה עם Chestny Znak?
הבעיה הראשונה והעיקרית היא חוסר התאמה בפורמט. קודי סימון מגיעים מספקים בפורמטים שונים: XML, CSV, ולפעמים ידנית. עלינו לאחד טעינה ואימות של קודים דרך ה-markirovka.nalog.ru API. השנייה היא אחסון מיליוני קודים ייחודיים ב-Bitrix. מאפייני infoblock רגילים אינם מיועדים לעומס כזה. השלישית היא הודעה בזמן ל-GIS MT על הוצאת מוצר מהמחזור. עיכוב או שגיאה בשליחה — והמוצר נשאר במחזור, תוך סיכון לקנסות.
אינטגרציה דרך מודול 1C + Bitrix
הדרך הסטנדרטית לרוב החנויות המקוונות: ניהול חשבונות של מוצרים מסומנים נעשה ב-1C, ו-Bitrix משמש כחנות. סנכרון דרך מודול ההחלפה הסטנדרטי bitrix:catalog.import.1c (CommerceML).
בגישה זו, קודי סימון (Data Matrix) נשמרים ב-1C ומועברים ל-Bitrix יחד עם המלאי דרך ייצוא XML. ב-XML של CommerceML, שדות לקודי סימון אינם מתוקננים—הם מועברים כתוספות מוצר נוספות:
<ЗначениеРеквизита> <Наименование>КодМаркировки</Наименование> <Значение>010460406000600021N4N57RSCBUZTJZ</Значение> </ЗначениеРеквизита> ב-Bitrix, אתה מגדיר מאפיין קטלוג <ЗначениеРеквизита> <Наименование>КодМаркировки</Наименование> <Значение>010460406000600021N4N57RSCBUZTJZ</Значение> </ЗначениеРеквизита> וממפה את התוספת בהגדרות ההחלפה.
אינטגרציה ישירה עם Chestny Znak API
לחנויות מקוונות שעובדות ישירות עם GIS MT ללא 1C, נדרשת אינטגרציה ישירה דרך ה-MARKING_CODE API. ה-API משתמש באימות OAuth2 עם UKEP (חתימה אלקטרונית מוסמכת).
שיטות ה-API העיקריות הרלוונטיות למסחר אלקטרוני:
-
markirovka.nalog.ru— אימות קוד סימון -
POST /api/v3/facade/identifyDocument— הודעה על הוצאת מוצר מהמחזור בעת מכירה
ב-Bitrix, אתה מיישם מחלקת שירות לעבודה עם ה-API:
namespace Local\MarkingCode; class ChestnyZnakClient { private string $apiUrl = 'https://markirovka.nalog.ru/api/v3'; private \Bitrix\Main\Web\HttpClient $http; public function verifyCode(string $code): array { $this->http->setHeader('Authorization', 'Bearer ' . $this->getToken()); $response = $this->http->post($this->apiUrl . '/facade/identifyDocument', ['code' => $code]); return json_decode($response, true); } } אתה מקבל את הטוקן דרך UKEP—זה דורש ספריית קריפטוגרפיה (CryptoPro CSP) על השרת.
כיצד לאחסן קודי סימון ב-Bitrix?
לכל מופע מוצר יש קוד סימון ייחודי. אחסון במאפיין אלמנט קטלוג (POST /api/v3/facade/send) אינו מתאים—למוצר אחד יכולים להיות מאות מופעים עם קודים שונים.
צור טבלה נפרדת דרך ORM D7:
class MarkingCodeTable extends \Bitrix\Main\Entity\DataManager { public static function getTableName() { return 'b_local_marking_code'; } public static function getMap() { return [ new \Bitrix\Main\Entity\IntegerField('ID', ['primary' => true, 'autocomplete' => true]), new \Bitrix\Main\Entity\IntegerField('PRODUCT_ID'), new \Bitrix\Main\Entity\StringField('CODE', ['size' => 200]), new \Bitrix\Main\Entity\StringField('STATUS'), // 'active', 'sold', 'returned' new \Bitrix\Main\Entity\DatetimeField('CREATED_AT'), ]; } } בעת מכירת מוצר (אירוע namespace Local\MarkingCode; class ChestnyZnakClient { private string $apiUrl = 'https://markirovka.nalog.ru/api/v3'; private \Bitrix\Main\Web\HttpClient $http; public function verifyCode(string $code): array { $this->http->setHeader('Authorization', 'Bearer ' . $this->getToken()); $response = $this->http->post($this->apiUrl . '/facade/identifyDocument', ['code' => $code]); return json_decode($response, true); } } ), שנה את סטטוס הקוד מ-b_iblock_element_prop_m* ל-class MarkingCodeTable extends \Bitrix\Main\Entity\DataManager { public static function getTableName() { return 'b_local_marking_code'; } public static function getMap() { return [ new \Bitrix\Main\Entity\IntegerField('ID', ['primary' => true, 'autocomplete' => true]), new \Bitrix\Main\Entity\IntegerField('PRODUCT_ID'), new \Bitrix\Main\Entity\StringField('CODE', ['size' => 200]), new \Bitrix\Main\Entity\StringField('STATUS'), // 'active', 'sold', 'returned' new \Bitrix\Main\Entity\DatetimeField('CREATED_AT'), ]; } } ושלוח הודעה ל-GIS MT.
מה לעשות כשמוכרים מוצר?
לאחר תשלום מוצלח של הזמנה, הודע למערכת הסימון על הוצאת המוצר מהמחזור. זו פעולה אסינכרונית—אל תחסום את תהליך ביצוע ההזמנה בהמתנה לתגובת API.
יישם דרך סוכן או תור: בעת OnSaleOrderPaid, כתוב משימה לטבלה מותאמת אישית active, סוכן עם מרווח של דקה אחת מעבד את התור ושולח בקשות ל-GIS MT.
השוואת גישות: דרך 1C לעומת API ישיר
| קריטריון | דרך 1C (CommerceML) | API ישיר |
|---|---|---|
| מהירות עדכון | תלוי בלוח הזמנים של 1C (בדרך כלל פעם בשעה) | בזמן אמת |
| מורכבות הגדרה | בינונית (הגדרת מיפוי) | גבוהה (פיתוח מותאם) |
| תלות ב-1C | מלאה | אין |
| אמינות | בכשל של 1C, נתונים לא מסונכרנים | גבוהה, אך דורשת טיפול בשגיאות |
| תמיכה ב-UKEP | לא נדרש (1C מאחסן קודים) | חובה |
אינטגרציה ישירה דרך API מהירה פי 5–10 מהחלפת 1C, אך דורשת יותר פיתוח. אנו ממליצים עליה אם יש לך >10,000 מוצרים והשהייה מינימלית היא קריטית.
מה כלול בהתקנה?
ההשקעה שלך כוללת תהליך מוכח הנתמך על ידי הצוות המוסמך שלנו עם ניסיון של למעלה מ-7 שנים ב-Bitrix ו-30+ אינטגרציות סימון מוצלחות. אנו מבטיחים השקה חלקה עם זמן השבתה מינימלי.
תוצרים:
- סקר פרויקט מפורט והצעת ארכיטקטורה
- עיצוב טבלת ORM מותאמת אישית לקודי סימון
- יישום מלא של לקוח API (OAuth2, UKEP, פעולות CRUD)
- מטפלי אירועים למחזור חיי הזמנה (תשלום, החזר)
- סוכן תור אסינכרוני לקריאות API
- הגדרת החלפת 1C אם רלוונטי
- בדיקות בסביבת ארגז חול של GIS MT
- תיעוד טכני מלא ומדריך מנהל
- הדרכת מנהלים (עד שעתיים)
- חודש תמיכה לאחר השקה
מפת דרכים לאינטגרציה (ציר זמן טיפוסי)
| שלב | משך | פעילויות |
|---|---|---|
| סקר | יום אחד | בחינת דרישות, עיצוב מבנה קוד, הערכת עלות |
| פיתוח | 3–10 ימים | אינטגרציית API, יצירת טבלה, מטפלי אירועים, סוכן |
| בדיקות | 2–3 ימים | בדיקות בארגז חול, טיפול בשגיאות, כוונון ביצועים |
| השקה | יום אחד | פריסה לייצור, הגדרת ניטור, מסירה |
מדדי אמון: המפתחים המוסמכים שלנו השלימו למעלה מ-30 פרויקטים. אנו מספקים אחריות שביעות רצון ל-30 יום על האינטגרציה. צור קשר לייעוץ עוד היום.
רשימת בדיקה עצמית
- [ ] קודי סימון נטענים לטבלה נפרדת
- [ ] מיפוי תוספות מ-1C מוגדר (אם בשימוש)
- [ ] מחלקת שירות ל-API מיושמת
- [ ] מטפלי אירועי תשלום מוגדרים
- [ ] סוכן לשליחה אסינכרונית עובד
- [ ] בדיקות בסביבת בדיקה בוצעו
קבל ייעוץ (הערכה ליום אחד: 500$) — נעריך את הפרויקט שלך ונציע פתרון אופטימלי. אינטגרציה מלאה מ-2,000$.







