מודול API - תקשור עם מחשבים וממשקי נתונים חיצוניים

ימות המשיח
הנהלה ראשית
הודעות: 1529
הצטרף: 17:03 14/03/2016

מודול API - תקשור עם מחשבים וממשקי נתונים חיצוניים

שליחהעל ידי ימות המשיח » 10:25 18/02/2018

ב"ה


מודול API - תקשור עם מחשבים וממשקי נתונים חיצוניים

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

קוד: בחירת הכל

type=api
api_link=https://www.abc.co.il/API.aspx
הגדירו את כתובת הלינק של השרת שלכם
ערך זה הינו חובה
אחרת המערכת תודיע
M1609 לא מוגדר לינק
ותחזור שלב אחורה

שיטת שליחה
ברירת מחדל המערכת שולחת את הפרטים בצורת HTTP GET
אם רוצים ניתן להגדיר לשלוח את הפרטים בצורת HTTP POST

קוד: בחירת הכל

api_url_post=yes



תיקיה שממנה יושמעו הקבצים
ברירת מחדל התיקיה שממנה יושמעו כל הקבצים, קבצי wav או קבצי tts, הינם מתוך התיקיה הנוכחית
ניתן להגדיר הפעלת קבצים מתוך תיקיה אחרת במערכת שלכם

קוד: בחירת הכל

api_dir=/5/6
בדוגמא הקבצים שיופעלו הם מתוך תיקיה /5/6
הערה חשובה: שימו לב שכתובת תיקיה חייבת להתחיל בסלש "/" ולהסתיים ללא סלש.


ערכים להוספה
ברירת מחדל המערכת מצרפת ערכים
ApiPhone=מספר הטלפון של הלקוח
ApiDID=מספר המערכת שלכם
ApiExtension=מספר השלוחה
ApiEnterID=סוג ומספר זיהוי אישי. אם התחבר באחד מהצורות של כניסה עם זיהוי אישי (אם לא נכנס הערך בכלל לא יצורף).התחברות עם ערכים enter_id=yes וכו'
ApiEnterIDName= שם משוייך לזיהוי האישי. כפי שמוסבר בערך של login_add_val_name=yes (אם אין שם הערך בכלל לא יצורף)

לאחר שהלקוח ניתק המערכת תשלח לכם את כל הערכים שנאספו עד עכשיו בשלוחה בתוספת hangup=yes בשביל שתוכלו בשרת שלכם לדעת שהלקוח ניתק ואלו הנתונים עד עכשיו.




אם רוצים לבטל את הערכים אלו ניתן להגדיר

קוד: בחירת הכל

api_phone_send=no
api_did_send=no
api_extension_send=no
api_enter_id_send=no
api_enter_id_name_send=no
api_hangup_send=no

ניתן להוסיף גם ערכים קבועים משלכם

קוד: בחירת הכל

api_add_0=Mosad=1111
api_add_1=ClientName=mml
api_add_2=Adresse=jj
api_add_3=xxx=yyy
וכן הלאה
חייב לשמור על רצף סידורי החל מהסיפרה 0 - כמה ערכים שאתם צריכים להוסיף
בדוגמא הנ"ל מה שיצטרף למחרוזת יהיה

קוד: בחירת הכל

Mosad=1111&ClientName=mml&Adresse=jj&xxx=yyy
קבלת נתונים מהלקוחות
המערכת תחפש בהתחלה את קובץ 000 בתוך התיקיה ולאחר מכן את קובץ 001 ואח"כ 002 לפי הרצף
בפורמט wav של הקלטה שלכם
או פורמט tts עם המלל והמערכת תפעיל על מנוע הדיבור


ההגדרות הקבועות לקבצי tts
ברירת מחדל המערכת משמיע בקול "גלעד"
למערכות של נשים וכד' ניתן לשנות לקול של אשה "סיוון" או "סיוון 3"

קוד: בחירת הכל

tts_voice=Gilad
tts_voice=Sivan
tts_voice=Sivan3
אם רוצים לשנות מהירות
ברירת מחדל היא 0
ניתן להגדיר

קוד: בחירת הכל

tts_rate=10
המהירות הגבוהה ביותר

קוד: בחירת הכל

tts_rate=-10
המהירות הנמוכה ביותר

ניתן לבחור כל מספר מעשר ועד מינוס עשר



במקביל תהיה חייבים לשים בקובץ הגדרות של השלוחה את ההגדרות של הקבלת נתונים

דוגמא

קוד: בחירת הכל

