PUDO

דוגמא לשימוש במפה:

לחץ על "פתיחת מפה ובחירת נקודת מסירה". לאחר שתבחר נקודה יופיעו הפרטים שנבחרו בכחול.



נקודת המסירה שנבחרה:

כיצד להטמיע:

1. הוספת המפה לדף:

יש להטמיע את המפה בדף בעזרת IFRAME ל-URL הבא. לדוגמא:

https://bar2go.co.il/pudo/<sitecode>/map

sitecode יש לקבל לכל דומיין.

ניתן להעביר את הפרמטרים הבאים (Query String):

שם פרמטר תיאור ערכים ברירת מחדל
city שם העיר שתפתח עם עליית המפה
accessibility האם להציג את תוסף הנגישות 1 - כן, 0 - לא 1
search האם להציג את בר החיפוש 1 - כן, 0 - לא 1
select האם לאפשר בחירת תחנה 1 - כן, 0 - לא 1



2. קבלת הנתונים שנבחרו מהמפה:

כאשר גולש בוחר נקודת מסירה ישלחו פרטי הנקודה שנבחרה בעזרת window.postMessage.

קוד לדוגמא לקבלת הנתונים:

<script>
	var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
    var eventer = window[eventMethod];
    var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
    eventer(messageEvent, function (e) {
        if (e.data.type == "PUDOEvent") {
            if (e.data.name == "close") {
                var stationId = e.data.station.id;
                if (stationId != null) {
                    var str = "שם: " + e.data.station.name + "<br/>";
                    str += "קוד: " + e.data.station.id + "<br/>";
                    str += "כתובת: " + e.data.station.address + "<br/>";
                    str += "עיר: " + e.data.station.city + "<br/>";
                    str += "שעות פתיחה: " + e.data.station.openHours + "<br/>";
                    str += "נגישות: " + (e.data.station.accessiblity ? "כן" : "לא")+ "<br/>";
                    console.log(str);
                }
            }
        }
    }, false);
</script>



3. העברת הנתונים ל-POS ע"י HTTP POST:

יש להעביר JSON ל-URL הבא: https://bar2go.co.il/api/out/package/task/2.

שם פרמטר סוג ערך חובה
userName string שם משתמש כפי שיתקבל מ-POS כן
password string סיסמה כפי שתתקבל מ-POS כן
topCustomerId int קוד לקוח כפי שיתקבל מ-POS כן
consumer object מפורט בהמשך כן
quantity int כמות חבילות כן
notes string הערות לא
deliveryNumber string מספר שליחות תלוי בהגדרה מול POS
productCode string קוד מוצר תלוי בהגדרה מול POS
weight float משקל לא
stationId int קוד תחנת מסירה תלוי בהגדרה מול POS

אובייקט consumer:

שם פרמטר סוג ערך חובה
name string שם נמען כן
street string רחוב לא
homeNumber string מספר בית לא
cityId int קוד עיר לפי הרשימה כאן כן
cellphone string מספר סלולרי לא
cellphone2 string מספר סלולרי נוסף לא
email string אימייל לא


POST /api/out/package/task/2 HTTP/1.1
Host: https://bar2go.co.il
Cache-Control: no-cache

{
    "userName":"pudotest1",
    "password":"pudotest1",
    "topCustomerId":99,
    "consumer":{
        "name":"שם נמען",
        "street":"רחוב נמען",
        "homeNumber":"מספר בית נמען",
        "cityId": 13,
        "cellphone":"0542123456",
        "cellphone2":null
    },
    "quantity":1,
    "notes":"",
    "deliveryNumber":null,
    "productCode":null,
    "weight":null,
    "stationId":985
}


תשובה תוחזר כ-JSON עם מספר הברקוד החדש. את הברקוד יש להדפיס ולהדביק על החבילה.

דוגמא לתשובה על הצלחת הפעולה:
{
    "status":true,
    "message":null,
    "moreData":{
        "barcode":"POSWS3687757"
    }
}


דוגמא לתשובה על כשלון הפעולה:
{
    "status":false,
    "message":"סיבת הכשלון",
    "moreData":{}
}


אם קליטת החבילה מצליחה אבל שליחת סמס נכשלת , תוחזר תשובה חיובית, והערה על אי שליחת הסמס:
{
    "status":true,
    "message":"לא נשלח סמס",
    "moreData":{
        "barcode":"POSWS3687757"
    }
}