מיגרציה מלאה ל-HYP POS — האם אפשר לעבוד רק עם הממשק שלכם?

שלום יוליה,

דיברנו לאחרונה על ה-POS REST API שלכם. אחרי שקראתי את המפרט של המוצר שלכם POS , השאלה המרכזית שלנו היא פשוטה: האם אפשר להעביר הכל לממשק שלכם ומיכוון שפיתוח הממשק הנוסף כהתחברות לשלכם נראה טיפה מיותר

אנחנו חנות מחשבים (מכירות, תיקונים, משלוחים). כרגע אנחנו מפתחים ממשק משלנו יש לנו טרמינל אחד אצלכם שמחובר לחנות הדיגטלי עכשיו אנחנו רוצים לאחד גם בשביל קופה ממוחשבת בחנות, עכשיו אודה שתעברי על השאלות ותגידי לדעתך האם יש אפשרות לעשות אצלכם התאמה לצרכים שלנו כדי לצמצם את המעבר . נשמח לעבוד רק עם HYP POS — אבל צריכים לדעת שכל הצרכים שלנו מכוסים.

להלן סיכום של מה שאנחנו צריכים, ולכל צורך שאלנו: האם ה-API שלכם תומך בזה? אם לא, נצטרך להמשיך לתחזק ממשק משלנו לאותו חלק.

הצרכים העסקיים שלנו

חנות מחשבים עובדת בכמה מסלולים מקבילים. כל מסלול צריך להיות מכוסה בממשק אחד:

1. מכירות בחנות

לקוח נכנס, בוחר מוצר, משלם (מזומן או אשראי), מקבל חשבונית. כשהמוצר נמסר — מוציאים תעודת משלוח. זרימה סטנדרטית של קופה.

2. תיקונים ומעבדה

לקוח מביא מכשיר לתיקון. פותחים כרטיס תיקון, עוקבים אחרי סטטוס (התקבל, באבחון, בטיפול, ממתין לחלקים, מוכן, נמסר), ובסוף משלמים ומוסרים. זו הפעילות הכי קריטית שלנו.

3. משלוחים / איסופים

לקוח מזמין טלפונית או אונליין, משלם, ואוסף או מקבל משלוח. צריכים מעקב אחרי סטטוס הזמנה + הוצאת תעודת משלוח.

4. לקוחות ומוצרים

מאגר לקוחות עם היסטוריה, וקטלוג מוצרים מסונכרן עם החנות הדיגיטלית שלנו.

1. מכירות — הזמנה, חשבונית, תעודת משלוח

זרימת המכירה שלנו עובדת בשלושה שלבים: יצירת הזמנה → חשבונית על תשלום → תעודת משלוח ואימות קבלה. הלקוח מזמין, משלם, ורק אחר כך אוסף את המוצר. כשהמוצר נמסר — בחנות או על ידי שליח — צריך להוציא תעודת משלוח (Delivery Note). ראינו שה-POS API תומך במזומן (method: 2) ובאשראי (method: 1) — השאלה היא האם הוא גם מבצע את החיוב בכרטיס האשראי, או שצריך את ה-CreditGateway XML בנפרד.

sequenceDiagram
    actor Cust as לקוח
    participant Us as אלוף המחשבים
    participant POS as HYP POS API

    Note over Cust,POS: שלב 1 — יצירת הזמנה
    Cust->>Us: בחירת מוצרים + פרטי לקוח
    Us->>POS: POST /api/v2/sales
items + customer + external_id POS-->>Us: sale_id + invoice_number Note over Cust,POS: שלב 2 — תשלום + חשבונית alt תשלום במזומן Cust->>Us: תשלום מזומן Us->>POS: method: 2 (cash)
invoice_type: 5 (קבלה) POS-->>Us: אישור else תשלום באשראי Cust->>Us: פרטי כרטיס Us->>POS: method: 1 (credit_card)
invoice_type: 7 (חשבונית מס)
??? האם POS מבצע חיוב בפועל? POS-->>Us: אישור / שאלה פתוחה end Note over Cust,POS: שלב 3 — תעודת משלוח + אימות קבלה Us->>POS: invoice_type: 9 (תעודת משלוח) POS-->>Us: מסמך משלוח Cust->>Us: אישור קבלת המוצר Us->>POS: עדכון delivery_status (שאלה פתוחה)
זרימת מכירה — הזמנה, חשבונית על תשלום, תעודת משלוח, אימות קבלה