api_000=ID,yes,8,4,7,Number,yes,no,*/,
api_001=ZIP,yes,8,4,7,Number,yes,yes,*/
api_002=AAA,yes,1,1,7,Number,yes,yes,*/,*#123456
api_003=BBB,yes,2,2,7,Number,yes,yes,*/,11.12.13.14,3,Ok,VarNoDigits
api_004=CCC,yes,voice
api_005=DDD,yes,voice,en-US,no
api_006=EEE,yes,voice,en-US,,30
הסבר לערכים

הערך הראשון
השם שיצורף למחרוזת עם התוצאה שהלקוח הקיש
בדוגמא
הערך לשמירה של הקובץ הראשון קובץ 000 הוא ID
והערך לשמירה בקובץ השני קובץ 001 הוא ZIP

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

הערך השלישי
בערך השלישי ניתן להגדיר או קבלת הטקסט מ"זיהוי הדיבור" של המאזין, או הגדרה של כמה ספרות לקבל מהמשתמש

כמה ספרות לקבל מהמשתמש
בדוגמאות 000 וכן 001 מופיע 8
הסבר הערך: מקסימום כמות ספרות לקבל מהלקוח ברירת מחדל ללא הגבלה כלומר כל כמות ספרות עד שהלקוח מקיש סולמית, או עד שנגמר הזמן לסיום הקשה (ראה ערך חמישי) ניתן להגביל את הכמות המקסימלית של הספרות, למשל אם אתם מקבלים תעודת זהות אז תגבילו ל9 ספרות , בדוגמא הגבלנו ל 8 ספרות

קבלת הטקסט מזיהוי הדיבור של המשתמש שימו לב, אופציה זו מחייבת יחידות על כל זיהוי דיבור שנערך. לפרטים לחצו כאן
בדוגמא של 004 מופיע voice
הסבר הערך: המשתמש יתבקש להקליט, המערכת תזהה את הדיבור (ברירת מחדל בעברית, לשפות אחרות הסתכלו בערך החמישי) ותמיר אותו לטקסט, הקטסט יצורף לסטרינג שנשלח אליכם. לאחר שהמערכת מפענחת את הטקסט שהוקרא על ידי המאזין המערכת מקריאה לו את הטקסט שזוהה לצורך "שיקוף" ווידוא שאכן זוהה הטקסט אליו התכוון המאזין.
ניתן "לעזור" למערכת לנסות להבין את אמירות הלקוח
צרו קובץ כמו שם ההודעה להשמעה (הקובץ להשמעה הוא בפורמט wav או tts) קובץ העזרה צריך להיות בסיומת ini כאשר בין כל ערך עזרה צריך להיות בשורה חדשה
לתשומת ליבכם: לפני השליחה הקבצים של המערכת הם 000.wav או 000.tts ואח"כ 001.wav או 001.tts וכו' ולכן הקבצים הנלווים לעזרה גם יהיו בשמות 000.ini ואח"כ 001.ini

לאחר השליחה במידה ועניתם read אז הקובץ שהמערכת מחפש זה כשם הערך כלומר אם עניתם שישמור את התשובה של הלקוח בערך בשם AAA אז הקובץ לעזרה באותה השלוחה צריך להיות בשם AAA.ini



אם מעונינים שלא יושמע ללקוח את ההקראה של הטקסט שהתקבל לצורך שיקוף יש להגדיר
api_say_tts=no

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

קוד: בחירת הכל

api_voice_ask_ok=yes
ערכים נוספים
tts_voice,tts_rate,lang
קיימים כמו בכל מנועי הדיבור

הקלטות קשורות:
M1611 דיבור לא ברור. אנא אמרו שוב
M1613 לא זוהה דיבור
M1353 לאישור הקישו 1 להקלטה מחודשת 2

במידה ויש טקסט שהתקבל בעברית, ולצורך שליחה רציפה של המילים כחלק משורת הכתובת
אנו ממירים את הטקסט ל URIENCODE, בדרך כלל המערכות web שלכם כבר ימירו את זה אוטומטית לעברית תקנית



הערך הרביעי
בערך הרביעי - הערך מתיחס בהתאם להגדרות הקודמות,
במידה ומדובר על הכנסות ספרות על ידי המשתמש כמו בדוגמא 000 מופיע 4
אז המשמעות של הערך הרביעי היא כמות ספרות מינימלית, ברירת מחדל לפחות ספרה אחת, ניתן להגביל שהלקוח יהיה חייב להקיש מינימום ספרות, למשל בתעודת זהות ההגבלה היא בדרך כלל מינימום 8 ספרות

