שירות השארת הודעה מוקלטת וקבלתה בהודעת SMS לנייד האישי באמצעות API

חוקר
הודעות: 496
הצטרף: 15:44 16/03/2016
מיקום: עיר התורה והחסידות ביתר עילית

שירות השארת הודעה מוקלטת וקבלתה בהודעת SMS לנייד האישי באמצעות API

שליחהעל ידי חוקר » 23:31 01/11/2017

לתועלת הציבור אפרסם כאן את קוד המקור של פונקציה יחסית פשוטה, שבניתי, שמבקשת מהמאזין להשאיר הודעה מוקלטת, והמנוע זיהוי דיבור ממיר את זה לטקסט ושולח לשרת באמצעות שלוחת API.
שימושי לדוגמה, מערכת שעת לימוד אישית, בתפריט הראשי משאירים הודעה "אני כעת באמצע הלימוד וכו', להשארת הודעה הקישו אחד", לאחר שמקיש אחד הוא מתבקש להשאיר הודעה, ולאחר מכן ההודעה נשלחת לנייד באמצעות הודעת SMS.
לצורך כך, ראשית כל יש לפנות לשירות הלקוחות של ימות המשיח, ולבקש להרשם לשירות ההודעות SMS, יש להזמין חבילה לפי הכמות שתרצו, לאחר מכן תקבלו שם משתמש וסיסמא לשירות, פרטים אלו יידרשו בהמשך, לצורך הגדרתם במערכת.
לצורך הפעלת השירות, יש צורך בשרת שמריץ קבצי PHP, ולהשים על השרת את הקובץ המצורף.
ראשית כל אני מעתיק פה את הקוד, עם הסבר היכן צריך להכניס את שם המשתמש והסיסמא.
וכן קובץ שמכניסים במערכת בשלוחה הרלוונטית, שזה מגדיר את השלוחה כ API, וכמובן צריך להכניס את הכתובת הנכונה של השרת שלכם והמיקום בו העליתם את הקובץ.
קוד הקובץ PHP הוא:

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

<?php
extract($_GET, EXTR_PREFIX_SAME, "wddx");
if (isset($_GET['ApiPhone']) == False )
{
print "שגיאה קריטית, לא מוגדר מספר טלפון של התחברות";
return;
}
$ApiPhone = $_GET['ApiPhone'];
// פונקציה להסרת מספר 01 בהתחלה, במקרה שהשיחה מנותבת עם תוספת של 01
if (strpos($ApiPhone,"1") == 1)
{
$ApiPhone = substr($ApiPhone,2);
$ApiPhone = "0".$ApiPhone;
}
// קבלת הטקסט של ההודעה

if (isset($_GET['הודעה'])==False ) {
echo 'read=t-';
echo "לאחר הצליל אנא הקליטו בקול ברור את הודעתכם ולסיום הַקישו סולמית";
echo '=הודעה,no,voice';
return;
}

// Sending simple message using PHP
// http://jasminsms.com
$baseurl = 'http://api.multisend.co.il/MultiSendAPI/sendsms?';
user=jasmin_username&password=jasmin_password&from=from_name&recipient=recipient_number&message=your+messageuser=jasmin_username&password=jasmin_password&from=from_name&recipient=recipient_number&message=your+messageuser=jasmin_username&password=jasmin_password&from=from_name&recipient=recipient_number&message=your+messageuser=jasmin_username&password=jasmin_password&from=from_name&recipient=recipient_number&message=your+messageuser=jasmin_username&password=jasmin_password&from=from_name&recipient=recipient_number&message=your+message';

//יש למחוק את שם_משתמש ולהכניס במקומו את שם המשתמש אותו קיבלתם משירות הלקוחות

$params = 'user=שם_משתמש';

//יש למחוק את סיסמא ולהכניס במקומו את הסיסמא אותו קיבלתם משירות הלקוחות

$params.= '&password=סיסמא';
$params.= '&from='.$ApiPhone;

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

$params.= '&recipient=מספר_טלפון';
$params.= '&message='.urlencode($הודעה);
// פרמטרים אופציונליים
//Optional Parameter
//$params.= '&message_type='.urlencode('message_type');
//$params.= '&scheduledatetime=schedule_time';
//$params.= '&international=international';
//$params.= '&deliverynotificationURL=urlencode(deliverynotificationURL)';
//$params.= '&customermessageid=customermessageid';
//$params.= '&deliverynotificationmethod=POST';

$response = file_get_contents($baseurl.$params);
//print $response;
$jsonObject = json_decode($response);
echo "id_list_message=t-אנא המתן.&";
if ($jsonObject->success != "true" )
{

echo "id_list_message=t-לצערנו קרתה תקלה בשליחת ההודעה, אנא פנה למנהל המערכת.&go_to_folder=/hangup";
return ;

}
if ($jsonObject->success == "true" )
{

echo "id_list_message=t-ההודעה נשלחה בהצלחה, שלום ותודה.&go_to_folder=/hangup";
return ;

}