מה עובד ב-API

יצירת מכירה עם פריטים, לקוח, ותשלום — כולל מזומן (method: 2) ואשראי (method: 1). סוגי חשבונית: קבלה (5), חשבונית מס (7), חשבונית זיכוי (8), תעודת משלוח (9), תעודת משלוח זיכוי (10). זיכויים דרך parent_invoice_number.

שאלות פתוחות — מכירות

  1. תשלום בכרטיס אשראי — ראינו שה-POS API תומך ב-method: 1 (credit_card). האם ה-POS API מבצע את החיוב בפועל? או שצריך להשתמש ב-CreditGateway XML בנפרד לחיוב כרטיס? חשבנו להשתמש ב-CreditGateway לפני שגילינו את ה-POS API — והשאלה היא האם ה-POS API מכסה גם את החיוב, או שצריך שני ממשקים.
  2. הזמנה בשני שלבים — אפשר ליצור מכירה (הזמנה) קודם ולעדכן עם תשלום אחר כך? או שהמכירה חייבת להיות שלמה מההתחלה?
  3. תעודת משלוח (Delivery Note) — ראינו ש-invoice_type: 9 הוא shipment_inv (תעודת משלוח). אפשר ליצור תעודת משלוח עם פרטי המוצרים שנמסרו? האם זה מייצר מסמך חוקי שאפשר לתת ללקוח? האם אפשר לקשר אותה למכירה המקורית?
  4. אימות קבלה (Delivery Validation) — יש דרך לסמן שמכירה נמסרה ללקוח? ראינו delivery_status ב-webhook — אפשר לעדכן אותו דרך ה-API?
  5. מכירות היסטוריות — ראינו רק POST ליצירת מכירה. אפשר לשלוף מכירות לפי תאריך/לקוח? בלי זה אנחנו צריכים לשמור עותק משלנו.
  6. חשבונית אוטומטית — כשיוצרים מכירה עם invoice_type: 7, HYP מייצרת חשבונית מס אוטומטית? או שצריך קריאה נפרדת?
  7. physical_pos_id — זה שדה חובה. זה מספר טרמינל? מזהה חנות? איך מוצאים את הערך?

2. תיקונים / מעבדה / משלוחים — השאלה הכי קריטית

זו השאלה שתקבע אם אנחנו יכולים לעבוד רק עם HYP POS או שאנחנו חייבים ממשק משלנו. תיקוני מחשבים ומעבדה הם חלק מרכזי מהעסק שלנו — לא פחות חשוב ממכירות. חנות מחשבים לא רק מוכרת — היא גם מתקנת וגם שולחת. שלושת הזרימות האלו זהות קונספטואלית:

תיקון מכשיר

התקבל → באבחון → בטיפול → ממתין לחלקים → מוכן → נמסר

⬑ כרטיס תיקון עם סטטוסים, הערות טכנאי, תמונות נזק, אחריות

משלוח לקוח

הוזמן → באריזה → במשלוח → נמסר

⬑ תעודת משלוח + מעקב סטטוס משלוח

אותו פאטרן

יצירת הזמנה → מעקב סטטוסים → תשלום → תעודת משלוח → מסירה ללקוח. Order Fulfillment סטנדרטי.

🔧 כרטיס תיקון — הצורך העסקי

לקוח מביא מחשב/טלפון לתיקון. אנחנו פותחים כרטיס תיקון עם:

כל זה זהה קונספטואלית ל-Order Fulfillment — יצירת הזמנה, מעקב סטטוס, וסגירה עם תעודת משלוח כשהלקוח מקבל את המוצר.