הערך הרביעי - voice
המידה ובערך השלישי הגדרתם voice כמו בדוגמאות 004 ו 005 אז ניתן לשנות את השפה שבה המנוע דיבור יחזיר את הנתונים
ברירת מחדל במידה וערך זה ריק, אז המנוע ינסה להחזיר תוצאות בעברית.
ניתן להגדיר שפות נוספות
לדוגמא אנגלית en-US, לרשימה המלאה של השפות האפשריות לחצו כאן (בבניה), בנתיים פנו לשרות לקוחות יש יותר מ100 שפות נתמכות.

שימו לב שהמערכת ממירה את השפה ברירת מחדל בעברית, באם מוגדר במערכת או בשלוחה ערך lang, המערכת מתחשבת בו, ובאם הגדרתם בערך הרביעי את השפה, זה יגבור מעל כולם.


הערך החמישי
בדוגמא מופיע 7
כמות שניות לסיום המתנה במידה והלקוח לא הגיע למקסימום ספרות שיכול להקיש, בשביל שהמערכת תתקדם לבדוק מה הקיש
ברירת מחדל זה 7 שניות

הערך החמישי - voice
במידה והגדרתם בערך השלישי voice אז הערך החמישי הוא האם לחסום הקשות במהלך דיבור, ברירת מחדל ניתן גם להקיש ספרות והמערכת תשלח לכם את ההקשות הכותרת Digits לדוגמא הלקוח הקיש 1234 אז תקבלו לAPI בחזרה Digits-1234
בשביל לחסום את ההקשות - ובמידה והלקוח הקיש יודיע שלא זוהה דיבור וינסה שוב להקליט ולזהות דיבור הכניסו בערך החמישי no - כמו בדוגמא 005


הערך השישי
באיזה צורה להשמיע ללקוח את מה שהקיש
האפשרויות הם
Number,Digits,File,Alpha,No

Number- השמעת ההקשה בצורת מספר כלומר במידה והלקוח הקיש 100 המערכת תאמר "מאה"
Digits - השמעת ההקשה בצורת ספרות כלומר במידה והלקוח הקיש 100 המערכת תאמר "אחת אפס אפס"
File - ניתן לפתוח תחת התיקיה הנוכחית תיקיה בשם File ולהכניס לתוכה קבצים של wav כשם ההקשה - למשל אם הלקוח הקיש 100 אז המערכת תפעיל את קובץ 100.wav
במידה ולא קיים קובץ כזה המערכת המערכת תשמיע את ההקשה בצורת ספרות
Alpha- בצורת אותיות, במקרה של הקשה טלפונית של ספרות זה ישמע כמו הקשת ספרות, במידה ויש אותיות כמו abc אז ישמעו את האותיות אחת אחרי השניה
No - לא להשמיע את מה שהלקוח הקיש אלא ישר ימשיך כאלו הלקוח שמע ואישר.


ניתן להגדיר שלפני שישמיע את ההקשה של הלקוח בכל צורה מהצורת לעיל שישמיע קובץ
למשל אם ביקש תעודת זהות אז ניתן להכניס קובץ בשם של הקובץ הראשי להשמעה עם תוספת
לדוגמא לקובץ 000
ניתן להוסיף קובץ

קוד: בחירת הכל

000-AskBeforeOk.wav
ולהקליט שם "תעודת הזהות שהקשתם היא"
ואז המערכת תמשיך להשמעת ההקשה בהתאם לבחירתכם


הערך השישי - voice
במידה והגדרתם בערך השלישי voice אז הערך השישי הוא הכמות הקמסימלית של הספרות שהלקוח יכול להקיש, ברירת מחדל 0 כלומר ללא הגבלה, ניתן לראות בדוגמא 006 הגבלה ל 30 ספרות.





הערך השביעי
;האם לחסום את מקש הכוכבית - לדוגמא במקרה שצריך להקיש כמות ספרים אז אין צורך במקש הכוכבית וניתן לחסום
ברירת מחדל ניתן להקיש כוכבית, באם רוצים שבהקשה זו לא יוכלו להקיש כוכבית יש להגדיר yes

הערך השמיני
האם הכמות של ההקשה יכולה להיות אפס
ברירת מחדל כמות יכולה להיות אפס אולם באם רוצים לחסום לדוגמא בכמות שקלים לתרומה שלא ניתן לתרום אפס אז ניתן לסמן yes בשביל לחסום את מקש אפס

הערך התשיעי
החלפת מקש בכל סימן אחר
לדוגמא במידה ואתם רוצים שישלח כתובת ספריה
כאשר המפריד בין התיקיות זה "/" "סלש"
בטלפון לא ניתן להקיש סלש
אבל ניתן לבקש מהלקוח להקיש כוכבית בין ספריה לספריה
ולסמן להחליף את הסולמית בסלש

ערך זה יכול להכיל 2 סימנים
הסימן הראשון את איזה ערך להחליף
הסימן השני זה מה לשים במקום מה שהוחלף