קוד זה הוא הקוד של הקובץ, ויש לעשות בו שינויים כפי שמופיע.

בנוסף, לאחר שמעלים קובץ זה לשרת, יש להגדיר בשלוחה של ההודעות במערכת בקובץ ה ext.ini

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

type=api
;יש לשנות את הכתובת למיקום בשרת שלכם
api_link=https://domain.com/sms.php
api_phone_send=yes
api_did_send=no
api_extension_send=no
say_api_answer=no
api_say_tts=no
וכמובן כל הודעה שמתקבלת עולה לכם יחידה של ההודעה לםי התעריף שקיבלתם.
אני מצרף את הקבצים מוכנים להעלאה על השרת שלכם.
SMS.rar
התקנת SMS
(1.34 KiB) הורד 283 פעמים
נ.ב. לא באתי להסביר ולהדריך איך בונים מערכות API, רק בצורה קלה להשתמש עם משהו מוכן.
כמו"כ ייתכן שבהמשך אני יפתח משהו בשרת שלי עבור אלו שאין להם שרת, ורוצים להשתמש בשרות, שכל אחד יוכל לעשות שלוחה במערכת שלו ולהעלות לשם את ההגדרות הרלוונטיות וע"י זה יוכל ג"כ להשתמש בשירות. א"כ אעדכן פה בפורום.
בהצלחה

BY6199
הודעות: 1635
הצטרף: 13:11 08/01/2017

Re: שירות השארת הודעה מוקלטת וקבלתה בהודעת SMS לנייד האישי באמצעות API

שליחהעל ידי BY6199 » 23:47 01/11/2017

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

אולם למיטב ידיעתי אורך ההקלטה לזיהוי דיבור קצר מאוד ולא יעיל להודעה קולית. בנוסף ככל שיהיה יותר תווים בהודעה יהיה לזה עלות של שני הודעות ויותר כמדומני


BY6199
הודעות: 1635
הצטרף: 13:11 08/01/2017

Re: שירות השארת הודעה מוקלטת וקבלתה בהודעת SMS לנייד האישי באמצעות API

שליחהעל ידי BY6199 » 13:08 08/11/2017

לכמה שניות מוגבלת ההשארת הודעה?
תנסה, זה כמו בכל המודול של זיהוי דיבור

מוישי
הודעות: 34
הצטרף: 18:58 10/10/2016
מיקום: ארץ הקודש

Re: שירות השארת הודעה מוקלטת וקבלתה בהודעת SMS לנייד האישי באמצעות API

שליחהעל ידי מוישי » 14:53 08/11/2017

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

מנחם מענדל מענדי
הודעות: 980
הצטרף: 16:42 28/04/2016

Re: שירות השארת הודעה מוקלטת וקבלתה בהודעת SMS לנייד האישי באמצעות API

שליחהעל ידי מנחם מענדל מענדי » 12:43 23/05/2018

לתועלת הציבור אפרסם כאן את קוד המקור של פונקציה יחסית פשוטה, שבניתי, שמבקשת מהמאזין להשאיר הודעה מוקלטת, והמנוע זיהוי דיבור ממיר את זה לטקסט ושולח לשרת באמצעות שלוחת API.
שימושי לדוגמה, מערכת שעת לימוד אישית, בתפריט הראשי משאירים הודעה "אני כעת באמצע הלימוד וכו', להשארת הודעה הקישו אחד", לאחר שמקיש אחד הוא מתבקש להשאיר הודעה, ולאחר מכן ההודעה נשלחת לנייד באמצעות הודעת SMS.
לצורך כך, ראשית כל יש לפנות לשירות הלקוחות של ימות המשיח, ולבקש להרשם לשירות ההודעות SMS, יש להזמין חבילה לפי הכמות שתרצו, לאחר מכן תקבלו שם משתמש וסיסמא לשירות, פרטים אלו יידרשו בהמשך, לצורך הגדרתם במערכת.
לצורך הפעלת השירות, יש צורך בשרת שמריץ קבצי PHP, ולהשים על השרת את הקובץ המצורף.
ראשית כל אני מעתיק פה את הקוד, עם הסבר היכן צריך להכניס את שם המשתמש והסיסמא.
וכן קובץ שמכניסים במערכת בשלוחה הרלוונטית, שזה מגדיר את השלוחה כ API, וכמובן צריך להכניס את הכתובת הנכונה של השרת שלכם והמיקום בו העליתם את הקובץ.
קוד הקובץ PHP הוא:

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

<?php
extract($_GET, EXTR_PREFIX_SAME, "wddx");
if (isset($_GET['ApiPhone']) == False )
{
print "שגיאה קריטית, לא מוגדר מספר טלפון של התחברות";
return;
}
$ApiPhone = $_GET['ApiPhone'];
// פונקציה להסרת מספר 01 בהתחלה, במקרה שהשיחה מנותבת עם תוספת של 01
if (strpos($ApiPhone,"1") == 1)
{
$ApiPhone = substr($ApiPhone,2);
$ApiPhone = "0".$ApiPhone;
}
// קבלת הטקסט של ההודעה