גילינו ב-webhook שלכם: ב-WebhookSale יש שדות מוכנים — is_delivery, delivery_status (integer), future_order_id, orderNumber, ואובייקט shipping שלם עם כתובת משלוח. גם ב-invoice_type יש סוגים 9 (shipment_inv = תעודת משלוח) ו-10 (shipment_credit_inv). זה אומר ש-HYP כבר עובדת עם הקונספט הזה — תעודות משלוח, סטטוסי משלוח, וכתובות — רק לא חשפתם endpoint לנהל אותו דרך ה-API.

הפער: מכירה ב-API היא רשומה קבועה — נוצרת ונגמרת. אין לה סטטוסים משתנים, הערות, תמונות, או מעקב. תיקון ומשלוח הם תהליכים חיים — Order Fulfillment סטנדרטי. בלי endpoint לניהול סטטוסים, נצטרך ממשק משלנו לתיקונים ולמשלוחים — וזה אומר שהנתונים של התיקונים לא יהיו בקופה.

מה צריך תיאור יש ב-API?
יצירת הזמנהפתיחת כרטיס תיקון/משלוח עם פרטי לקוח ומוצרכן — POST /api/v2/sales
חשבונית על תשלוםהפקת חשבונית כשהלקוח משלםכן — invoice_type
תעודת משלוחהפקת מסמך משלוח כשהלקוח אוסף / מקבל משלוחחלקי — invoice_type: 9 (shipment_inv)
מעקב סטטוסיםהתקבל → בטיפול → מוכן → נמסרלא — אין endpoint לעדכון סטטוס
הערות / תגובותהערות פנימיות + הערות ללקוחלא
תמונותתמונות נזק לפני/אחרי תיקוןלא
הקצאת טכנאישיוך תיקון לטכנאי מסויםחלקי — salesperson_employee_id
אחריותסוג אחריות: חנות / יבואן / מורחבתלא
ברקוד ייחודיRT-20260603-XXXX למעקב מהירחלקי — external_id

שאלות — תיקונים / משלוחים / מעבדה

  1. יש endpoint לניהול משלוחים/fulfillment? — ראינו is_delivery, delivery_status, shipping ב-webhook. זה אומר ש-HYP כבר עובדת עם הקונספט. יש API ליצור/לעדכן משלוחים? זו השאלה שתקבע הכל.
  2. תעודת משלוחinvoice_type: 9 הוא shipment_inv. אפשר ליצור תעודת משלוח בנפרד מהחשבונית? אפשר לקשר אותה למכירה המקורית? האם היא מכילה את רשימת הפריטים שנמסרו?
  3. מה ערכי delivery_status? — ראינו שזה integer. מה המיפוי? אפשר לקבל את רשימת הסטטוסים?
  4. אם אין endpoint — אפשר להוסיף? — תיקונים ומשלוחים הם אותו פאטרן (Order Fulfillment). מודול כזה שימושי לכל חנות שעושה משלוחים או תיקונים, לא רק לנו. בלי זה, נצטרך לתחזק ממשק משלנו שלא מדבר עם הקופה — והנתונים של התיקונים לא יהיו ב-HYP.
  5. אפשר להשתמש במכירה כ"כרטיס תיקון"? — ליצור מכירה עם invoice_type מסוים + שדות ב-jsondata? הבעיה: אין סטטוסים משתנים, אין הערות, אין תמונות. פתרון חלקי.
  6. האם jsondata יכול לשמש כפתרון זמני? — אם נשמור סטטוס, אבחנה והערות ב-jsondata, נוכל לקרוא ולעדכן? מה גודל מקסימלי?

3. לקוחות — מיגרציה וסנכרון

יש לנו מאות לקוחות עם שם,וקבצי חשבוניות וקבלות בpdf מנותני השירות הישנים שלנו מיכוון שאין לנו גישה לממשקים שלהם הכל שמור ב sql טלפון, אימייל, ת.ז., וח.פ. נרצה להעביר הכל ל-POS ואחר כך לעבוד רק עם הממשק שלכם. אם זה עובד, לא צריך מאגר לקוחות משלנו בכלל:

שדה אצלנו שדה ב-HYP הערה
שם מלאfirst_name + last_nameפיצול שם לשם פרטי + משפחה
טלפוןphone_numberמיפוי ישיר
אימיילemailמיפוי ישיר
ת.ז. / ח.פ.customer_tzהאם יש שדה נפרד לח.פ.?
customer_numberנשמח לקבל מספר לקוח חזרה

שאלות — לקוחות

  1. כפילויות — מה קורה כשיוצרים לקוח עם ת.ז. או טלפון שכבר קיים? מחזיר את הקיים? שגיאה? חשוב לנו למנוע כפילויות.
  2. לקוח מינימלי — אפשר ליצור לקוח רק עם טלפון ושם? הרבה לקוחות מגיעים רק עם טלפון.
  3. חיפוש לקוח — אפשר לחפש לקוח לפי טלפון בדיוק? ה-search מחפש גם לפי ת.ז. ומספר לקוח. אפשר רק לפי טלפון?
  4. Bulk create — יש מגבלה על כמות לקוחות בבקשה? נרצה להעביר מאות לקוחות בתחילת המיגרציה.

4. מוצרים — העברה וסנכרון מהחנות הדיגיטלית

יש לנו חנות דיגיטלית עם מאות מוצרים. השאלה היא איך מעבירים את כולם ל-POS ושומרים עליהם מסונכרנים. אם זה עובד, לא צריך לנהל קטלוג מוצרים משלנו — הכל בתוך HYP POS:

graph LR
    Sup1["ספקים
Morlevi / MGM / ועוד"] Pipeline["צינור מוצרים
(אוטומטי)"] Konimbo["חנות דיגיטלית
Konimbo"] HYP["HYP POS
מוצרים + מלאי"] Sup1 -->|"מחירונים,
קטלוגים"| Pipeline Pipeline -->|"מחירים + תמונות
קטגוריות"| Konimbo Pipeline -->|"POST /api/items
code, name,
price_alut,
barcodes,
supplier_id"| HYP style Pipeline fill:#1a2e1a,stroke:#3ecf8e,color:#fff style Konimbo fill:#1e3a5f,stroke:#3b82f6,color:#fff style HYP fill:#1e3a5f,stroke:#3b82f6,color:#fff
צינור מוצרים — מספקים לחנות הדיגיטלית ול-POS במקביל
📦 איך מעבירים מוצרים?

יש לנו צינור אוטומטי שמקבל מחירונים מהספקים (Morlevi, MGM ועוד) ודוחף מוצרים לחנות הדיגיטלית. נרצה להרחיב אותו כך שידחוף מוצרים גם ל-HYP POS במקביל:

  1. מיגרציה ראשונית — העברת כל המוצרים הקיימים מהחנות הדיגיטלית ל-HYP POS (חד-פעמי)
  2. סנכרון שוטף — כל מוצר חדש שעולה לחנות הדיגיטלית נכנס גם ל-HYP POS (אוטומטי דרך POST /api/items)
  3. עדכון מחירים — כשמחיר משתנה אצל הספק, עדכון אוטומטי גם בחנות וגם ב-POS (דרך PUT /api/items/{id})

שאלות — מוצרים

  1. שדות חובה — מה באמת חובה לשלוח כדי ליצור מוצר תקין? ה-Swagger מראה הכל כ-optional.
  2. ברקודים — אפשר ליצור מוצר עם מספר ברקודים? מוצרים שלנו מגיעים עם יותר מברקוד אחד (צבעים שונים, דגמים).
  3. עדכון מוצר קיים — אם מוצר כבר קיים ב-POS, PUT /api/items/{id} יעדכן אותו? או שיחזיר שגיאה?
  4. Upsert — יש דרך ליצור מוצר רק אם הוא לא קיים (לפי ברקוד או קוד)? כדי למנוע כפילויות בסנכרון?
  5. קטגוריות — אפשר ליצור קטגוריות חדשות דרך ה-API?
  6. מוצרים קיימים — יש כבר מוצרים ב-POS? נשמח לדעת כדי לא ליצור כפילויות.
  7. מלאי — אפשר לעדכן כמות מלאי דרך ה-API? כדי שהמלאי ב-POS יהיה מסונכרן עם מה שבאמת יש בחנות?

נתונים למיגרציה

אם נחליט לעבוד רק עם HYP POS, אלו הנתונים שצריכים לעבור מערכתינו אליכם:

לקוחות

מאות אנשי קשר עם שם, טלפון, אימייל, ת.ז./ח.פ. מיגרציה חד-פעמית דרך POST /api/customers.

מוצרים

מאות מוצרים עם ברקודים, מחירים, קטגוריות, וספקים. דחיפה דרך POST /api/items כחלק מהצינור הקיים.

ספקים

רשימת ספקים (Morlevi, MGM, ועוד). מיגרציה דרך POST /api/suppliers.

תיקונים פעילים

תיקונים פתוחים עם סטטוס, פרטי מכשיר, ואחריות. תלוי אם יש מודול תיקונים/fulfillment ב-API.

לו"ז ושאלות פתוחות לו"ז: חודש אחד

יש לנו לו"ז צפוף של חודש אחד. כדי שנוכל לעבוד רק עם HYP POS (בלי ממשק משלנו), נשמח לקבל תשובות על השאלות האלה:

שאלות שיקבעו אם אפשר למחוק את הממשק שלנו

  1. תיקונים / משלוחים / מעבדה — יש endpoint לנהל סטטוס הזמנה? ראינו delivery_status ו-shipping ב-webhook — אפשר ליצור ולעדכן דרך ה-API? בלי זה, אנחנו חייבים ממשק משלנו לתיקונים. זו השאלה שתקבע הכל.
  2. תעודת משלוח — אפשר להוציא תעודת משלוח (invoice_type: 9) כשהלקוח אוסף מוצר מהחנות או מקבל משלוח? האם אפשר לקשר אותה למכירה המקורית?
  3. אימות קבלה — אפשר לסמן מכירה כ"נמסרה ללקוח"? או שהמכירה נסגרת ברגע התשלום? עבורנו, הלקוח מזמין, משלם, ורק אחר כך אוסף.
  4. העברת מוצרים — איך מעבירים מאות מוצרים מהחנות הדיגיטלית ל-POS? יש bulk import? או שצריך ליצור מוצר מוצר?
  5. תשלומים באשראי — האם ה-POS API מבצע חיוב כרטיס אשראי בפועל (כמו CreditGateway), או שזו רק רישום? אם צריך CreditGateway בנפרד לחיובים — זה אומר שני ממשקים במקום אחד.
  6. אימות REST API — מה שיטת האימות? Bearer token? מפתח API? צריכים את זה כדי להתחיל.
  7. סביבת Sandbox — יש סביבת בדיקה עם פרטי גישה? בלי זה קשה לפתח בבטחון.
  8. Webhook — איך רושמים כתובת? יש חתימה על ה-payload? בלי חתימה אי אפשר לסמוך על הנתונים.
  9. כתובת APIhttps://pay.hyp.co.il/api/v1 זו הכתובת הנכונה?
  10. Rate limits — כמה בקשות לדקה?
  11. מוצרים ולקוחות קיימים — יש כבר מוצרים ולקוחות ב-POS? נשמח לדעת כדי לא ליצור כפילויות.

השורה התחתונה: נשמח לעבוד רק עם HYP POS — ממשק אחד לכל הפעילות. אם צריך גם POS API וגם CreditGateway XML בנפרד, וגם ממשק משלנו לתיקונים — אז יש לנו שלוש מערכות במקום אחת. תיקונים/מעבדה, תעודות משלוח, ותשלומים באשראי — אלו הנקודות שיקבעו אם זה אפשרי.