בדוגמא מופיע
*/
כלומר להקיש מקש כוכבית בסלש


הערך העשירי
בדוגמאות בקבצים 000,001 הערכים ריקים
בקובץ 002 מופיע בדוגמא *#123456
ובקובץ 003 מופיע 11.12.13.14

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

אם מדובר על הקשה של מינימום ומקסימום ספרה אחת (ערכים שלוש וארבע)
שימו לב שבדוגמא של קובץ 002 שמנו מינימום ומקסימום ספרה אחת
אז ניתן לרשום את כל הספרות המורשות ברצף, בדוגמא מופיע שניתן להקיש *#123456 כלומר את כל הספרות למעט 789 שאם יקיש אותם אז המערכת תודיע שהבחירה לא חוקית

אם מדובר על הקשה שמעל ספרה אחת, ואני רוצה להגביל את הלקוח אז ניתן להפריד בין הערכים המותרים עם נקודה.
שימו לב שבדוגמא של קובץ 003 המינימום והמקסימום הם 2 ספרות,
ואני רוצה שהלקוח יוכל לבחור רק 11 או 12 או 13 או 14, וכל דבר אחר יגיד לו בחירה לא חוקית אז אני כותב 11.12.13.14


הערך האחד עשרה
Attempts - במידה והלקוח עדיין לא הקיש כלום, כמות הפעמים לחזרה על התפריט לפני שמודיע "לא הוקשה בחירה" או שמתקדם עם ערך שהלקוח לא הקיש כלום, ברירת מחדל - ריק.
בדוגמא בקובץ 003 מופיע לחזור 3 פעמים

הערך השתים עשרה
ReadNone=Ok האם בפקודת הread במידה והערך הוא ריק והלקוח לא הקיש כלום, האם זה בסדר, ולהתקדם ולשדר למערכת שלכם שהלקוח לא לחץ כלום, ברירת מחדל זה לא, כלומר במידה ולקוח הקיש סולמית, או חיכה ולא לחץ כלום המערכת תודיע "לא הוקשה בחירה" ותחזור שוב על התפריט, במידה ויש לכם הודעה מסוג "אם אין ברצונכם להזמין ממוצר זה הקישו סולמית או המתינו" אז הערך הזה מיועד בשבילכם, הכניסו בערך זה Ok , והמערכת תתקדם הלאה, שימו לב במצב כזה שהלקוח אכן לא הקיש כלום, המערכת ישר מתקדמת ולא משמיע ללקוח את מה שלחץ (או לא לחץ..) וגם לא מבקשת אישור, אלא ישר מתקדמת לשלוח לכם API עם הערך.

הערך השלוש עשרה
במידה ובערך שתים עשרה הגדרתם Ok , ברירת מחדל תקבלו בAPI שלכם שמקשי הלקוח היה None
במידה וברצונכם לשנות לערך אחר שישודר אליכם בתור בחירת הלקוח הכניסו אותו בערך זה
בדוגמא של קובץ 003 הערך שישודר במקום None יהיה ערך VarNoDigits


הקלטות הקשורות
;M1001 המקש שֶהוֹקַש שגוי
;M1002 לא הוקשה בחירה
;M1034 לאישור הקישו 1, להקשה מחודשת 2.
;M1035 לא הקּשתּם את מינימום הספרות הנדרשות
;M1368 לא ניתן להקיש מקש כוכבית
;M1625 הכמות לא יכולה להיות אפס


בסטרינג שישלח יצורף שם הערך והתוצאה

למשל בדוגמאות הנ"ל
אם בקובץ 000 הלקוח הקיש 123456789
ובקובץ 001 הקיש 555555
אז בסטרינג ישלח

קוד: בחירת הכל

ID=123456789&ZIP=555555


דוגמא לסטרינג שישלח לפי הדוגמאות לעיל
במידה ולא חסמו את האפשרות של משלוח הטלפון מערכת והשלוחה

קוד: בחירת הכל

https://www.abc.co.il/API.aspx?ApiPhone=0501111111&ApiDID=0771234567&ApiExtension=5/6&Mosad=1111&ClientName=mml&Adresse=jj&xxx=yyy&ID=123456789&ZIP=555555

המערכת מקבלת את התשובה ומייחסת אליה ב3 שלבים

שלב 1:
אם יש קובץ wav או tts ששמו כשם התשובה המלאה - המערכת תשמיע את הקובץ
לדוגמא התקבלה תשובה ok ויש קובץ בתיקיה בשם ok.wav המערכת תשמיע אותה

בנוסף ניתן להגדיר שמנוע הדיבור יקריא את התשובה כמו שהתקבלה

