דלג לתוכן הראשי

הגדרה ראשונית - בקשת הAPI

פרמטרים נדרשים

  • station id (מזהה תחנה)
  • plugin (שם הממשק)
  • company (מזהה חברה)
  • netPassportID (מזהה ספק)
  • Token (טוקן)

*להשגת הפרטים (הגדרת צד לקוח)

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

חתימת הנתונים

  1. עבור הטוקן שנוצר, יש להמיר את הנתונים (pluginData) למחרוזת (string), לשרשר את הטוקן למחרוזת ולשלוח את המחרוזת שנוצרה (pluginData+token) לחתימה במופע של הספרייה md5. יש לוודא שאין רווחים במחרוזת שיוצרים אחרת תתקבל שגיאה על החתימה (netPassportError) והקריאה לא תעבור

עבור כל שפת תכנות יש להשתמש בספרייה באופן המתאים. 2. עבור השדה netPassportID יש לשים את שם הספק שהוגדר בהגדרות Hconnect בחשבשבת

דוגמת קוד ב- JavaScript

const md5 = require('md5')

let moduleData = [{ "ItemKey": "A2000" }]

let signature = md5(`${JSON.stringify(moduleData)}0F60xxxxxxxxxxxxxxxxxxxxxxxBBE5`);

let body = {
"station": "5b10c834-xxxxxxxxx-047327ffc77c",
"plugin": "itemin",
"company": "demo",
"message": {
"netPassportID": "25***5",
"pluginData": moduleData
},
"signature": signature

}
console.log(JSON.stringify(body))

let config = {
url: 'https://ws.wizground.com/api',
method: 'post',
headers: {
'Content-Type': 'application/json'
},
data: body
}


axios(config)
.then(function (response) {
res.send(JSON.stringify(response.data))
})
.catch(function (error) {
res.send(JSON.stringify(error.response.data))
})

דוגמת JSON

{
"station": "2******f-3****d-4****8-8****f-1********d",
"plugin": "itemin",
"company": "demo",
"message": {
"netPassportID": "25**4",
"pluginData": [ {"ItemKey": "A2000" }]
},
"signature": "8f****************27"
}

דוגמא עם פוסטמן ושימוש בMD5 אונליין

md5 postman

md5 postman