PHP¹®ÀÚ
PHP ¾ð¾î·Î SMS¡¤LMS¡¤RCS¡¤¾Ë¸²Å塤īī¿À ¾Ë¸²ÅåÀ» ¹ß¼ÛÇÏ´Â °³¹ßÀÚ¡¤¼¹ö¡¤À¥»çÀÌÆ®¿ë ¹®ÀÚ ¿¬µ¿ °¡À̵åÀÔ´Ï´Ù. ½ð´Ù³Ý SMS API¸¦ PHP cURL¡¤Guzzle¡¤HTTP Ŭ¶óÀÌ¾ðÆ®·Î ¿¬µ¿ÇÏ´Â ¹æ¹ý¡¤¿¹½Ã Äڵ塤ÀÎÁõ¡¤¿¡·¯ 󸮡¤´ë·®¡¤¿¹¾à¡¤°³ÀÎÈ¡¤RCS¡¤¾Ë¸²Åå ÅëÇÕ±îÁö ÀÚ¼¼È÷ Á¤¸®Çß½À´Ï´Ù.
ÇÑÁÙ¼³¸í
PHP¹®ÀÚ´Â PHP ¼¹ö¡¤À¥¡¤CMS¡¤¼îÇθô¡¤CRM¡¤ERP¡¤¾Û ¹é¿£µå¿¡¼ ½ð´Ù³Ý SMS API¸¦ È£ÃâÇØ ÁÖ¹®¡¤¹è¼Û¡¤¿¹¾à¡¤Ãâ°á¡¤³³ºÎ¡¤ÀÎÁõ¡¤¾Ë¸²¡¤È«º¸ ¹®ÀÚ¸¦ ÀÚµ¿¡¤½Ç½Ã°£¡¤´ë·®¡¤¿¹¾à ¹ß¼ÛÇÏ´Â ¿¬µ¿ ¹æ½ÄÀÔ´Ï´Ù.