קוד: בחירת הכל

say_api_answer=yes
במידה ומוגדר המערכת תפעיל את מנוע הדיבור ותשמיע את התשובה, שימו לב שאם תחילת התושבה באנגלית, המערכת תתיחס לכלל התשובה באנגלית ולכן גם ספרות תשמעו באנגלית.



שלב 2:
לאחר ההשמעה או אם לא קיים, המערכת בודקת האם יש התיחסות במערכת

לדוגמא לתשובה של ok המערכת תחפש בערכים של הגדרות התיקיה

קוד: בחירת הכל

api_answer_ok=
ואם הערך קיים, המערכת תחפש גם ערכים נוספים אם קיימים

קוד: בחירת הכל

api_answer_ok_1=
api_answer_ok_2=
api_answer_ok_3=

ובמידה והתשובה היא
id-error
אז המערכת תחפש הגדרה של

קוד: בחירת הכל

api_answer_id-error=
ואם הערך קיים, המערכת תחפש גם ערכים נוספים אם קיימים

קוד: בחירת הכל

api_answer_id-error_1=
api_answer_id-error_2=
api_answer_id-error_3=


ההגדרות במערכת יכולות:
מעבר לתיקיה אחרת go_to_folder
השמעת נתונים id_list_message
קבלת נתונים נוספת מהמשתמש ושליחתה לשרת - read
מעבר לסליקת אשראי - credit_card
מעבר למערכת אחרת בימות המשיח routing_yemot
חיוג דרך מודול routing



go_to_folder
לדוגמא מעבר לשלוחה
/5/9
כאשר התשובה היא ok
נגדיר

קוד: בחירת הכל

api_answer_ok=go_to_folder=/5/9

id_list_message
ובשביל להשמיע נתונים כאשר התשובה היא ok נגדיר

קוד: בחירת הכל

api_answer_ok=id_list_message=f-57750730.f-/5/6/57881001.a-www012@.d-5567.n-5123.t-שלום אני מדבר בעברית.t-Hello I speak English.s-say123.s-/1/2/fileTts

אם רוצים לתת 2 פקודות במקביל
לדוגמא
להשמיע את הקבצים, ולאחר מכן ללכת לתיקיה אחרת
אז נגדיר

קוד: בחירת הכל

api_answer_ok=id_list_message=ff-57750730.f-/5/6/57881001.a-www012@.d-5567.n-5123.t-שלום אני מדבר בעברית.t-Hello I speak English.s-say123.s-/1/2/fileTts
api_answer_ok_1=go_to_folder=/5/9
read
ואם רוצים שהמערכת תשאל את הלקוח עוד שאלה
ואחרי קבלת תשובת הלקוח
תבדוק האם יש לפי ההגדרה בשלוחה read_answer ותפעל לפי ההגדרה
ובאם אין אז תשלח את תשובת הלקוח לשרת שלכם
נגדיר

קוד: בחירת הכל

api_answer_ok=read=f-StringAll.a-www012@.d-5567.n-5123.t-אחד שתיים שלוש.t-Hello I speak English.s-StringAllbbb=DFGH,yes,8,4,7,Number,yes,no,*/

הסבר
הסימן = הוא מפריד בין הערכים
הערך הראשון אומר להפעיל את האפשרות של read כלומר קבלת נתונים מהלקוח

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

קוד: בחירת הכל

f-StringAll.a-www012@.d-5567.n-5123.t-אחד שתיים שלוש.t-Hello I speak English.s-StringAllbbb
הסבר על הצורות הניתנות להפעלה של "f" "a" "d" "n" "t" "s" ראה יותר למטה

הערך השלישי
מחולק ל10 ערכים פנימים שמופרדים בפסיק ","
כאשר הערך הראשון הוא השם של הערך שאתם תרצו לקבל בתשובה,
הסבר על כלל הערכים ראה לעיל - על ה10 ערכים בקבלת נתונים הראשונית בתיקיה, וכאן זה זהה
בדוגמא כתוב

קוד: בחירת הכל

DFGH,yes,8,4,7,Number,yes,no,*/
כלומר הערך לקבלה - הערך הראשון הוא DFGH, והערך העשירי - איזה ספרות ניתן להקיש ריק כלומר ניתן להקיש את כל המקשים


לאחר שהלקוח ענה על פקודה זו
המערכת בודקת האם יש תשובה מוגדרת להתיחסות read_answer
ואם לא אז היא שולחת לAPI את הסטרינג מכל הערכים שהיו מקודם + את הערך ותשובת הלקוח שהתקבל עכשיו

