PDA

View Full Version : ارسال پیامک زمان دار



baradar
دوشنبه 08 اسفند 1390, 15:36 عصر
با عرض سلام و خسته نباشید خدمت اساتید محترم

مشکل بنده در ارسال پیامک به صورت زمان دار هست یعنی اینکه میخوام مثلا
ساعت 8 پیامک رو بفرستم و ساعت 11 برسه به مقصد و در گوشی مقصد نمایش داده بشه
از جایی که من سرویس پیامک رو گرفتم یه تابع داره که باهاش میشه این کار رو کرد ولی من هر راهی
امتحان کردم جواب نداد لطفا اساتید محترم کمک کنند من نمونه کد رو میگذارم که نگاه کنید و اگر
اشکالی داره من رو راهنمایی نمایید

این نمونه کد توسط soap هست




$client = new SoapClient("http://www.sipgasms.net/post/send.asmx?wsdl");
$parameters['username'] = "****";
$parameters['password'] = "***";
$parameters['from'] = "10000112";
$parameters['to'] = array("*********");
$parameters['text'] = "salam";
$parameters['isflash'] = true;
$parameters['udh'] = "";
$parameters['recId'] = array(0);
$parameters['status'] = 0x0;
$parameters['period'] = "Once";
$parameters['scheduleDateTime'] = date_create('2012/02/27 15:36') ;


//echo $client->GetCredit($parameters)->GetCreditResult;
echo $client->ScheduleSms($parameters)->ScheduleSmsResult;
//echo $status;
} catch (SoapFault $ex) {
echo $ex->faultstring ;
}




البته رمز و یوزر رو حذف کردم

لطفا راهنمایی نمایید

MMSHFE
دوشنبه 08 اسفند 1390, 18:46 عصر
دوست عزیز، شما هر ساعتی پیام رو بفرستین، همون موقع دریافت میشه. تنها راه ممکن، استفاده از ارسال زماندار در پانل SMS شما هست. اگه سرویس پیامک شما وبسرویس ارائه داده، مستنداتش رو مطالعه کنید تا ببینید چطور میشه از ارسال زماندار توی API استفاده کنید (تابع مربوطه چیه). درصورت امکان، مستندات API رو اینجا بگذارین تا ببینیم میشه کاریش کرد یا نه؟

baradar
دوشنبه 08 اسفند 1390, 19:09 عصر
با عرض سلام و خسته نباشید خدمت شما

از پاسختون ممنونم بله وب سرویسی که من گرفتم یه تابع داره که برای ارسال زمان دار هست شما با زدن ادرس زیر در مرور گر توابع وب
سرویس رو میتونید مشاهده کنید که یکیش تابع ScheduleSms می باشد که برای همین کار در نظر گرفته شده
لطفا یه نگاهی بهش بندازید و بهم بگید که من باید چطوری دقیقا کار کنم که در زمان دلخواهم بفرسته

آدرس وب سرویس
http://www.sipgasms.net/post/send.asmx?wsdl

با تشکر

MMSHFE
دوشنبه 08 اسفند 1390, 20:15 عصر
این قسمت رو ببینید:

<s:element name="ScheduleSms">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="password" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="to" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="from" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="text" type="s:string"/>
<s:element minOccurs="1" maxOccurs="1" name="isflash" type="s:boolean"/>
<s:element minOccurs="1" maxOccurs="1" name="scheduleDateTime" type="s:dateTime"/>
<s:element minOccurs="1" maxOccurs="1" name="period" type="tns:PeriodType"/>
</s:sequence>
</s:complexType>
</s:element>

همونطور که میبینید، برای زمان باید از کلاس DateTime استفاده بشه که احتمالاً از نوع ساختار dotNET هست (با توجه به آدرس وب سرویس که از ساختار ASP.NET استفاده میکنه). از اونجا که این ساختار، تاریخ رو بصورت زیر نشون میده:

27/02/2012 08:33:52 PM
برای تولید رشته نشون دهنده ساعت 23 امروز، از کد زیر در PHP استفاده کنید:

date('d/m/Y'.' 11:00:00 PM');
بقیه فیلدها هم که مشخص هستند.
موفق باشید.

baradar
دوشنبه 08 اسفند 1390, 21:29 عصر
date('d/m/Y'.' 11:00:00 PM');