if (isset($_GET['הודעה'])==False ) {
echo 'read=t-';
echo "לאחר הצליל אנא הקליטו בקול ברור את הודעתכם ולסיום הַקישו סולמית";
echo '=הודעה,no,voice';
return;
}

// Sending simple message using PHP
// http://jasminsms.com
$baseurl = 'http://api.multisend.co.il/MultiSendAPI/sendsms?';
user=jasmin_username&password=jasmin_password&from=from_name&recipient=recipient_number&message=your+messageuser=jasmin_username&password=jasmin_password&from=from_name&recipient=recipient_number&message=your+messageuser=jasmin_username&password=jasmin_password&from=from_name&recipient=recipient_number&message=your+messageuser=jasmin_username&password=jasmin_password&from=from_name&recipient=recipient_number&message=your+messageuser=jasmin_username&password=jasmin_password&from=from_name&recipient=recipient_number&message=your+message';

//יש למחוק את שם_משתמש ולהכניס במקומו את שם המשתמש אותו קיבלתם משירות הלקוחות

$params = 'user=שם_משתמש';

//יש למחוק את סיסמא ולהכניס במקומו את הסיסמא אותו קיבלתם משירות הלקוחות

$params.= '&password=סיסמא';
$params.= '&from='.$ApiPhone;

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

$params.= '&recipient=מספר_טלפון';
$params.= '&message='.urlencode($הודעה);
// פרמטרים אופציונליים
//Optional Parameter
//$params.= '&message_type='.urlencode('message_type');
//$params.= '&scheduledatetime=schedule_time';
//$params.= '&international=international';
//$params.= '&deliverynotificationURL=urlencode(deliverynotificationURL)';
//$params.= '&customermessageid=customermessageid';
//$params.= '&deliverynotificationmethod=POST';

$response = file_get_contents($baseurl.$params);
//print $response;
$jsonObject = json_decode($response);
echo "id_list_message=t-אנא המתן.&";
if ($jsonObject->success != "true" )
{

echo "id_list_message=t-לצערנו קרתה תקלה בשליחת ההודעה, אנא פנה למנהל המערכת.&go_to_folder=/hangup";
return ;

}
if ($jsonObject->success == "true" )
{

echo "id_list_message=t-ההודעה נשלחה בהצלחה, שלום ותודה.&go_to_folder=/hangup";
return ;

}

קוד זה הוא הקוד של הקובץ, ויש לעשות בו שינויים כפי שמופיע.

בנוסף, לאחר שמעלים קובץ זה לשרת, יש להגדיר בשלוחה של ההודעות במערכת בקובץ ה ext.ini

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

type=api
;יש לשנות את הכתובת למיקום בשרת שלכם
api_link=https://domain.com/sms.php
api_phone_send=yes
api_did_send=no
api_extension_send=no
say_api_answer=no
api_say_tts=no
וכמובן כל הודעה שמתקבלת עולה לכם יחידה של ההודעה לםי התעריף שקיבלתם.
אני מצרף את הקבצים מוכנים להעלאה על השרת שלכם.
SMS.rar
נ.ב. לא באתי להסביר ולהדריך איך בונים מערכות API, רק בצורה קלה להשתמש עם משהו מוכן.
כמו"כ ייתכן שבהמשך אני יפתח משהו בשרת שלי עבור אלו שאין להם שרת, ורוצים להשתמש בשרות, שכל אחד יוכל לעשות שלוחה במערכת שלו ולהעלות לשם את ההגדרות הרלוונטיות וע"י זה יוכל ג"כ להשתמש בשירות. א"כ אעדכן פה בפורום.
בהצלחה
משום מה השליחה הפסיקה. פתחתי כאן באג לתיקון

CanonBrains
הודעות: 23
הצטרף: 12:06 28/05/2018

Re: שירות השארת הודעה מוקלטת וקבלתה בהודעת SMS לנייד האישי באמצעות API

שליחהעל ידי CanonBrains » 13:52 28/11/2018

הגדרתי והמערכת לא נותנת לי אפשרות להקליט את קובץ השמע אלא אני מיד מופנה לתפריט הקודם

אבי 300
הודעות: 126
הצטרף: 12:50 23/05/2017

Re: שירות השארת הודעה מוקלטת וקבלתה בהודעת SMS לנייד האישי באמצעות API

שליחהעל ידי אבי 300 » 23:54 28/11/2018

@חוקר,
יהיה מוצלח אם תעלה את הקוד לגיטהאב..
https://github.com/yemot
או לחילופין תאמר לי ואני יעלה..


חזור אל “טיפים עצות והדגמות”

מי מחובר

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