שלום לכולם.
יש לי קו בימות המשיח שהגדרתי שם שלוחת API בו הלקוחות שלי יכולים להתעדכן בסטטוס שלהם.
הבעיה היא שאם 2 משתמשים משתמשים עם המערכת בו זמנית, המידע של אחד מהם נדרס ואז שניהם שומעים נתונים אחידים ששייך לאחד מהם (וזה רק בשני משתמשים...)
אסביר בדוגמאות:
להלן הקוד בקובץ ini בימות, שלוחה 0/9:
type=api
api_link=https://script.google.com/macros/s/.../exec
api_000=input,yes,10,1,7,Digits,no,no
api_end_goto=/0/9/1 // כלומר: לאחר שליחת הנתונים לשרת API המשתמש מועבר לשלוחה 0/9/1
להלן הקוד שלי בגוגל סקריפט:
function doGet(e) {
const params = (e && e.parameter) ? e.parameter : {};
const input = params.input || "";
const responseText = getRentalData(input); // הפונקציה הזו עובדת - היא מחזירה את המידע עפ"י קוד ההשכרה שהוקש
// העלאת ה-TTS לשלוחה היעד
try {
UrlFetchApp.fetch("https://call2all.co.il/ym/api/UploadTextFile", {
method: "post",
payload: {
token: "הטוקן שלי",
what: "ivr2:/0/9/1/000.tts", // שליחת התגובה לשלוחה 0/9/1
contents: responseText
},
muteHttpExceptions: true
});
} catch (err) {
MailApp.sendEmail("myEmail@gmail.com", "שגיאה בשליחה", String(err));
}
// תגובה לימות: מעבר לשלוחה
return ContentService
.createTextOutput(responseText)
.setMimeType(ContentService.MimeType.TEXT);
}
נ.ב. חוץ מהבעיה שציינתי הכל עובד תקין, השרת מקבל את הבקשה, שולח נתונים, הנתונים נכנסים לשלוחה הייעודית ואני יכול לשמוע, הבעיה היא לא בקוד עצמו