با عرض سلام و خسته نباشید خدمت شما
من کدی که شما فرمودید و قرار دادم ولی متاسفانه پیغام خطا میده که پیغام رو براتون میگذارم




Server was unable to read request. ---> There is an error in XML document (2, 396). --->
The string '27/02/2012 11:00:00 +01:00Feb' is not a valid AllXsd value.



در ضمن اگر میشه در مورد این پارامتر period توضیحی بدین که چطوری استفاده کنم

با تشکر

MMSHFE
دوشنبه 08 اسفند 1390, 21:43 عصر
میشه کد کاملتون رو بگذارین؟ پارامتر آخر (Period) دوره مشخص شده هست. مثلاً میتونید تنظیم کنید پیامک هرروز سر ساعت خاصی ارسال بشه یا هر هفته، ماهانه، سالانه و...
موفق باشید.

baradar
دوشنبه 08 اسفند 1390, 22:03 عصر
با عرض سلام و خسته نباشید خدمت شما


میشه کد کاملتون رو بگذارین؟مهندس کد همین کدی هست که گذاشتم ولی رمز ویوزر و شماره را براتون به صورت خصوصی ارسال کردم تا تست کنید

با تشکر

MMSHFE
دوشنبه 08 اسفند 1390, 22:29 عصر
معمولاً همراه وب سرویس مستندات اون هم ارائه میشه (بصورت PDF و...) اون رو ندارین؟ میخوام بدونم هر پارامتر در چه قالبی اطلاعات رو میگیره. مثلاً تاریخ با چه فرمتی باید باشه و...

baradar
سه شنبه 09 اسفند 1390, 10:49 صبح
با عرض سلام و خسته نباشید خدمت شما


معمولاً همراه وب سرویس مستندات اون هم ارائه میشه (بصورت PDF و...) اون رو ندارین؟بفرمایید من مستندات در مورد وب سرویس که یک فایل هست بهم دادند رو بهتون میدم ولی چیزی در مورد ارسال زمان دار ننوشته
و ازشون هم خواستم ولی میگن ما خودمون همینها رو بیشتر نداریم من نمیتونم جای دیگه هم وب سرویس بگیرم باید با وب سرویس
همینها بنویسم چون یه برنامه برای خودشون هست و به سفارش خودشون که باید براشون انجام بدم اگر لطف کنید و این مشکلم رو حل کنید
کمک بزرگی بهم کردید

همچنین شما میتونید با رمز و یوزری که براتون ارسال کردم در این ادرس وارد پنل شده ونمونه ارسال زمان دارش رو بینید