הסבר על read_answer
לאחר שקיבלנו מהלקוח את מה שהקיש, על הערך
במקום שנשלח אליכם את כל הסטרינג והמערכת שלכם תענה לאיפה צריך ללכת
ניתן להגדיר בתוך השלוחה בקובץ ext.ini מה לעשות
דוגמא: הערך שהשרת ענה שצריך לקבל בread הוא לדוגמא DFGH (כך מופיע בדוגמא לעיל) והלקוח ענה לי 1234
אז אפשר להגדיר המערכת למקרה שהלקוח ענה 1234 יעשה 3 פקודות לדוגמא
ישמיע מילים, שוב ישמיע עוד מילים, ואחרי זה יעבור לתיקיה אחרת
ואחרי זה יעבור לתיקיה
דוגמא למה שתכניסו בקובץ ext.ini

קוד: בחירת הכל

read_answer_DFGH_1234=id_list_message=t-ענית אחד שתים שלוש ארבע
read_answer_DFGH_1234_1id_list_message=t-הנך מועבר לשלוחה אחד
read_answer_DFGH_1234_2=go_to_folder=/1
ניתן גם כמובן להשתמש בפקודות האחרות של לקבל עוד נתון של read
או לעבור לסליקה של קרדיט


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

תוכלו לענות גם פעם שניה וכו' תשובה של read והמערכת שוב תקבל את הנתון ותשלח אותו אליכם, כמה פעמים שצריך.




credit_card
דוגמא לתשובה בשביל להגדיר מעבר לתשלום

קוד: בחירת הכל

api_answer_ok=credit_card=pelecard,100,999,3,1,DebitPaymntsType
הסבר על הערכים:
כל הערכים שמופיעים במודול של סליקה כללית - type=credit_card
עובדים כאן
ולכן לפני הכל חובה להגדיר בתיקיה את הערכים של סוג הסליקה ואת השם משתמש והסיסמה ובמקומות שבהם נדרש גם מספר חנות / פרויקט

בדרך כלל ערכי החובה הם

קוד: בחירת הכל

credit_card_type=nedarim_plus\kesherhk\cardcom\pelecard
credit_card_user_name=שם המשתמש שקבילתם מחברת הסליקה
credit_card_password=סיסמה שקיבלתם מחברת הסליקה
credit_card_terminal_number=מספר הטרמינל שקיבלתם מחברת הסליקה
credit_card_register_number=מספר החנות / מספר פרויקט - יש חברות שבהם הערך חובה
לא כל הערכים חובה בכל החברות מומלץ להסתכל בהגדרות של מודול הסליקה
ובמידת הצורך לשנות או להוסיף מהופיע לעיל

חלק מהערכים עשינו שתוכלו לשלוח דרך הAPI בתשובה
כאשר במידה והערכים מוחזרים על ידי הAPI הם גוברים גם על ההגדרות בתיקיה
אבל לא חובה לשלוח את התשובות, ובמידה והם כבר מוגדרים בתיקיה או שיש הגדרת ברירת מחדל אז המערכת תוכל להתקדם גם ללא ערכים אלו

הסבר על הערכים:
ערך ראשון
בדוגמא מופיע
pelecard
שם חברת הסליקה שדרכה אתם עובדים
אם לא הגדרתם את הערך בתיקיה, ערך זה הינו ערך חובה

ערך שני
בדוגמא מופיע 100
כאן בעצם זה הערך של billing_sum
הסכום לחיוב הינו 100 ש"ח

ערך שלישי
בדוגמא מופיע 999
מספר חנות / מספר פרויקט
כאן זה ערך credit_card_register_number
יש חברות שערך זה הינו ערך חובה

ערך רביעי
בדגומא מופיע 3
כמות התשלומים המקסימלית
כאן זה ערך credit_card_max_tashloumim
אם לא תכתבו כלום ואין הגדרה אחרת בתיקיה אז המקסימום זה 36

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


ערך שישי
ערך זה מיועד רק לסולקים דרך חברת פלאקארד,
במידה ומוגדר יותר מתשלום אחד חובה להגדיר באיזה סוג רוצים לקבל תשלומים או קרדיט
האפשרויות הם:
DebitRegularType - תשלום אחד
DebitCreditType - תשלום בקרדיט
DebitPaymntsType - תשלום בתשלומים רגילים

ערך שביעי
שם המשתמש credit_card_user_name
אם לא הגדרתם את הערך בתיקיה, ערך זה הינו ערך חובה

ערך שמיני
מספר מסוף credit_card_terminal_number
אם לא הגדרתם את הערך בתיקיה, וחברת הסליקה שלכם דורשת ערך זה, אז ערך זה הינו ערך חובה

