שלוחת API עם אפשרות לשינוי חלק מפרמטר מסויים (לשינוי חלק מקובץ/שלוחה)
-
קודם כל אסביר את הבעיה ואח"כ אציג את הפתרון.
כידוע, ניתן להשתמש עם API לשלוח בקשה לכל שרת שהוא וכן לימות המשיח בעצמם לעדכון שלוחה מסויימת מתוך שלוחה אחרת, וניתן להגדיר שהבקשה הנשלחת תהיה קבועה או שפרמטרים מסויימים יוקלדו/יוקלטו ע"י המשתמש בכל פעם, כמבואר כל זה בתיעוד מודול API.הבעיה היא שכרגע המצב שאין אפשרות שפרמטר שנשלח יהיה חלקו קבוע וחלקו יוקלד ע"י המשתמש, כגון אם יש לי נתיב כזה
ivr2:7/6/98/45/8
שבתוכו יש שתי קבצים000.tts
ו-001.tts
ואני רוצה שהמשתמש יבחר איזה קובץ לערוך אין אפשרות שהוא יקיש רק 000 או 001, אלא צריך להגדיר פרמטר זה כמוקלד ע"י המשתמש והוא יצטרך כל פעם להקליד את כל הנתיב כולל הסיומת באנגלית.כיוצא בזה באם ברצוני שהמשתמש יעדכן שורה מסויימת בקובץ (שאינו קובץ הגדרות) הוא יצטרך בשביל זה להקליד את כל תוכן הקובץ, וכן בקובץ הגדרות שכן ניתן לערוך בו שורות מסוימות אבל עדיין הוא יצטרך להקליד את כל תוכן השורה גם אם אני רוצה לשנות רק אות אחת, כיון שאין אפשרות להקליד רק חלק כנ"ל.
הפתרון
כדי לפתור את זה יצרתי שרת אמצעי שיידע לקרוא ולשלב פרמטרים ולשלוח אותם בצורה טובה, כתובת השרת:
https://script.google.com/macros/s/AKfycbz9Ft1E-zdy0pykE2yWHmyCrpmzDGtMR06-dI_UO2x1AItuYP8e2AMP4qr7Hq_Q9oKFwQ/exec
(וכן, הוא גם 'יודע' להתגבר על הבעיה של פניות משרתי גוגל).
הוראות הפעלה
יש לכתוב את כל ההגדרות של השלוחה כמו במודול הנ"ל, למעט השינויים דלהלן:
-
הכתובת תהיה הכתובת הנ"ל ולא הכתובת של ימות המשיח או כתובת אחרת.
-
הכתובת הרצויה לשליחת הבקשה תופיע בפרמטר url, באם לא יהיה כזה פרמטר כתובת ברירת המחדל היא של ימות המשיח (https://call2all.co.il/ym/api/). בשליחה לימות המשיח אין צורך לכתוב את הפרמטר.
-
הפקודה הרצויה (כגון
getQueues
,CreateTemplate
וכדומה) תופיע בפרמטרcommand
. -
הפרמטר שיש לאפשר בו שינוי מסויים יש לכתוב אותו כפרמטר קבוע כאשר במקום התוים הנתונים לשינוי יש לכתוב סוגריים מסולסלות ובתוכם שם פרמטר ככל העולה על דעתכם, כגון
what=ivr2:7/6/98/45/8/{path1}.tts
ואז להגדיר פרמטר שהמשתמש מזין בשם הנ"ל, כגון
path1
, ובו הוא יזין 001 או 002 וכדומה.דוגמאות:
type=api api_link=https://script.google.com/macros/s/AKfycbz9Ft1E-zdy0pykE2yWHmyCrpmzDGtMR06-dI_UO2x1AItuYP8e2AMP4qr7Hq_Q9oKFwQ/exec api_add_0=command=UploadTextFile api_add_1=token=079-------:------ api_add_2=what=ivr2:7/6/98/45/8/{path1}.tts api_000=path1,,,,,Digits api_001=contents,,,,,HebrewKeyboard
בדוגמא זו המשתמש יזין רק את מס' הקובץ (במספרים) ואז את כל התוכן לקובץ עצמו (במילים בעברית).
אם רוצים לשנות רק חלק מתוכן הקובץ, כגון שבקובץ מופיע 'עד כה עודכנו 28 הזמנות' ורוצים לשנות את המספר בלבד, מגדירים כך:
api_add_3=contents=עד כה עודכנו {number1} הזמנות api_001=number1,,,,,Digits
וכן הלאה על זה הדרך.
בהצלחה!
-
-
-