www.sipgasms.net (http://www.sipgasms.net)

با تشکر

MMSHFE
سه شنبه 09 اسفند 1390, 15:24 عصر
اینکه توضیح تابع ارسال با تأخیر توش نبود. راستی، شعر امضای شما هم در اصل اینطوری هست:
دنیا همه هیچ و کار دنیا همه هیچ
ای هیچ ز بهر هیچ بر هیچ مپیچ
:چشمک:

baradar
سه شنبه 09 اسفند 1390, 15:57 عصر
با عرض سلام و خسته نباشید خدمت شما

حالا مهندس نمیشه هیچ کاریش کرد من خیلی تست کردم نشده خودشونم که اطلاعی ندارند در مورد برنامه نویسی
لطفا یه کاریش بگنید



شعر امضای شما هم در اصل اینطوری هست

عوض کردم :لبخند:

MMSHFE
سه شنبه 09 اسفند 1390, 16:04 عصر
آخه مشکل اینجاست که پیغام خطایی هم که میده واضح نیست. حالا بهم یکی دو روز فرصت بدین روش کار کنم ببینم به نتیجه میرسم یا نه. موفق باشید.

MMSHFE
چهارشنبه 10 اسفند 1390, 12:58 عصر
دوست عزیز، این که با خود سامانه هم ارسال نمیکنه!

baradar
چهارشنبه 10 اسفند 1390, 19:27 عصر
با عرض سلام و خسته نباشید خدمت شما


دوست عزیز، این که با خود سامانه هم ارسال نمیکنه!

نه من تست کردم همین امروز که شما فرمودید ولی درست فرستاد فقط باید روی یکبار قرار بدین تا بفرسته

MMSHFE
چهارشنبه 10 اسفند 1390, 19:57 عصر
آخه من با سامانه ارسال کردم، خطا داد (خط ارسال قرمز بود). توی گزارش ارسال نگاه کنید، هست، حذفش نکردم. بعد اومدم و با استفاده از وب سرویس و تابع SendSms کار کردم و خروجی رو گرفتم که خطای 1- داد (رمز عبور صحیح نیست) درصورتی که رمز درست بود. با ScheduleSms فرستادم که یک پیغام خطا از ساختار XML داد، درحالی که اصلاً من از XML استفاده نکردم. فکر کنم کلاً وب سرویسشون مشکل داره. تعجب میکنم که چرا Documentشون کامل نیست و این تابع توش نیست. اگه خودشون از جای دیگه گرفتن، ازشون بپرسین تا حداقل از اونجا توابع API و نحوه استفاده رو جویا بشیم.

baradar
چهارشنبه 10 اسفند 1390, 21:21 عصر
با عرض سلام و خسته نباشید خدمت شما

مهندس من یه کار دیگه کردم اومدم زمان رو با استفاده از mktime ساختم که یه عدد هست بعد میام تو دیتا بیس ذخیره میکنم و با کرون جاب دائم چک میکنم که اگر زمان فعلی که اونم
به عدد تبدیل کردم از عدد داخل دیتا بیس بیشتر شد بعد پیامک رو ارسال کنه این سرویسی که من گرفتم با استفاده از ادرس و فرستادن پارامتر به وسیله get هم میشه فرستاد بعد میام میگذارم
داخل تابع header ولی تو کرون جاب اجرا نمیشه همینطوری من ادرس رو اجرا کنم درست میفرسته ها ولی با کرون جاب مشکل داره از curl هم استفاده کردم باز مشکل داره میخوام ببینم شما
راه حلی برای این مشکل دارید که من بتونم بی اشکال ارسال کنم

با تشکر از لطف شما

MMSHFE
چهارشنبه 10 اسفند 1390, 21:31 عصر
توی Cron Jobs باید آدرس مطلق رو بدین (از www/ شروع کنید). این مورد رو چک کنید، فکر کنم مشکل از این باشه. ولی انصافاً وب سرویس خیلی بدی خریداری کردین ها. هم ازنظر مستندات و هم ازنظر پشتیبانی و هم ازنظر پیغامهای خطای نامفهومی که میده! شرمنده نمیخوام نا امیدتون کنم ولی بنظرم پرداخت یک هزینه جزئی و تهیه یک وبسرویس بهتر، ارزش داره چون وقتتون مهمتر از سایر مسائل هست. موفق باشید.

baradar
شنبه 13 اسفند 1390, 13:38 عصر
با عرض سلام و خسته نباشید خدمت شما

ببخشید که بعد از چند روز دوباره تاپیک رو میارم بالا


توی Cron Jobs باید آدرس مطلق رو بدین (از www/ شروع کنید). میشه طبق این گفته خودتون ادرس مثالی زیر رو تبدیل کنید اخه من هر کاری کردم نشد


http://panelesms.com/post/sendSMS.ashx?from=10001234&to=912&text=test&password=YourPass&username=YourUsername

با تشکر

MMSHFE
شنبه 13 اسفند 1390, 16:03 عصر
دوست عزیز، شما باید یک فایل PHP بسازین که این اسکریپت رو فراخوانی و اجرا میکنه و بعد، مسیر مطلق اون فایل رو با realpath بدست بیارین و اون اسکریپت رو اجرا کنید.

baradar
شنبه 13 اسفند 1390, 16:44 عصر
دوست عزیز، شما باید یک فایل PHP بسازین که این اسکریپت رو فراخوانی و اجرا میکنه و بعد، مسیر مطلق اون فایل رو با realpath بدست بیارین و اون اسکریپت رو اجرا کنید

مهندس من اگر بلد بودم که مزاحم شما نمیشدم و وقتتون رو نمیگرفتم لطفا یه لطفی کنید و یه نمونه هر چند هم ساده بگذارید یا یه لینیک بدید که من رو بتونه راهنمایی کنه
ممنون از لطفتون

baradar
دوشنبه 15 اسفند 1390, 16:31 عصر
کسی نیست جوابم رو بده