แจ้งเตือน New Ticket/New Order จาก WHMCS ผ่าน SMS

วันนี้ทำตัวเหมือนจะว่าง (รึเปล่า?) ตื่นเช้ามาจู่ๆก็ได้ไอเดียเอา SMS Gateway ที่ใช้บริการอยู่ มาโมใส่ WHMCS ซะเลย เอาไว้ใช้แจ้งเตือนเราผ่าน SMS เวลามีลูกค้าเปิด Ticket หรือสั่งซื้อ Order ใหม่เข้ามาครับ

เห็นพี่ๆหลายท่านในนี้ใช้ WHMCS อยู่เหมือนกันก็เลยนำมาแบ่งปันกันดูครับ อาจไม่มีประโยชน์เท่าไรสำหรับท่านที่ใช้งาน Push Mail ใน Smart Phone ทั้งหลายครับ

แจ้งเตือนผ่าน SMS สำหรับ New Ticket

เริ่มแรกให้ไปแก้ไขไฟล์ supportticketsubmit-confirm.tpl ซึ่งอยู่ในไดเรกทอรี่ของเทมเพลตที่ใช้งานอยู่ครับ โดยแก้ไขให้เชื่อมต่อกับ API ของ SMS Gateway ที่ท่านใช้งานครับ ตัวอย่างของผมนี้เป็นการเชื่อมต่อกับ SMS Gateway ของคุณต้น (PacketLove) ครับ

File Name: /PathToWHMCS/templates/TemplateName/supportticketsubmit-confirm.tpl

{php}

$ticketid = $this->_tpl_vars['tid'];



function smsnotify($mobile_no,$msg,$sender) {

	$user_id	= "gatewayusername";

	$passwd		= "gatewaypassword";

	$host				= "api.smsgateway.com"; 

	$port				= "80"; 

	$path			= "/api_sms.jsp";



	$data="user_id=$user_id&passwd=$passwd&sender=$sender&mobile_no=$mobile_no&msg=$msg";

	$fp=@fsockopen($host,80);

	

	if ( $fp)

	{

		fputs($fp,"POST $path HTTP/1.1
");

		fputs($fp,"Host: $host
");

		fputs($fp,"Content-type: application/x-www-form-urlencoded
");

		fputs($fp,"Content-length: ".strlen($data)."
");

		fputs($fp,"Connection: close

");

		fputs($fp,$data);

		while(!feof($fp)) {



			$buffer=fgets($fp,128);

			

		}

		fclose($fp);

	}

}

smsnotify("0812345678","Ticket $ticketid has been opened by your client.","SenderName")

{/php}

แจ้งเตือนผ่าน SMS สำหรับ New Order

ให้แก้ไขที่ไฟล์ complete.tpl ในไดเรกทอรี่ Order Form Template ที่ท่านใช้งานอยู่ เพื่อเชื่อมต่อกับ SMS Gateway ที่ท่านใช้งานเช่นกันนะครับ

File Name: /PathToWHMCS/templates/orderforms/TemplateName/complete.tpl

{php}

$orderid = $this->_tpl_vars['ordernumber'];



function smsnotify($mobile_no,$msg,$sender) {

	$user_id	= "gatewayusername";

	$passwd		= "gatewaypassword";

	$host				= "api.smsgateway.com"; 

	$port				= "80"; 

	$path			= "/api_sms.jsp";



	$data="user_id=$user_id&passwd=$passwd&sender=$sender&mobile_no=$mobile_no&msg=$msg";

	$fp=@fsockopen($host,80);

	

	if ( $fp)

	{

		fputs($fp,"POST $path HTTP/1.1
");

		fputs($fp,"Host: $host
");

		fputs($fp,"Content-type: application/x-www-form-urlencoded
");

		fputs($fp,"Content-length: ".strlen($data)."
");

		fputs($fp,"Connection: close

");

		fputs($fp,$data);

		while(!feof($fp)) {



			$buffer=fgets($fp,128);

			

		}

		fclose($fp);

	}

}

smsnotify("0812345678","Order $orderid has been placed by your client.","SenderName")

{/php}

สำหรับการแจ้งเตือน New Order นี้ จะใช้งานได้ก็ต่อเมื่อเราตั้งให้แสดง Complete Page เมื่อลูกค้าทำรายการสั่งซื้อเสร็จเรียบร้อยแล้วเท่านั้น โดยตั้งค่าได้ที่ WHMCS Admin เมนู Setup --> General Settings --> Tab Ordering —> Auto Redirect on Checkout เลือกเป็น Just show the order completed page (no payment redirect) ครับ

เพียงเท่านี้ เวลามีลูกค้าเปิด Ticket / Order แม้จะไม่ได้อยู่หน้าคอม ไม่ได้เช็คเมล์ เราก็จะสามารถทราบได้ในทันทีครับ (ของผมให้ลูกค้าแจ้งยืนยันการชำระเงินผ่าน Ticket ด้วย ก็น่าจะช่วยเพิ่มความรวดเร็วในการตรวจสอบการชำระเงินให้กับลูกค้าครับ)

หากผิดพลาดประการใดก็ขออภัยด้วยครับ มือใหม่ ทั้งนี้อาจจะนำไปประยุกต์กับอย่างอื่นได้อีกก็ลองแชร์ไอเดียกันดูนะครับ

[url=http://upic.me/show/28386308] [url=http://upic.me/show/28386311]

ขอบคุณมากเพื่อน มีประโยชน์มากๆ

ขอบคุณครับ แจ่มมาก

ผมก็ทำใช้อยู่ครับทั้ง New Orde และ New Ticket แต่ผมใช้ Google Calendar API นะครับ ส่ง SMS ฟรี ฮ้าๆ

SMS ที่ส่งจาก Google calendar API เร็วมั้ยครับ

ผมใช้ SMS เตือนใน Google calendar มันมาตรงเวลาเป๊ะเลย

ขอบคุณ จขกท ด้วยครับ

ตรงเวลาครับ ใช้ดีเลยทีเดียว ผมใช้เตือนเวลาเซิร์ฟล่มด้วยนะ

เดี๋ยวว่างๆจะลองกับ Google Calendar API บ้างครับ

ใช้ Google Calendar API ส่ง SMS นี่ มันมีโควต้า มั้ยครับ

ไม่มีอะครับ เป็นบริการพื้นฐานของบริการ Google Calendar ครับ แจ้งเตือนกำหนดการต่างๆเมื่อถึงเวลาฟรี

แล้วทำไงล่ะครับผมสำหรับ GG API

เยี่ยมเลยครับ น้องปาล์ม ใช้เวลาว่างให้เป็นประโยชน์ นี่แหละ อนาคตของชาติ

ว๊าว แหล่มมาก

Google Calendar API น่าสนใจครับ

นั่งงมๆอยู่ ข้อความที่ส่ง เข้าไปใน calendar ของ google แล้ว แต่ sms ไม่มาสักที สงสัยจะตั้งค่าอะไรผิดไป

จะลองเปลี่ยนมาใช้ของ google ดู จะได้ประหยัดค่า sms ^ ^