ערך תשיעי
סיסמה credit_card_password
אם לא הגדרתם את הערך בתיקיה, וחברת הסליקה שלכם דורשת ערך זה, אז ערך זה הינו ערך חובה

לאחר הסליקה בהצלחה
ישלח אליכם שוב הAPI עם כל הפרטים שהיו לפני כן
עם התוספת של המחרוזות הבאה

קוד: בחירת הכל

&CreditCard_CODE=קוד התשובה &CreditCard_All=הערכים החשובים מהתשובה המלאה
הערכים החשובים מהתשובה המלאה
כאשר הסליקה היא דרך פלאקארד, מכיוון שלא ניתן להעביר אליכם את התשובה המלאה - מכיוון שמכילה תווים מיוחדים
לכן ריכזנו את הדברים החשובים
כאשר הערכים יגיעו עם הפרדה של נקודה
לדוגמא

קוד: בחירת הכל

0004580123412341234.1.1217.00000500.1.01.1.0000000.00000000.00000000.00
מספר כרטיס
מספר חברה סולקת 1 - ישראכרט 2 - ויזה 3 - דיינרס 4 - אמקס 6 - לאומי קארד
תוקף
סכום באגורות
קוד חברת אשראי
סוג עיסקה
סוג מטבע
מספר אישור
סכום תשלום ראשון
סכום קבוע
מס' תשלומים קבועים (שימו לב שמדובר על יתרת התשלומים אחרי התשלום הראשון, ולכן אם מדובר על תשלום אחד תקבלו תשובה של 00, ואם הגדרתם 5 תשלומים אז תקבלו תשובה של 04)


כמובן השרת שלכם יוכל לענות בכל אחד מהצורות המופיעות
ותוכלו להודיע ללקוח שהסלקיה התקבלה בהצלחה עם מספר האישור ועוד כפי המופיע בתשובה המלאה שקיבלתם





routing_yemot
לדוגמא מעבר למערכת אחרת
כאשר התשובה היא ok
נגדיר

קוד: בחירת הכל

api_answer_ok=routing_yemot=0773137770


routing
חיוג דרך מודול ראוטינג
כאשר התשובה היא ok
נגדיר

קוד: בחירת הכל

api_answer_ok=routing=0581234567
הערכים המלאים שניתן לשדר
הסבר על כל ערך ומה אפשר לשדר בו ניתן להסתכל במודול routing עצמו
routing=routing_to_phone,routing_start,routing_tor,routing_multiple,routing_multiple_numbers,routing_your_id,routing_record,send_sms_befor_routing,routing_end_time,routing_end_goto,music_on_hold,routing_answer_play,routing_answer_tfr,routing_answer_tfr_hangup_goto,routing_email_address,routing_email_name

אם רוצים לשדר שיחה כאשר יש תפריט לעונה השיחה אם לקבל או לא ניתן להגדיר

קוד: בחירת הכל

api_answer_ok=routing=0773137770,,,,,,,,,,,,yes
הסבר: הערך ה13 הוא routing_answer_tfr ובו רשמנו yes כלומר ישמיע תפריט למי שעונה האם לקבל או לדחות

מצ"ב רשימת הערכים עם מספור
1=routing_to_phone
2=routing_start
3=routing_tor
4=routing_multiple
5=routing_multiple_numbers
6=routing_your_id
7=routing_record
8=send_sms_befor_routing
9=routing_end_time
10=routing_end_goto
11=music_on_hold
12=routing_answer_play
13=routing_answer_tfr
14=routing_answer_tfr_hangup_goto
15=routing_email_address
16=routing_email_name




שלב 3: (תחליף לשלב 2)
במקום להגדיר בתוך התיקיה מה לעשות במקרה של תשובה מהשרת שלכם
ניתן להגדיר שהשרת שלכם יענה ישר את הפקודות לביצוע
אם רוצים לתת כמה פקודות לביצוע ניתן להגדיר בין פקודה לפקודה את הסימון "&"

הערה כללית לשלב 3: שמנו לב שבחלק מהמערכות משום מה יש תו אחרון נסתר , והתוצאה היא שהמערכת קוראת גם את התו הנסתר ולכן למשל אם רציתם ללכת לתיקיה אחרת, המערכת לא מקבלת את התיקיה שרציתם לכתוב, ההמלצה שלנו היא תמיד בסוף הפקודה לשים את הסימון "&" ואז מבחינת המערכת הפקודה נגמרה ולאחר מכן יש פקודה הבאה, כך שהפקודה הראשונה "ננעלה" כמו שצריך, ולאחר מכן המערכת תראה שהפקודה השניה ריקה ותדע לבצע סיום.


דוגמאות לתשובות שתוכלו לענות:

קוד: בחירת הכל

go_to_folder=/5/9
בשביל מעבר לשלוחה אחרת

או לענות

קוד: בחירת הכל

id_list_message=f-57750730.f-/5/6/57881001.a-www012@.d-5567.n-5123.t-שלום אני מדבר בעברית.t-Hello I speak English.s-say123.s-/1/2/fileTts
בשביל להקריא את הנתונים


אם רוצים לתת 2 פקודות במקביל
לדוגמא
להשמיע את הקבצים, ולאחר מכן ללכת לתיקיה אחרת
אז נגדיר את הפקודות עם "&" בין פקודה לפקודה

קוד: בחירת הכל

id_list_message=f-57750730.f-/5/6/57881001.a-www012@.d-5567.n-5123.t-שלום אני מדבר בעברית.t-Hello I speak English.s-say123.s-/1/2/fileTts&go_to_folder=/5/9

או לענות

קוד: בחירת הכל

read=f-StringAll.a-www012@.d-5567.n-5123.t-אחד שתיים שלוש.t-Hello I speak English.s-StringAllbbb=DFGH,yes,8,4,7,Number,yes,no,*/
בשביל לקבל עוד נתונים מהלקוח

או לענות

קוד: בחירת הכל

credit_card=pelecard,100,999,3,1,DebitPaymntsType
בשביל סליקת אשראי


או לענות

קוד: בחירת הכל

routing_yemot=0773137770
בשביל לחייג למערכת אחרת בימות המשיח

או לענות

קוד: בחירת הכל

routing=0581234567
בשביל לחייג למספר טלפון אחר שלא בימות המשיח עם חיוב יחידות




הסבר על האפשרויות של id_list_message וכן ההודעה להשמעה ב read
ישנם 6 סוגי השמעת קבצים

קוד: בחירת הכל

;f - ברירת מחדל יש לרשום רק שם קובץ ואז מפעיל מתוך תיקית ברירת המחדל, ניתן לרשום כתובת מלאה שמתחילה בסלש "/" ואז המערכת תשמיע את הקובץ מתוך הכתובת המלאה שציינתם
;d- (Digits) ספרות
;n -(Number) מספר
;a -(Alpha) אותיות באנגלית
;t -(text) טקסט מילים עברית או אנגלית או שילוב של שניהם
;s - (Speech) הפעלת מנוע דיבור של כל הטקסט בעברית או באנגלית המופיע בקובץ. הקובץ חייב להיות בפורמט utf-8 ובסיומת של tts ברירת מחדל הקובץ נלקח מתוך תיקית ברירת מחדל, ניתן לרשום כתובת מלאה שמתחילה בסלש "/" והמערכת תשמיע את הכתובת המלאה

בין השמעה להשמעה יש לסמן"."
בין סוג ההשמעה לבין התוכן יש לסמן "-"
שימו לב ! יש להיזהר שלא יהיה נקודה (.) וגם לא מקף אמצעי (-) בתוך הטקסט, כדי שלא יהרוס את הרצף של ההקראה מה שעלול גם לגרום לניתוק השיחה.

הסבר לדוגמא המופיע לעיל

ישמיע מתוך תיקית ברירת המחדל את קובץ
57750730.wav
ואח"כ ישמיע מתוך תיקיה /5/6 את קובץ
57881001.wav
ואח"כ ישמיע בצורת אותיות באנגלית
"w" "w" "w" "0" "1" "2" "@"
ואח"כ ישמיע
"חמש חמש שש שבע"
ואח"כ ישמיע
חמשת אלפים מאה עשרים ושלוש
ואח"כ ישמיע
שלום אני מדבר בעברית
ואח"כ ישמיע
Hello I speak English
ואח"כ ישמיע מתוך תיקית ברירת המחדל את כל המלל המופיע בקובץ בשם say123
ואח"כ ישמיע מתוך תיקיה /1/2/ את כל המלל המופיע בקובץ בשם fileTts

שמירת דוחות של השליחה והקבלה
כל השליחות והתשובות נמצאות בקובץ LogApi.ymgr שתחת תיקית Log שבתיקיה הראשית

בשביל לא ליצור קונפליקט במערכת - הוחלפו כמה תווים בקובץ
ApiSend - החלפנו את "=" בסימן "^" וכן את "&" בסימן "*"
ApiAnswer - החלפנו את "," בסימן "^" וכן את "&" בסימן "*"


הוקפץ לאחרונה על ידי ימות המשיח בתאריך 10:25 18/02/2018.

חזור אל “פורום מפתחים API”

מי מחובר

משתמשים הגולשים בפורום זה: אין משתמשים רשומים | 3 אורחים