½ð´Ù³Ý PHP ¹®ÀÚ API ÁÖ¿ä ½ºÆå (2026³â ±âÁØ)
| Ç׸ñ | ³»¿ë |
|---|---|
| API ¿£µåÆ÷ÀÎÆ® | https://api.xonda.net/v1/sms/send |
| ÀÎÁõ ¹æ½Ä | API Key (Çì´õ: X-API-KEY) |
| Áö¿ø ä³Î | SMS / LMS / RCS / ¾Ë¸²Åå / īī¿À ¾Ë¸²Åå |
| ¿ä±Ý | SMS 8~15¿ø / LMS 25~40¿ø / RCS¡¤¾Ë¸²Åå 20~60¿ø (´ë·® ÇÒÀÎ Àû¿ë) |
| ¿ù ¹«·á Á¦°ø | 500°Ç |
| ÃÖ´ë ¹ß¼Û ¼Óµµ | ÃÊ´ç 50~100°Ç |
| °³ÀÎÈ | variables ¹è¿·Î ¹«Á¦ÇÑ º¯¼ö Áö¿ø |
| ÷ºÎ | À̹ÌÁö¡¤µ¿¿µ»ó¡¤PDF¡¤¹öư¡¤¸µÅ©¡¤Áöµµ (RCS¡¤¾Ë¸²Åå) |
| ¸®Æ÷Æ® | ¹ß¼Û °á°ú Äݹé URL ¶Ç´Â Á¶È¸ API Á¦°ø |
API Àüü ¹®¼: https://www.xonda.net/docs/api
PHP ¿¬µ¿ ¿¹½Ã ÄÚµå
<?php
// 1. cURL ±âº» ¿¬µ¿ (°¡Àå °£´Ü)
$api_key = "your_api_key_here";
$url = "https://api.xonda.net/v1/sms/send";
$data = [
'to' => '01012345678',
'from' => '¹ß½Å¹øÈ£',
'text' => '[À̸§]´Ô ÁÖ¹®ÀÌ Á¢¼öµÇ¾ú½À´Ï´Ù!\\nÁÖ¹®¹øÈ£: 20260210001',
'type' => 'SMS',
'reserve' => '2026-02-12 09:00:00', // ¿¹¾à ¹ß¼Û (¼±ÅÃ)
'variables' => [ // °³ÀÎÈ º¯¼ö
'À̸§' => 'È«±æµ¿',
'ÁÖ¹®¹øÈ£' => '20260210001'
]
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'X-API-KEY: ' . $api_key,
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($http_code === 200) {
$result = json_decode($response, true);
echo "¹ß¼Û ¼º°ø! ¸Þ½ÃÁö ID: " . $result['message_id'];
} else {
echo "¹ß¼Û ½ÇÆÐ! HTTP $http_code - $response";
}
?>
// 2. GuzzleHttp »ç¿ë ¿¹½Ã (Ãßõ)
use GuzzleHttp\Client;
$client = new Client();
$response = $client->post('https://api.xonda.net/v1/sms/send', [
'headers' => [
'X-API-KEY' => 'your_api_key_here',
'Content-Type' => 'application/json',
],
'json' => [
'to' => '01012345678',
'from' => '¹ß½Å¹øÈ£',
'text' => 'Å×½ºÆ® Àå¹® ¹®ÀÚÀÔ´Ï´Ù. 90byte Ãʰú ³»¿ëµµ ÇÑ ¹ø¿¡ ¹ß¼Û!',
'type' => 'LMS',
'variables' => ['À̸§' => 'È«±æµ¿']
]
]);
echo $response->getBody();
ÁÖÀÇ»çÇ× & ÃÖÀûÈ ÆÁ
- ±¤°í¼º ¸Þ½ÃÁö´Â ¹Ýµå½Ã (±¤°í) + 080 ¹øÈ£ Æ÷ÇÔ (ÀÚµ¿ »ðÀÔ ¼³Á¤ Ãßõ)
- ´ë·® ¹ß¼Û ½Ã ÃÊ´ç 5~10°Ç ÀÌÇÏ ºÐ»ê (½ºÆÔ Â÷´Ü ¹æÁö)
- API Key À¯Ãâ ¹æÁö: .env ¶Ç´Â config ÆÄÀÏ »ç¿ë
- ¿¡·¯ ó¸®: HTTP »óÅÂÄÚµå 200 ¿Ü¿¡´Â Àç½Ãµµ ·ÎÁ÷ ±¸Çö
- RCS¡¤¾Ë¸²Åå ¿ì¼±: ºñ¿ë Àý°¨ + ¿ÀÇÂÀ² 90% ÀÌ»ó
- Å×½ºÆ® ȯ°æ: »÷µå¹Ú½º ¸ðµå ¶Ç´Â Å×½ºÆ® ¹øÈ£ »ç¿ë
ÀÚÁÖ ¹¯´Â Áú¹® Q&A
-
Q1: PHP ¹®ÀÚ API ¿¬µ¿ ½Ã °¡Àå ¸¹ÀÌ ¹ß»ýÇÏ´Â ¿¡·¯´Â?
A1: 1) API Key ´©¶ô/À߸ø ¡æ 401 Unauthorized 2) JSON Æ÷¸Ë ¿À·ù ¡æ 400 Bad Request 3) ¹ß½Å¹øÈ£ ¹Ìµî·Ï ¡æ 403 Forbidden 4) ¼ö½Å¹øÈ£ Çü½Ä ¿À·ù (010-1234-5678 ¡æ 01012345678À¸·Î) 5) ±¤°í¼º ¸Þ½ÃÁö ¹ÌÇ¥½Ã ¡æ 422 Unprocessable Entity ½ð´Ù³ÝÀº ¿¡·¯ ¸Þ½ÃÁö°¡ ¸íÈ®Çϰí, API ¹®¼¿¡ »ó¼¼ Äڵ庰 ¼³¸íÀÌ ÀÖ½À´Ï´Ù.
-
Q2: PHP·Î ´ë·® ¹®ÀÚ º¸³¾ ¶§ ½ºÆÔ Â÷´Ü ÇÇÇÏ´Â ¹æ¹ýÀº?
A2: 1) ÃÊ´ç 5~10°Ç ÀÌÇÏ·Î sleep() ¶Ç´Â queue »ç¿ë 2) ¹ß½Å¹øÈ£ 3~5°³ ·ÎÅ×ÀÌ¼Ç 3) ³»¿ë¿¡ °³ÀÎÈ º¯¼ö(À̸§¡¤ÁÖ¹®¹øÈ£ µî) Çʼö »ðÀÔ 4) µ¿ÀÏ ³»¿ë ¹Ýº¹ ±ÝÁö 5) ±¤°í¼º ¸Þ½ÃÁö (±¤°í) + 080 ¹øÈ£ ÀÚµ¿ »ðÀÔ 6) Á¤»óÀûÀÎ ¹ß½Å¹øÈ£(042¡¤070¡¤1644 µî) »ç¿ë ½ð´Ù³ÝÀº ÀÚµ¿ ºÐ»ê¡¤·ÎÅ×À̼ǡ¤°³ÀÎÈ ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.