نسخه جدید SMSPanel

مقدمه

در این بخش مفاهیم و قراردادهای کلی مربوط به استفاده از وب سرویس sms.ir، شرح داده خواهند شد.


HTTP REQUEST HEADER

شما میتوانید برای انجام تنظیمات ضروری و یا شخصی سازی شده، از هدرهای مشخص شده در جدول زیر استفاده نمایید.


عملکرد مقدار کلید
دریافت خروجی با فرمت Json یا Xml application/json یا application/xml ACCEPT
احراز هویت کلید تعریف شده در پنل X-API-KEY


HTTP STATUS CODE

تمامی درخواست های ارسالی دارای HTTP status code های بازگشتی مطابق جدول زیر میباشند. .

توضیح کد وضعیت
عملیات موفقیت آمیز 200
وقوع خطای منطقی 400
وجود خطا در فرآیند احراز هویت 401
تعداد درخواست غیر مجاز 429
خطای غیر منتظره 500


UNIX TIME

واحد مقادیر مربوط به زمان در سطح این سامانه به صورت Unix Time و بر حسب ساعت هماهنگ جهانی (UTC) لحاظ شده است.

مدل بازگشتی

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

Response Body
                                        {
                                            "status":1,
                                            "message":"موفق",
                                            "data":[
                                                30004505000027,
                                                10002166593818
                                            ]
                                          }
                        
توضیح مشخصه
کد وضعیت Status
توضیحات وضعیت درخواست Message
دیتای بازگشتی Data


AUTHORIZATION – احراز هویت

شبه منظور هویت سنجی در هنگام استفاده از وب سرویس‌های پیامک سفید ملزم به ارسال کلید خصوصی در بخش هدر درخواست مورد نظر می‌باشید. کلید های خصوصی شما در پنل برنامه نویسان قابل مشاهده و مدیریت میباشند.در هنگام فراخوانی متدهای سامانه کلید خصوصی را با عنوان X-API-KEY در هدر درخواست قرار دهید.

X-API-KEY
                                                                    PN1TVeBeaAehFLJAKU4XdfpsFXsQguYfleO0bV4ceh6diTZid2hRXza3uSkBbDef

                                                                 

ارسال ها

ارسال گروهی

این متد برای ارسال یک متن پیامک به گروهی از شماره موبایل ها مورد استفاده قرار میگیرد. همچنین شما میتوانید با مقداردهی به پارامتر زمان ارسال، از قابلیت ارسال پیامک زمانبندی شده نیز استفاده نمایید.



نمونه کد

C#

            HttpClient httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Add("x-api-key", "[YOURAPIKEY]");
            var payload = @"{" + "\n" +
            @"    ""lineNumber"": 300000000000," + "\n" +
            @"    ""messageText"": ""Your Text""," + "\n" +
            @"    ""mobiles"": [" + "\n" +
            @"        ""Your Mobile 1""" + "\n" +
            @"    ]," + "\n" +
            @"    ""sendDateTime"": null" + "\n" +
            @"}";
            HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json");
            var response = await httpClient.PostAsync("https://api.sms.ir/v1/send/bulk", content);
            var result = await response.Content.ReadAsStringAsync();
          

JS

            var myHeaders = new Headers();
            myHeaders.append("X-API-KEY", "[YOURAPIKEY]");
            myHeaders.append("Content-Type", "application/json");
      
            var raw = JSON.stringify({
              "lineNumber": 300000000000,
              "messageText": "Your Text",
              "mobiles": [
                "Your Mobile 1",
                "Your Mobile 2"
              ],
              "sendDateTime": null
            });
      
            var requestOptions = {
              method: 'POST',
              headers: myHeaders,
              body: raw,
              redirect: 'follow'
            };
      
            fetch("https://api.sms.ir/v1/send/bulk", requestOptions)
              .then(response => response.text())
              .then(result => console.log(result))
              .catch(error => console.log('error', error));
        

Node.js

            var data = JSON.stringify({
                "lineNumber": 300000000000,
                "messageText": "Your Text",
                "mobiles": [
                  "Your Mobile 1",
                  "Your Mobile 2"
                ],
                "sendDateTime": null
              });
      
              var config = {
                method: 'post',
                url: 'https://api.sms.ir/v1/send/bulk',
                headers: {
                  'X-API-KEY': '[YOURAPIKEY]',
                  'Content-Type': 'application/json'
                },
                data : data
              };
      
              axios(config)
              .then(function (response) {
                console.log(JSON.stringify(response.data));
              })
              .catch(function (error) {
                console.log(error);
              });
        

PHP

                $curl = curl_init();

                curl_setopt_array($curl, array(
                CURLOPT_URL => 'https://api.sms.ir/v1/send/bulk',
                  CURLOPT_RETURNTRANSFER => true,
                  CURLOPT_ENCODING => '',
                  CURLOPT_MAXREDIRS => 10,
                  CURLOPT_TIMEOUT => 0,
                  CURLOPT_FOLLOWLOCATION => true,
                  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                  CURLOPT_CUSTOMREQUEST => 'POST',
                  CURLOPT_POSTFIELDS =>'{
                    "lineNumber": 300000000000,
                    "messageText": "Your Text",
                    "mobiles": [
                        "Your Mobile 1",
                        "Your Mobile 2"
                    ],
                    "sendDateTime": null
                }',
                  CURLOPT_HTTPHEADER => array(
                    'X-API-KEY: [YOURAPIKEY]',
                    'Content-Type: application/json'
                  ),
                ));
          
                $response = curl_exec($curl);
          
                curl_close($curl);
                echo $response;
            

Python

                conn = http.client.HTTPSConnection("api.sms.ir")
                payload = json.dumps({
                  "lineNumber": 300000000000,
                  "messageText": "Your Text",
                  "mobiles": [
                    "Your Mobile 1",
                    "Your Mobile 2"
                  ],
                  "sendDateTime": None
                })
                headers = {
                  'X-API-KEY': '[YOURAPIKEY]',
                  'Content-Type': 'application/json'
                }
                conn.request("POST", "/v1/send/bulk", payload, headers)
                res = conn.getresponse()
                data = res.read()
                print(data.decode("utf-8"))
            

java

                OkHttpClient client = new OkHttpClient().newBuilder()
                .build();
        MediaType mediaType = MediaType.parse("application/json");
        RequestBody body = RequestBody.create(mediaType, "{\r\n    \"lineNumber\": 300000000000,\r\n    \"messageText\": \"Your Text\",\r\n
         \"mobiles\": [\r\n        \"Your Mobile 1\",\r\n        \"Your Mobile 2\"\r\n    ],\r\n    \"sendDateTime\": null\r\n}");
        Request request = new Request.Builder()
                .url("https://api.sms.ir/v1/send/bulk")
                .method("POST", body)
                .addHeader("X-API-KEY", "[YOURAPIKEY]")
                .addHeader("Content-Type", "application/json")
                .build();
        Response response = client.newCall(request).execute();
            
URL:
                                                                            Request Method : POST
                                                                             

حداکثر تعداد مجاز شماره‌های مقصد 100 می‌باشد.
برای ارسال زمانبندی شده، انتخاب زمان گذشته نامعتبر می‌باشد.
برای ارسال زمانبندی شده ، زمان معتبر می تواند در بازه یک ساعت آینده تا حداکثر 3 روز آینده در نظر گرفته شود.

پارامترهای بدنه درخواست

توضیح نوع ارسال مشخصه
شماره خط ارسالی Long اجباری lineNumber
متن پیام کوتاه String اجباری MessageText
شماره موبایل‌ها Array of String اجباری Mobiles
زمان ارسال پیامک (در صورت خالی بودن، ارسال در لحظه انجام می‌شود) UnixTime اختیاری SendDateTime

مدل دیتای بازگشتی

توضیح نوع مشخصه
شناسه یکتای مجموعه ارسال Guid PackId
آرایه ای از شناسه های یکتای هر پیامک Array of Integer MessageIds
اعتبار مصرفی مجموعه ارسال Decimal Cost
Request Body
                                                                                    {
                                                                                        "lineNumber": 30004505000017,
                                                                                        "messageText": "سرویس پیامکی ایده پردازان با 10 سال سابقه همراه شماست",
                                                                                        "mobiles": [
                                                                                            "00912xxxx677",
                                                                                            "0919xxxx904"
                                                                                        ]
                                                                                    }
                                                                                        
                                                

Response Body
                                                                                        {
                                                                                            "status": 1,
                                                                                            "message": "موفق",
                                                                                            "data": {
                                                                                                "packId": "2b99e63c-9bf8-4a21-9bfe-3f72dc1b46f1",
                                                                                                "messageIds": [
                                                                                                    86522023,
                                                                                                    86522024
                                                                                                ],
                                                                                                "cost": 2.0
                                                                                            }
                                                                                          }
                                                                                            
                                                    

این متد برای ارسال یک متن پیامک به گروهی از شماره موبایل ها مورد استفاده قرار میگیرد. همچنین شما میتوانید با مقداردهی به پارامتر زمان ارسال، از قابلیت ارسال پیامک زمانبندی شده نیز استفاده نمایید.

نمونه کد

C#

                                        HttpClient httpClient = new HttpClient();
                                        httpClient.DefaultRequestHeaders.Add("x-api-key", "[YOURAPIKEY]");
                                        var payload = @"{" + "\n" +
                                        @"  ""lineNumber"": 300000000000," + "\n" +
                                        @"  ""messageTexts"": [" + "\n" +
                                        @"    ""Your Text 1""" + "\n" +
                                        @"  ]," + "\n" +
                                        @"  ""mobiles"": [" + "\n" +
                                        @"    ""Your Mobile 1""" + "\n" +
                                        @"  ]," + "\n" +
                                        @"  ""sendDateTime"": null" + "\n" +
                                        @"}";
                                        HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json");
                                        var response = await httpClient.PostAsync("https://api.sms.ir/v1/send/likeToLike", content);
                                        var result = await response.Content.ReadAsStringAsync();
                                    

JS

                                        var myHeaders = new Headers();
                                        myHeaders.append("Content-Type", "application/json");
                                        myHeaders.append("Accept", "text/plain");
                                        myHeaders.append("X-API-KEY", "[YOURAPIKEY]");
                                  
                                        var raw = JSON.stringify({
                                          "lineNumber": 300000000000,
                                          "messageTexts": [
                                            "Your Text 1",
                                            "Your Text 2"
                                          ],
                                          "mobiles": [
                                            "Your Mobile 1",
                                            "Your Mobile 1"
                                          ],
                                          "senddatetime": null
                                        });
                                  
                                        var requestOptions = {
                                          method: 'POST',
                                          headers: myHeaders,
                                          body: raw,
                                          redirect: 'follow'
                                        };
                                  
                                        fetch("https://api.sms.ir/v1/send/likeToLike", requestOptions)
                                          .then(response => response.text())
                                          .then(result => console.log(result))
                                          .catch(error => console.log('error', error));
                                  

Node.js

                                        var data = JSON.stringify({
                                            "lineNumber": 300000000000,
                                            "messageTexts": [
                                              "Your Text 1",
                                              "Your Text 2"
                                            ],
                                            "mobiles": [
                                              "Your Mobile 1",
                                              "Your Mobile 1"
                                            ],
                                            "senddatetime": null
                                          });
                                    
                                          var config = {
                                            method: 'post',
                                            url: 'https://api.sms.ir/v1/send/likeToLike',
                                            headers: {
                                              'Content-Type': 'application/json',
                                              'Accept': 'text/plain',
                                              'X-API-KEY': '[YOURAPIKEY]'
                                            },
                                            data : data
                                          };
                                    
                                          axios(config)
                                          .then(function (response) {
                                            console.log(JSON.stringify(response.data));
                                          })
                                          .catch(function (error) {
                                            console.log(error);
                                          });
                                  

PHP

                                        $curl = curl_init();
                            
                                        curl_setopt_array($curl, array(
                                          CURLOPT_URL => 'https://api.sms.ir/v1/send/likeToLike',
                                          CURLOPT_RETURNTRANSFER => true,
                                          CURLOPT_ENCODING => '',
                                          CURLOPT_MAXREDIRS => 10,
                                          CURLOPT_TIMEOUT => 0,
                                          CURLOPT_FOLLOWLOCATION => true,
                                          CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                                          CURLOPT_CUSTOMREQUEST => 'POST',
                                          CURLOPT_POSTFIELDS =>'{
                                            "lineNumber": 300000000000,
                                            "messageTexts": [
                                                "Your Text 1",
                                                "Your Text 2"
                                            ],
                                            "mobiles": [
                                                "Your Mobile 1",
                                                "Your Mobile 1"
                                            ],
                                            "senddatetime": null
                                        }',
                                          CURLOPT_HTTPHEADER => array(
                                            'Content-Type: application/json',
                                            'Accept: text/plain',
                                            'X-API-KEY: [YOURAPIKEY]'
                                          ),
                                        ));
                                
                                        $response = curl_exec($curl);
                                
                                        curl_close($curl);
                                        echo $response;
                                      

Python

                                        conn = http.client.HTTPSConnection("api.sms.ir")
                                        payload = json.dumps({
                                          "lineNumber": 300000000000,
                                          "messageTexts": [
                                            "Your Text 1",
                                            "Your Text 2"
                                          ],
                                          "mobiles": [
                                            "Your Mobile 1",
                                            "Your Mobile 1"
                                          ],
                                          "senddatetime": None
                                        })
                                        headers = {
                                          'Content-Type': 'application/json',
                                          'Accept': 'text/plain',
                                          'X-API-KEY': '[YOURAPIKEY]'
                                        }
                                        conn.request("POST", "/v1/send/likeToLike", payload, headers)
                                        res = conn.getresponse()
                                        data = res.read()
                                        print(data.decode("utf-8"))
                                      

java

                                        OkHttpClient client = new OkHttpClient().newBuilder()
                                        .build();
                                        MediaType mediaType = MediaType.parse("application/json");
                                        RequestBody body = RequestBody.create(mediaType, "{\n    \"lineNumber\": 300000000000,\n
                                        \"messageTexts\": [\n        \"Your Text 1\",\n        \"Your Text 2\"\n    ],\n
                                         \"mobiles\": [\n        \"Your Mobile 1\",\n        \"Your Mobile 1\"\n    ],\n    \"senddatetime\": null\n}");
                                        Request request = new Request.Builder()
                                          .url("https://api.sms.ir/v1/send/likeToLike")
                                          .method("POST", body)
                                          .addHeader("Content-Type", "application/json")
                                          .addHeader("Accept", "text/plain")
                                          .addHeader("X-API-KEY", "[YOURAPIKEY]")
                                          .build();
                                        Response response = client.newCall(request).execute();
                                      
URL:
                                                                                        Request Method : POST
                                                    
                                                    

حداکثر تعداد مجاز شماره‌های مقصد 100 می‌باشد.
عداد شماره موبایل‌ها و متن‌های پیامک باید برابر باشند.
رای ارسال زمانبندی شده، انتخاب زمان گذشته نامعتبر می‌باشد.
برای ارسال زمانبدی شده ، زمان معتبر می تواند در بازه یک ساعت آینده تا حداکثر 3 روز آینده در نظر گرفته شود.

پارامترهای بدنه درخواست

توضیح نوع ارسال مشخصه
شماره خط ارسالی Long اجباری lineNumber
متن پیام کوتاه String اجباری MessageText
شماره موبایل‌ها Array of String اجباری Mobiles
زمان ارسال پیامک (در صورت خالی بودن، ارسال در لحظه انجام می‌شود) UnixTime اختیاری SendDateTime

مدل دیتای بازگشتی

توضیح نوع مشخصه
شناسه یکتای مجموعه ارسال Guid PackId
شناسه یکتای مجموعه ارسال Array of Integer MessageIds
اعتبار مصرفی مجموعه ارسال Decimal Cost
Request Body
                                                                                        {
                                                                                            "lineNumber": "30004505000017",
                                                                                            "messageTexts": [
                                                                                                "سرویس پیامکی ایده پردازان با 10 سال سابقه همراه شماست",
                                                                                                "ipdemy.ir  پلتفرم آموزش آنلاین، آکادمی ایده پردازان"
                                                                                            ],
                                                                                            "mobiles": [
                                                                                                "912xxxx677",
                                                                                                "+98919xxxx904"
                                                                                            ]
                                                                                        }
                    
Response Body

                                                                                                {
                                                                                                    "status": 1,
                                                                                                    "message": "موفق",
                                                                                                    "data": {
                                                                                                        "packId": "2b99e63c-9bf8-4a21-9bfe-3f72dc1b46f1",
                                                                                                        "messageIds": [
                                                                                                            86522023,
                                                                                                            86522024
                                                                                                        ],
                                                                                                        "cost": 2.0
                                                                                                    }
                                                                                                  }

حذف ارسال زمانبندی شده

به‌منظور حذف و انصراف از ارسال زمانبندی شده می‌توانید از متد زیر استفاده نمایید. در این متد، شناسه مجموعه ارسال (packId) دریافتی از خروجی ارسال گروهی یا نظیر به نظیر، مورد استفاده قرار می‌گیرد.

نمونه کد

C#

                                            HttpClient httpClient = new HttpClient();
                                            httpClient.DefaultRequestHeaders.Add("x-api-key", "[YOURAPIKEY]");
                                            var response = await httpClient.DeleteAsync("https://api.sms.ir/v1/send/scheduled/:Packid");
                                            var result = await response.Content.ReadAsStringAsync();
                                        

JS

                                            var myHeaders = new Headers();
                                            myHeaders.append("Accept", "text/plain");
                                            myHeaders.append("X-API-KEY", "[YOURAPIKEY]");
                                      
                                            var requestOptions = {
                                              method: 'DELETE',
                                              headers: myHeaders,
                                              redirect: 'follow'
                                            };
                                      
                                            fetch("https://api.sms.ir/v1/send/scheduled/:Packid", requestOptions)
                                              .then(response => response.text())
                                              .then(result => console.log(result))
                                              .catch(error => console.log('error', error));
                                      

Node.js

                                            var config = {
                                                method: 'delete',
                                                url: 'https://api.sms.ir/v1/send/scheduled/:Packid',
                                                headers: {
                                                  'Accept': 'text/plain',
                                                  'X-API-KEY': '[YOURAPIKEY]'
                                                }
                                              };
                                        
                                              axios(config)
                                              .then(function (response) {
                                                console.log(JSON.stringify(response.data));
                                              })
                                              .catch(function (error) {
                                                console.log(error);
                                              });
                                      

PHP

                                            $curl = curl_init();
                                
                                            curl_setopt_array($curl, array(
                                              CURLOPT_URL => 'https://api.sms.ir/v1/send/scheduled/:Packid',
                                              CURLOPT_RETURNTRANSFER => true,
                                              CURLOPT_ENCODING => '',
                                              CURLOPT_MAXREDIRS => 10,
                                              CURLOPT_TIMEOUT => 0,
                                              CURLOPT_FOLLOWLOCATION => true,
                                              CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                                              CURLOPT_CUSTOMREQUEST => 'DELETE',
                                              CURLOPT_HTTPHEADER => array(
                                                'Accept: text/plain',
                                                'X-API-KEY: [YOURAPIKEY]'
                                              ),
                                            ));
                                    
                                            $response = curl_exec($curl);
                                    
                                            curl_close($curl);
                                            echo $response;
                                          

Python

                                            conn = http.client.HTTPSConnection("api.sms.ir")
                                            payload = ''
                                            headers = {
                                              'Accept': 'text/plain',
                                              'X-API-KEY': '[YOURAPIKEY]'
                                            }
                                            conn.request("DELETE", "/v1/send/scheduled/:Packid", payload, headers)
                                            res = conn.getresponse()
                                            data = res.read()
                                            print(data.decode("utf-8"))
                                          

java

                                            OkHttpClient client = new OkHttpClient().newBuilder()
                                            .build();
                                            MediaType mediaType = MediaType.parse("text/plain");
                                            RequestBody body = RequestBody.create(mediaType, "");
                                            Request request = new Request.Builder()
                                              .url("https://api.sms.ir/v1/send/scheduled/:Packid")
                                              .method("DELETE", body)
                                              .addHeader("Accept", "text/plain")
                                              .addHeader("X-API-KEY", "[YOURAPIKEY]")
                                              .build();
                                            Response response = client.newCall(request).execute();
                                          
URL:

                                                                                Request Method : DELETE
                      

حداکثر تا 3 دقیقه مانده به زمان ارسال زمانبندی شده، مجاز به لغو آن می‌باشید.

پارامترهای بدنه درخواست

توضیح نوع ارسال مشخصه
شناسه مجموعه ارسال Guid اجباری PackId

مدل دیتای بازگشتی

توضیح نوع مشخصه
مقدار اعتبار بازگشتی Decimal ReturnedCreditCount
تعداد پیامک ها Integer SmsCount

URL:

Response Body
                                                                                                        {
                                                                                                            "status": 1,
                                                                                                            "message": "موفق",
                                                                                                            "data": {
                                                                                                              "returnedCreditCount": 10.0,
                                                                                                              "smsCount": 5
                                                                                                            }
                                                                                                          }                                                                                                    

ارسال VERIFY

با استفاده از این متد شما قادر به ارسال پیامک به منظور ارسال کد اعتبارسنجی (verification code)، کد تایید، فاکتور خرید و به طور کلی پیامک‌هایی با اولویت بالا و پارامترهای پویا می‌باشید. از آنجایی که این نوع از ارسال با خطوط خدماتی ارسال میشود امکان دریافت آن توسط افرادی که پیامک‌های تبلیغاتی خود را مسدود کرده‌اند نیز وجود دارد و با اولویت بالایی ارسال خواهد شد.برای استفاده از این نوع ارسال ابتدا قالب پیامک خود را در پنل (بخش ارسال سریع) مشخص نمایید.

نمونه کد

C#

            HttpClient httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Add("x-api-key", "[YOURAPIKEY]");
            var payload = @"{" + "\n" +
            @"  ""mobile"": ""Your Mobile""," + "\n" +
            @"  ""templateId"": 100000," + "\n" +
            @"  ""parameters"": [" + "\n" +
            @"    {" + "\n" +
            @"      ""name"": ""CODE""," + "\n" +
            @"      ""value"": ""1234""" + "\n" +
            @"    }" + "\n" +
            @"  ]" + "\n" +
            @"}";
            HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json");
            var response = await httpClient.PostAsync("https://api.sms.ir/v1/send/verify", content);
            var result = await response.Content.ReadAsStringAsync();
        

JS

            var myHeaders = new Headers();
            myHeaders.append("Content-Type", "application/json");
            myHeaders.append("Accept", "text/plain");
            myHeaders.append("x-api-key", "[YOURAPIKEY]");
      
             var raw = JSON.stringify({
                "mobile": "Your Mobile",
                "templateId": "YourTemplateID",
                "parameters": [
                  {name: 'PARAMETER1' , value: '000000'},
                  {name: 'PARAMETER2' , value: '000000'}
                ],
              });
      
            var requestOptions = {
              method: 'POST',
              headers: myHeaders,
              body: raw,
              redirect: 'follow'
            };
      
            fetch("https://api.sms.ir/v1/send/verify", requestOptions)
              .then(response => response.text())
              .then(result => console.log(result))
              .catch(error => console.log('error', error));
      

Node.js

            var data = JSON.stringify({
                "mobile": "Your Mobile",
                "templateId": "YourTemplateID",
                "parameters": [
                  {name: 'PARAMETER1' , value: '000000'},
                  {name: 'PARAMETER2' , value: '000000'}
                ],
              });
      
            var config = {
              method: 'post',
              url: 'https://api.sms.ir/v1/send/verify',
              headers: {
                'Content-Type': 'application/json',
                'Accept': 'text/plain',
                'x-api-key': '[YOURAPIKEY]'
              },
              data : data
            };
      
            axios(config)
            .then(function (response) {
              console.log(JSON.stringify(response.data));
            })
            .catch(function (error) {
              console.log(error);
            });
      

PHP

            $curl = curl_init();

            curl_setopt_array($curl, array(
              CURLOPT_URL => 'https://api.sms.ir/v1/send/verify',
              CURLOPT_RETURNTRANSFER => true,
              CURLOPT_ENCODING => '',
              CURLOPT_MAXREDIRS => 10,
              CURLOPT_TIMEOUT => 0,
              CURLOPT_FOLLOWLOCATION => true,
              CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
              CURLOPT_CUSTOMREQUEST => 'POST',
              CURLOPT_POSTFIELDS =>'{
              "mobile": "Your Mobile",
              "templateId": YourTemplateID,
              "parameters": [
                {
                  "name": "PARAMETER1",
                  "value": "000000"
                },
                {
                    "name":"PARAMETER2",
                    "value":"000000"
                }
              ]
            }',
              CURLOPT_HTTPHEADER => array(
                'Content-Type: application/json',
                'Accept: text/plain',
                'x-api-key: [YOURAPIKEY]'
              ),
            ));
      
            $response = curl_exec($curl);
      
            curl_close($curl);
            echo $response;
          

Python

            conn = http.client.HTTPSConnection("api.sms.ir")
            payload = "{\n  \"mobile\": \"Your Mobile\",\n  \"templateId\": YourTemplateID,\n
             \"parameters\": [\n    {\n      \"name\": \"PARAMETER1\",\n      \"value\": \"000000\"\n    },
             \n    {\n        \"name\":\"PARAMETER2\",\n        \"value\":\"000000\"\n    }\n  ]\n}"
            headers = {
              'Content-Type': 'application/json',
              'Accept': 'text/plain',
              'x-api-key': '[YOURAPIKEY]'
            }
            conn.request("POST", "/v1/send/verify", payload, headers)
            res = conn.getresponse()
            data = res.read()
            print(data.decode("utf-8"))
          

java

            OkHttpClient client = new OkHttpClient().newBuilder()
            .build();
            MediaType mediaType = MediaType.parse("application/json");
            RequestBody body = RequestBody.create(mediaType, "{\n  \"mobile\": \"Your Mobile\",\n
             \"templateId\": YourTemplateID,\n
              \"parameters\": [\n    {\n      \"name\": \"PARAMETER1\",\n
               \"value\": \"000000\"\n    },\n    {\n
                \"name\":\"PARAMETER2\",\n
                 \"value\":\"000000\"\n    }\n  ]\n}");
            Request request = new Request.Builder()
              .url("https://api.sms.ir/v1/send/verify")
              .method("POST", body)
              .addHeader("Content-Type", "application/json")
              .addHeader("Accept", "text/plain")
              .addHeader("x-api-key", "[YOURAPIKEY]")
              .build();
            Response response = client.newCall(request).execute();
          
URL:

Response Body

                                                                                                      Request Method :  POST
                                                                                           

پارامترهای بدنه درخواست

توضیح نوع ارسال مشخصه
شماره موبایل String اجباری Mobile
شناسه قالب (قالب ها از طریق پنل قابل تعریف و مدیریت می‌باشند) Integer اجباری TemplateId
آرایه ای از مدل parameter برای تعیین مقادیر جایگزین شونده در قالب تعریف شده (ساختار مدل parameter در جدول زیر ذکر شده است) Array of Parameter Model اجباری Parameters

مدل Parameter

توضیح نوع ارسال مشخصه
کلید تعیین شده در قالب (بدون در نظر گرفتن # در ابتدا و انتهای آن) String اجباری Name
مقدار کلید تعیین شده برای جایگزینی در قالب پیامک String اجباری Value

مدل دیتای بازگشتی

توضیح نوع مشخصه
شناسه یکتای پیامک Integer MessageId
اعتبار مصرفی ارسال Decimal Cost

Request Body
                                                                                                                {
                                                                                                                    "mobile": "919xxxx904",
                                                                                                                    "templateId": 100000,
                                                                                                                    "parameters": [
                                                                                                                      {
                                                                                                                        "name": "Code",
                                                                                                                        "value": "12345"
                                                                                                                      }
                                                                                                                    ]
                                                                                                                  }
                                                                                                                         
                                                                                                                        
                                                                                
Response Body

                                                                                                                {
                                                                                                                    "status": 1,
                                                                                                                    "message": "موفق",
                                                                                                                    "data": {
                                                                                                                        "messageId": 89545112,
                                                                                                                        "cost": 1.0
                                                                                                                    }
                                                                                                                  }      
                                                                                                                        
                                                                                

گزارش ها

گزارش پیامک دریافت وضعیت

شما میتوانید با استفاده از شناسه یکتای پیامک که پس از انجام هریک از ارسال‌ها دریافت کرده‌اید، با فراخوانی این متد، به دریافت اطلاعات پیامک و همینطور اطلاع از وضعیت (Delivery) آن اقدام نمایید.

نمونه کد

C#

            HttpClient httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Add("x-api-key", "[YOURAPIKEY]");
            var response = await httpClient.GetAsync("https://api.sms.ir/v1/send/:MessageID");
            var result = await response.Content.ReadAsStringAsync();
        

JS

            var myHeaders = new Headers();
            myHeaders.append("X-API-KEY", "[YOURAPIKEY]");
      
            var requestOptions = {
              method: 'GET',
              headers: myHeaders,
              redirect: 'follow'
            };
      
            fetch("https://api.sms.ir/v1/send/:MessageID", requestOptions)
              .then(response => response.text())
              .then(result => console.log(result))
              .catch(error => console.log('error', error));
      

Node.js

            var config = {
                method: 'get',
                url: 'https://api.sms.ir/v1/send/:MessageID',
                headers: {
                  'X-API-KEY': '[YOURAPIKEY]'
                }
              };
        
              axios(config)
              .then(function (response) {
                console.log(JSON.stringify(response.data));
              })
              .catch(function (error) {
                console.log(error);
              });
      

PHP

            $curl = curl_init();

            curl_setopt_array($curl, array(
              CURLOPT_URL => 'https://api.sms.ir/v1/send/:MessageID',
              CURLOPT_RETURNTRANSFER => true,
              CURLOPT_ENCODING => '',
              CURLOPT_MAXREDIRS => 10,
              CURLOPT_TIMEOUT => 0,
              CURLOPT_FOLLOWLOCATION => true,
              CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
              CURLOPT_CUSTOMREQUEST => 'GET',
              CURLOPT_HTTPHEADER => array(
                'X-API-KEY: [YOURAPIKEY]'
              ),
            ));
      
            $response = curl_exec($curl);
      
            curl_close($curl);
            echo $response;
          

Python

            conn = http.client.HTTPSConnection("api.sms.ir")
            payload = ''
            headers = {
              'X-API-KEY': '[YOURAPIKEY]'
            }
            conn.request("GET", "/v1/send/:MessageID", payload, headers)
            res = conn.getresponse()
            data = res.read()
            print(data.decode("utf-8"))
          

java

            OkHttpClient client = new OkHttpClient().newBuilder()
            .build();
            MediaType mediaType = MediaType.parse("text/plain");
            RequestBody body = RequestBody.create(mediaType, "");
            Request request = new Request.Builder()
              .url("https://api.sms.ir/v1/send/:MessageID")
              .method("GET", body)
              .addHeader("X-API-KEY", "[YOURAPIKEY]")
              .build();
            Response response = client.newCall(request).execute();
          
URL:

                                                                                            Request Method: GET
                                                                                        

پارامترهای درخواست

توضیح نوع ارسال مشخصه
شماره خط ارسالی Long اجباری lineNumber
متن پیام کوتاه String اجباری MessageText
شماره موبایل‌ها Array of String اجباری Mobiles
زمان ارسال پیامک (در صورت خالی بودن، ارسال در لحظه انجام می‌شود) UnixTime اختیاری SendDateTime

مدل دیتای بازگشتی

توضیح نوع مشخصه
شناسه یکتای پیامک Integer MessageId
شماره موبایل Long Mobile
متن پیامک String MessageText
زمان ارسال Integer (UnixTime) SendDateTime
شماره خط Long LineNumber
اعتبار کسر شده Decimal Cost
وضعیت دلیوری Nullable Byte DeliveryState
زمان دلیوری Nullable Integer (UnixTime) DeliveryDateTime
URL:

Response Body
                                                                                                            {
                                                                                                                "status": 1,
                                                                                                                "message": "موفق",
                                                                                                                "data": {
                                                                                                                    "messageId": 89545112,
                                                                                                                    "mobile": 912xxxx677,
                                                                                                                    "messageText": "سرویس پیامکی ایده پردازان با 10 سال سابقه همراه شماست",
                                                                                                                    "sendDateTime": 1628683626,
                                                                                                                    "lineNumber": 30004505000017,
                                                                                                                    "cost": 1.0,
                                                                                                                    "deliveryState": 1,
                                                                                                                    "deliveryDateTime": 1628683629
                                                                                                                }
                                                                                                              }
                                                                                                                    
                                                                            

گزارش مجموعه ارسال های روز

شما می‌توانید با استفاده از این گزارش اطلاعات کلی مجموعه ارسال‌های روز جاری را دریافت نمایید.

نمونه کد

C#

            HttpClient httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Add("x-api-key", "[YOURAPIKEY]");
            var response = await httpClient.GetAsync("https://api.sms.ir/v1/send/pack?pageNumber=1&pageSize=100");
            var result = await response.Content.ReadAsStringAsync();
        

JS

            var myHeaders = new Headers();
            myHeaders.append("Accept", "text/plain");
            myHeaders.append("X-API-KEY", "[YOURAPIKEY]");
      
            var requestOptions = {
              method: 'GET',
              headers: myHeaders,
              redirect: 'follow'
            };
      
            fetch("https://api.sms.ir/v1/send/pack?pageNumber=1&pageSize=100", requestOptions)
              .then(response => response.text())
              .then(result => console.log(result))
              .catch(error => console.log('error', error));
      

Node.js

            var config = {
                method: 'get',
                url: 'https://api.sms.ir/v1/send/pack?pageNumber=1&pageSize=100',
                headers: {
                  'Accept': 'text/plain',
                  'X-API-KEY': '[YOURAPIKEY]'
                }
              };
        
              axios(config)
              .then(function (response) {
                console.log(JSON.stringify(response.data));
              })
              .catch(function (error) {
                console.log(error);
              });
      

PHP

            $curl = curl_init();

            curl_setopt_array($curl, array(
              CURLOPT_URL => 'https://api.sms.ir/v1/send/pack?pageNumber=1&pageSize=100',
              CURLOPT_RETURNTRANSFER => true,
              CURLOPT_ENCODING => '',
              CURLOPT_MAXREDIRS => 10,
              CURLOPT_TIMEOUT => 0,
              CURLOPT_FOLLOWLOCATION => true,
              CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
              CURLOPT_CUSTOMREQUEST => 'GET',
              CURLOPT_HTTPHEADER => array(
                'Accept: text/plain',
                'X-API-KEY: [YOURAPIKEY]',
              ),
            ));
      
            $response = curl_exec($curl);
      
            curl_close($curl);
            echo $response;
          

Python

            conn = http.client.HTTPSConnection("api.sms.ir")
            payload = ''
            headers = {
              'Accept': 'text/plain',
              'X-API-KEY': '[YOURAPIKEY]'
            }
            conn.request("GET", "/v1/send/pack?pageNumber=1&pageSize=100", payload, headers)
            res = conn.getresponse()
            data = res.read()
            print(data.decode("utf-8"))
          

java

            OkHttpClient client = new OkHttpClient().newBuilder()
            .build();
            MediaType mediaType = MediaType.parse("text/plain");
            RequestBody body = RequestBody.create(mediaType, "");
            Request request = new Request.Builder()
              .url("https://api.sms.ir/v1/send/pack?pageNumber=1&pageSize=100")
              .method("GET", body)
              .addHeader("Accept", "text/plain")
              .addHeader("X-API-KEY", "[YOURAPIKEY]")
              .build();
            Response response = client.newCall(request).execute();
          
URL:
                Request Method : GET
            

پارامترهای درخواست

توضیح نوع ارسال مشخصه
تعداد آیتم‌های در صفحه (مقدار پیشفرض 100 می‌باشد) Integer اختیاری PageSize
شماره صفحه درخواستی (مقدار پیشفرض 1 می‌باشد) Integer اختیاری PageNumber

مدل دیتای بازگشتی (آرایه‌ای از مدل زیر)

توضیح نوع مشخصه
شناسه مجموعه GUID packId
تعداد مخاطبان Number recipientCount
زمان ایجاد Number creationDateTime
URL:

Response Body
                                                                                                            {
                                                                                                                "status": 1,
                                                                                                                "message": "موفق",
                                                                                                                "data": [{
                                                                                                                    "packId": e7c09e23f0db4834b9bcb79e7b054f4c,
                                                                                                                    "recipientCount": 100,
                                                                                                                    "creationDateTime": 1628683626,
                                                                                                                },{
                                                                                                                   "packId": 0cf3017fd9d84babbb5ed5579104dab2,
                                                                                                                    "recipientCount": 200,
                                                                                                                    "creationDateTime": 1628683626,
                                                                                                                }]
                                                                                                              }
                                                                                                                              
                    

گزارش مجموعه ارسال

شما میتوانید با استفاده از شناسه مجموعه ارسال، گزارشی از پیامک‌های ارسالی در آن درخواست به‌ همراه وضعیت‌هایشان را دریافت نمایید.

نمونه کد

C#

            HttpClient httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Add("x-api-key", "[YOURAPIKEY]");
            var response = await httpClient.GetAsync("https://api.sms.ir/v1/send/pack/:PackID");
            var result = await response.Content.ReadAsStringAsync();
        

JS

            var myHeaders = new Headers();
            myHeaders.append("PageSize", "2");
            myHeaders.append("X-API-KEY", "[YOURAPIKEY]");
      
            var requestOptions = {
              method: 'GET',
              headers: myHeaders,
              redirect: 'follow'
            };
      
            fetch("https://api.sms.ir/v1/send/pack/:PackID", requestOptions)
              .then(response => response.text())
              .then(result => console.log(result))
              .catch(error => console.log('error', error));
      

Node.js

            var config = {
                method: 'get',
                url: 'https://api.sms.ir/v1/send/pack/:PackID',
                headers: {
                  'PageSize': '2',
                  'X-API-KEY': '[YOURAPIKEY]'
                }
              };
        
              axios(config)
              .then(function (response) {
                console.log(JSON.stringify(response.data));
              })
              .catch(function (error) {
                console.log(error);
              });
      

PHP

            $curl = curl_init();

            curl_setopt_array($curl, array(
              CURLOPT_URL => 'https://api.sms.ir/v1/send/pack/:PackID',
              CURLOPT_RETURNTRANSFER => true,
              CURLOPT_ENCODING => '',
              CURLOPT_MAXREDIRS => 10,
              CURLOPT_TIMEOUT => 0,
              CURLOPT_FOLLOWLOCATION => true,
              CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
              CURLOPT_CUSTOMREQUEST => 'GET',
              CURLOPT_HTTPHEADER => array(
                'PageSize: 2',
                'X-API-KEY: [YOURAPIKEY]'
              ),
            ));
      
            $response = curl_exec($curl);
      
            curl_close($curl);
            echo $response;
          

Python

            conn = http.client.HTTPSConnection("api.sms.ir")
            payload = ''
            headers = {
              'PageSize': '2',
              'X-API-KEY': '[YOURAPIKEY]'
            }
            conn.request("GET", "/v1/send/pack/:PackID", payload, headers)
            res = conn.getresponse()
            data = res.read()
            print(data.decode("utf-8"))
          

java

            OkHttpClient client = new OkHttpClient().newBuilder()
            .build();
            MediaType mediaType = MediaType.parse("text/plain");
            RequestBody body = RequestBody.create(mediaType, "");
            Request request = new Request.Builder()
              .url("https://api.sms.ir/v1/send/pack/:PackID")
              .method("GET", body)
              .addHeader("PageSize", "2")
              .addHeader("X-API-KEY", "[YOURAPIKEY]")
              .build();
            Response response = client.newCall(request).execute();
          
URL:
                                                                                                    Request Method : GET
                                                                                                

پارامترهای درخواست

توضیح نوع ارسال مشخصه
شناسه مجموعه ارسال Guid اجباری PackId

مدل دیتای بازگشتی (آرایه‌ای از مدل زیر)

توضیح نوع مشخصه
شناسه یکتای پیامک Integer MessageId
شماره موبایل Long Mobile
متن پیامک String MessageText
زمان ارسال Integer (UnixTime) SendDateTime
شماره خط Long LineNumber
اعتبار کسر شده Decimal Cost
اعتبار کسر شده Decimal Cost
وضعیت دلیوری Nullable Byte DeliveryState
زمان دلیوری Nullable Integer (UnixTime) DeliveryDateTime
URL:

Response Body

                                                                                                            {
                                                                                                                "status": 1,
                                                                                                                "message": "موفق",
                                                                                                                "data": [{
                                                                                                                    "messageId": 89545112,
                                                                                                                    "mobile": 912xxxx677,
                                                                                                                    "messageText": "سرویس پیامکی ایده پردازان با 10 سال سابقه همراه شماست",
                                                                                                                    "sendDateTime": 1628683626,
                                                                                                                    "lineNumber": 30004505000017,
                                                                                                                    "cost": 1.0,
                                                                                                                    "deliveryState": 1,
                                                                                                                    "deliveryDateTime": 1628683629
                                                                                                                },{
                                                                                                                    "messageId": 89545113,
                                                                                                                    "mobile": 919xxxx378,
                                                                                                                    "messageText": "ipdemy.ir پلتفرم آموزش آنلاین، آکادمی ایده پردازان",
                                                                                                                    "sendDateTime": 1628683626,
                                                                                                                    "lineNumber": 30004505000017,
                                                                                                                    "cost": 1.0,
                                                                                                                    "deliveryState": 3,
                                                                                                                    "deliveryDateTime": 1628683625
                                                                                                                }]
                                                                                                              }
                                                                                                                
                                                                        

گزارش ارسال های روز

شبا استفاده از متد زیر، گزارشی از ارسال‌های انجام شده در روز جاری قابل دریافت است.

نمونه کد

C#

            HttpClient httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Add("x-api-key", "[YOURAPIKEY]");
            var response = await httpClient.GetAsync("https://api.sms.ir/v1/send/live?pageNumber=1&pageSize=100");
            var result = await response.Content.ReadAsStringAsync();
        

JS

            var myHeaders = new Headers();
            myHeaders.append("Accept", "text/plain");
            myHeaders.append("X-API-KEY", "[YOURAPIKEY]");
      
            var requestOptions = {
              method: 'GET',
              headers: myHeaders,
              redirect: 'follow'
            };
      
            fetch("https://api.sms.ir/v1/send/live?pageNumber=1&pageSize=20", requestOptions)
              .then(response => response.text())
              .then(result => console.log(result))
              .catch(error => console.log('error', error));
      

Node.js

            var config = {
                method: 'get',
                url: 'https://api.sms.ir/v1/send/live?pageNumber=1&pageSize=20',
                headers: {
                  'Accept': 'text/plain',
                  'X-API-KEY': '[YOURAPIKEY]'
                }
              };
        
              axios(config)
              .then(function (response) {
                console.log(JSON.stringify(response.data));
              })
              .catch(function (error) {
                console.log(error);
              });
        
      

PHP

            $curl = curl_init();

            curl_setopt_array($curl, array(
              CURLOPT_URL => 'https://api.sms.ir/v1/send/live?pageNumber=1&pageSize=20',
              CURLOPT_RETURNTRANSFER => true,
              CURLOPT_ENCODING => '',
              CURLOPT_MAXREDIRS => 10,
              CURLOPT_TIMEOUT => 0,
              CURLOPT_FOLLOWLOCATION => true,
              CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
              CURLOPT_CUSTOMREQUEST => 'GET',
              CURLOPT_HTTPHEADER => array(
                'Accept: text/plain',
                'X-API-KEY: [YOURAPIKEY]'
              ),
            ));
      
            $response = curl_exec($curl);
      
            curl_close($curl);
            echo $response;
          

Python

            conn = http.client.HTTPSConnection("api.sms.ir")
            payload = ''
            headers = {
              'Accept': 'text/plain',
              'X-API-KEY': '[YOURAPIKEY]'
            }
            conn.request("GET", "/v1/send/live?pageNumber=1&pageSize=20", payload, headers)
            res = conn.getresponse()
            data = res.read()
            print(data.decode("utf-8"))
          

java

            OkHttpClient client = new OkHttpClient().newBuilder()
            .build();
            MediaType mediaType = MediaType.parse("text/plain");
            RequestBody body = RequestBody.create(mediaType, "");
            Request request = new Request.Builder()
              .url("https://api.sms.ir/v1/send/live?pageNumber=1&pageSize=20")
              .method("GET", body)
              .addHeader("Accept", "text/plain")
              .addHeader("X-API-KEY", "[YOURAPIKEY]")
              .build();
            Response response = client.newCall(request).execute();
          
URL:

                                                                                                 Request Method : GET
                                                                        

پارامترهای درخواست

توضیح نوع ارسال مشخصه
تعداد آیتم‌های در صفحه (مقدار پیشفرض 10 می‌باشد) Integer اختیاری PageSize
شماره صفحه درخواستی (مقدار پیشفرض 1 می‌باشد) Integer اختیاری PageNumber

مدل دیتای بازگشتی (آرایه‌ای از مدل زیر)

توضیح نوع مشخصه
شناسه یکتای پیامک Integer MessageId
شماره موبایل Long Mobile
متن پیامک String MessageText
زمان ارسال Integer (UnixTime) SendDateTime
شماره خط Long LineNumber
اعتبار کسر شده Decimal Cost
وضعیت دلیوری Nullable Byte DeliveryState
زمان دلیوری Nullable Integer (UnixTime) DeliveryDateTime
URL:

Response Body
                                                                                                    {
                                                                                                        "status": 1,
                                                                                                        "message": "موفق",
                                                                                                        "data": [{
                                                                                                            "messageId": 89545112,
                                                                                                            "mobile": 912xxxx677,
                                                                                                            "messageText": "سرویس پیامکی ایده پردازان با 10 سال سابقه همراه شماست",
                                                                                                            "sendDateTime": 1628683626,
                                                                                                            "lineNumber": 30004505000017,
                                                                                                            "cost": 1.0,
                                                                                                            "deliveryState": 1,
                                                                                                            "deliveryDateTime": 1628683629
                                                                                                        },{
                                                                                                            "messageId": 89545113,
                                                                                                            "mobile": 919xxxx378,
                                                                                                            "messageText": "ipdemy.ir پلتفرم آموزش آنلاین، آکادمی ایده پردازان",
                                                                                                            "sendDateTime": 1628683626,
                                                                                                            "lineNumber": 30004505000017,
                                                                                                            "cost": 1.0,
                                                                                                            "deliveryState": 3,
                                                                                                            "deliveryDateTime": 1628683625
                                                                                                        }]
                                                                                                    }
                                                                                                                   
                                                                                                        
                                                                

گزارش ارسال های آرشیو شده

شبا فراخوانی متد زیر، گزارشی از ارسال‌های انجام شده در گذشته (تا انتهای روز قبل)، را دریافت خواهید نمود.

نمونه کد

C#

            HttpClient httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Add("x-api-key", "[YOURAPIKEY]");
            var response = await httpClient.GetAsync("https://api.sms.ir/v1/send/archive?pageNumber=1&pageSize=100&fromDate=1669753800&toDate=1672814257");
            var result = await response.Content.ReadAsStringAsync();
        

JS

            var myHeaders = new Headers();
            myHeaders.append("Accept", "text/plain");
            myHeaders.append("X-API-KEY", "[YOURAPIKEY]");
      
            var requestOptions = {
              method: 'GET',
              headers: myHeaders,
              redirect: 'follow'
            };
      
            fetch("https://api.sms.ir/v1/send/archive?pageNumber=1&pageSize=100&fromDate=1650016645&toDate=1650880645", requestOptions)
              .then(response => response.text())
              .then(result => console.log(result))
              .catch(error => console.log('error', error));
      

Node.js

            var config = {
                method: 'get',
                url: 'https://api.sms.ir/v1/send/archive?pageNumber=1&pageSize=100&fromDate=1650016645&toDate=1650880645',
                headers: {
                  'Accept': 'text/plain',
                  'X-API-KEY': '[YOURAPIKEY]'
                }
              };
        
              axios(config)
              .then(function (response) {
                console.log(JSON.stringify(response.data));
              })
              .catch(function (error) {
                console.log(error);
              });
      

PHP

            $curl = curl_init();

            curl_setopt_array($curl, array(
              CURLOPT_URL => 'https://api.sms.ir/v1/send/archive?pageNumber=1&pageSize=100&fromDate=1650016645&toDate=1650880645',
              CURLOPT_RETURNTRANSFER => true,
              CURLOPT_ENCODING => '',
              CURLOPT_MAXREDIRS => 10,
              CURLOPT_TIMEOUT => 0,
              CURLOPT_FOLLOWLOCATION => true,
              CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
              CURLOPT_CUSTOMREQUEST => 'GET',
              CURLOPT_HTTPHEADER => array(
                'Accept: text/plain',
                'X-API-KEY: [YOURAPIKEY]'
              ),
            ));
      
            $response = curl_exec($curl);
      
            curl_close($curl);
            echo $response;
          

Python

            conn = http.client.HTTPSConnection("api.sms.ir")
            payload = ''
            headers = {
              'Accept': 'text/plain',
              'X-API-KEY': '[YOURAPIKEY]'
            }
            conn.request("GET", "/v1/send/archive?pageNumber=1&pageSize=100&fromDate=1650016645&toDate=1650880645", payload, headers)
            res = conn.getresponse()
            data = res.read()
            print(data.decode("utf-8"))
          

java

            OkHttpClient client = new OkHttpClient().newBuilder()
            .build();
            MediaType mediaType = MediaType.parse("text/plain");
            RequestBody body = RequestBody.create(mediaType, "");
            Request request = new Request.Builder()
              .url("https://api.sms.ir/v1/send/archive?pageNumber=1&pageSize=100&fromDate=1650016645&toDate=1650880645")
              .method("GET", body)
              .addHeader("Accept", "text/plain")
              .addHeader("X-API-KEY", "[YOURAPIKEY]")
              .build();
            Response response = client.newCall(request).execute();
          
URL:

 Request Method :  GET   

پارامترهای درخواست

توضیح نوع ارسال مشخصه
از تاریخ Integer (UnixTime) اختیاری FromDate
تا تاریخ Integer (UnixTime) اختیاری ToDate
تعداد آیتم‌های در صفحه (مقدار پیشفرض 10 می‌باشد) Integer اختیاری PageSize
شماره صفحه درخواستی (مقدار پیشفرض 1 می‌باشد) Integer اختیاری PageNumber

مدل دیتای بازگشتی (آرایه‌ای از مدل زیر)

توضیح نوع مشخصه
شناسه یکتای پیامک Integer MessageId
شماره موبایل Long Mobile
متن پیامک String MessageText
زمان ارسال Integer (UnixTime) SendDateTime
شماره خط Long LineNumber
اعتبار کسر شده Decimal Cost
وضعیت دلیوری Nullable Byte DeliveryState
زمان دلیوری Nullable Integer (UnixTime) DeliveryDateTime
URL:

Response Body
                                                                                                        {
                                                                                                            "status": 1,
                                                                                                            "message": "موفق",
                                                                                                            "data": [{
                                                                                                                "messageId": 89545112,
                                                                                                                "mobile": 912xxxx677,
                                                                                                                "messageText": "سرویس پیامکی ایده پردازان با 10 سال سابقه همراه شماست",
                                                                                                                "sendDateTime": 1628583626,
                                                                                                                "lineNumber": 30004505000017,
                                                                                                                "cost": 1.0,
                                                                                                                "deliveryState": 1,
                                                                                                                "deliveryDateTime": 1628683629
                                                                                                            },{
                                                                                                                "messageId": 89545113,
                                                                                                                "mobile": 919xxxx378,
                                                                                                                "messageText": "ipdemy.ir پلتفرم آموزش آنلاین، آکادمی ایده پردازان",
                                                                                                                "sendDateTime": 1628583626,
                                                                                                                "lineNumber": 30004505000017,
                                                                                                                "cost": 1.0,
                                                                                                                "deliveryState": 3,
                                                                                                                "deliveryDateTime": 1628683625
                                                                                                            },{
                                                                                                                "messageId": 89545114,
                                                                                                                "mobile": 921xxxx432,
                                                                                                                "messageText": "HyperBox.irفروشگاه اینترنتی اسباب بازی و عروسک ",
                                                                                                                "sendDateTime": 1628583626,
                                                                                                                "lineNumber": 30004505000017,
                                                                                                                "cost": 1.0,
                                                                                                                "deliveryState": 1,
                                                                                                                "deliveryDateTime": 1628683669
                                                                                                            }]
                                                                                                        ]
                                                                                                        }
                                                                                                       
                                                                                            
                                                    

گزارش تازه ترین پیامک های دریافتی

شما می‌توانید با استفاده از این متد، تازه‌ترین پیامک‌های دریافتی را مشاهده نمایید. لازم به ذکر است هر پیامک دریافتی تنها یک مرتبه توسط این متد قابل دستیابی میباشد و پس از آن به دلیل قرار گرفتن در حالت خوانده شده قابل دسترسی مجدد توسط این متد نمی‌باشند.

نمونه کد

C#

            HttpClient httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Add("x-api-key", "[YOURAPIKEY]");
            var response = await httpClient.GetAsync("https://api.sms.ir/v1/receive/latest?count=100");
            var result = await response.Content.ReadAsStringAsync();
        

JS

            var myHeaders = new Headers();
            myHeaders.append("X-API-KEY", "[YOURAPIKEY]");
      
            var requestOptions = {
              method: 'GET',
              headers: myHeaders,
              redirect: 'follow'
            };
      
            fetch("https://api.sms.ir/v1/receive/latest?count=100", requestOptions)
              .then(response => response.text())
              .then(result => console.log(result))
              .catch(error => console.log('error', error));
      

Node.js

            var config = {
                method: 'get',
                url: 'https://api.sms.ir/v1/receive/latest?count=100',
                headers: {
                  'X-API-KEY': '[YOURAPIKEY]'
                }
              };
        
              axios(config)
              .then(function (response) {
                console.log(JSON.stringify(response.data));
              })
              .catch(function (error) {
                console.log(error);
              });
      

PHP

            $curl = curl_init();

            curl_setopt_array($curl, array(
              CURLOPT_URL => 'https://api.sms.ir/v1/receive/latest?count=100',
              CURLOPT_RETURNTRANSFER => true,
              CURLOPT_ENCODING => '',
              CURLOPT_MAXREDIRS => 10,
              CURLOPT_TIMEOUT => 0,
              CURLOPT_FOLLOWLOCATION => true,
              CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
              CURLOPT_CUSTOMREQUEST => 'GET',
              CURLOPT_HTTPHEADER => array(
                'X-API-KEY: [YOURAPIKEY]'
              ),
            ));
      
            $response = curl_exec($curl);
      
            curl_close($curl);
            echo $response;
          

Python

            conn = http.client.HTTPSConnection("api.sms.ir")
            payload = ''
            headers = {
              'X-API-KEY': '[YOURAPIKEY]'
            }
            conn.request("GET", "/v1/receive/latest?count=100", payload, headers)
            res = conn.getresponse()
            data = res.read()
            print(data.decode("utf-8"))
          

java

            OkHttpClient client = new OkHttpClient().newBuilder()
            .build();
            MediaType mediaType = MediaType.parse("text/plain");
            RequestBody body = RequestBody.create(mediaType, "");
            Request request = new Request.Builder()
              .url("https://api.sms.ir/v1/receive/latest?count=100")
              .method("GET", body)
              .addHeader("X-API-KEY", "[YOURAPIKEY]")
              .build();
            Response response = client.newCall(request).execute();
          
URL:

                                                                                                Request Method : GET
                                                                                            

پارامترهای درخواست

توضیح نوع ارسال مشخصه
تعداد درخواستی (حداکثر تعداد درخواستی و مقدار پیشفرض 100 می‌باشد) Integer اختیاری Count

مدل دیتای بازگشتی (آرایه‌ای از مدل زیر)

توضیح نوع مشخصه
ششماره موبایل ارسال کننده Long Mobile
متن پیامک String MessageText
شماره خط دریافت کننده Long Number
زمان دریافت Integer (UnixTime) ReceivedDateTime

URL:

Response Body
                                                                                    {
                                                                                        "status": 1,
                                                                                        "message": "موفق",
                                                                                        "data": [
                                                                                            {
                                                                                                "messageText": "HyperBox.irفروشگاه اینترنتی اسباب بازی و عروسک",
                                                                                                "number": 30004505000017,
                                                                                                "mobile": 912xxxx002,
                                                                                                "receivedDateTime": 1628683625
                                                                                            }
                                                                                        ]
                                                                                      }
                                                                                               
                                                                        
                                                                                        

گزارش پیامک های دریافتی روز

شبا فراخوانی متد زیر، گزارش پیامک‌های دریافتی روز جاری (اعم از خوانده شده و نشده) قابل دستیابی می‌باشد.

نمونه کد

C#

            HttpClient httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Add("x-api-key", "[YOURAPIKEY]");
            var response = await httpClient.GetAsync("https://api.sms.ir/v1/receive/live?pageNumber=1&pageSize=100");
            var result = await response.Content.ReadAsStringAsync();
        

JS

            var myHeaders = new Headers();
            myHeaders.append("PageSize", "2");
            myHeaders.append("X-API-KEY", "[YOURAPIKEY]");
      
            var requestOptions = {
              method: 'GET',
              headers: myHeaders,
              redirect: 'follow'
            };
      
            fetch("https://api.sms.ir/v1/receive/live?pageNumber=1&pageSize=100", requestOptions)
              .then(response => response.text())
              .then(result => console.log(result))
              .catch(error => console.log('error', error));
      

Node.js

            var config = {
                method: 'get',
                url: 'https://api.sms.ir/v1/receive/live?pageNumber=1&pageSize=100',
                headers: {
                  'PageSize': '2',
                  'X-API-KEY': '[YOURAPIKEY]'
                }
              };
        
              axios(config)
              .then(function (response) {
                console.log(JSON.stringify(response.data));
              })
              .catch(function (error) {
                console.log(error);
              });
      

PHP

            $curl = curl_init();

            curl_setopt_array($curl, array(
              CURLOPT_URL => 'https://api.sms.ir/v1/receive/live?pageNumber=1&pageSize=100',
              CURLOPT_RETURNTRANSFER => true,
              CURLOPT_ENCODING => '',
              CURLOPT_MAXREDIRS => 10,
              CURLOPT_TIMEOUT => 0,
              CURLOPT_FOLLOWLOCATION => true,
              CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
              CURLOPT_CUSTOMREQUEST => 'GET',
              CURLOPT_HTTPHEADER => array(
                'PageSize: 2',
                'X-API-KEY: [YOURAPIKEY]'
              ),
            ));
      
            $response = curl_exec($curl);
      
            curl_close($curl);
            echo $response;
          

Python

            conn = http.client.HTTPSConnection("api.sms.ir")
            payload = ''
            headers = {
              'PageSize': '2',
              'X-API-KEY': '[YOURAPIKEY]'
            }
            conn.request("GET", "/v1/receive/live?pageNumber=1&pageSize=100", payload, headers)
            res = conn.getresponse()
            data = res.read()
            print(data.decode("utf-8"))
          

java

            OkHttpClient client = new OkHttpClient().newBuilder()
            .build();
            MediaType mediaType = MediaType.parse("text/plain");
            RequestBody body = RequestBody.create(mediaType, "");
            Request request = new Request.Builder()
              .url("https://api.sms.ir/v1/receive/live?pageNumber=1&pageSize=100")
              .method("GET", body)
              .addHeader("PageSize", "2")
              .addHeader("X-API-KEY", "[YOURAPIKEY]")
              .build();
            Response response = client.newCall(request).execute();
          
URL:

                                                                                          Request Method :  GET
                                                                                        

پارامترهای درخواست

توضیح نوع ارسال مشخصه
تعداد آیتم‌های در صفحه (مقدار پیشفرض 10 می‌باشد) Integer اختیاری PageSize
شماره صفحه درخواستی (مقدار پیشفرض 1 می‌باشد) Integer اختیاری PageNumber
مرتب سازی بر اساس تاریخ دریافت (پیش فرض به صورت صعودی، با مقدار False) Boolean اختیاری sortByNewest

مدل دیتای بازگشتی (آرایه‌ای از مدل زیر)

توضیح نوع مشخصه
شماره موبایل ارسال کننده Long Mobile
متن پیامک String MessageText
شماره خط دریافت کننده Long Number
زمان دریافت Integer (UnixTime) ReceivedDateTime


URL:

Response Body

                                                                                                    {
                                                                                                        "status": 1,
                                                                                                        "message": "موفق",
                                                                                                        "data": [
                                                                                                            {
                                                                                                                "messageText": "HyperBox.irفروشگاه اینترنتی اسباب بازی و عروسک",
                                                                                                                "number": 30004505000017,
                                                                                                                "mobile": 912xxxx002,
                                                                                                                "receivedDateTime": 1628683625
                                                                                                            }
                                                                                                        ]
                                                                                                      }
                                                                                   
                                                            
                    

گزارش پیامک های دریافتی آرشیو شده

با فراخوانی متد زیر، گزارشی از پیامک‌های دریافتی در گذشته (تا انتهای روز قبل)، را مشاهده خواهید نمود.

نمونه کد

C#

            HttpClient httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Add("x-api-key", "[YOURAPIKEY]");
            var response = await httpClient.GetAsync("https://api.sms.ir/v1/receive/archive?pageNumber=1&pageSize=100&fromDate=1669753800&toDate=1672814257");
            var result = await response.Content.ReadAsStringAsync();
        

JS

            var myHeaders = new Headers();
            myHeaders.append("PageSize", "2");
            myHeaders.append("X-API-KEY", "[YOURAPIKEY]");
      
            var requestOptions = {
              method: 'GET',
              headers: myHeaders,
              redirect: 'follow'
            };
      
            fetch("https://api.sms.ir/v1/receive/archive?pageNumber=1&pageSize=100&fromDate=1628683629&toDate=1628693629", requestOptions)
              .then(response => response.text())
              .then(result => console.log(result))
              .catch(error => console.log('error', error));
      

Node.js

            var config = {
                method: 'get',
                url: 'https://api.sms.ir/v1/receive/archive?pageNumber=1&pageSize=100&fromDate=1628683629&toDate=1628693629',
                headers: {
                  'PageSize': '2',
                  'X-API-KEY': '[YOURAPIKEY]'
                }
              };
        
              axios(config)
              .then(function (response) {
                console.log(JSON.stringify(response.data));
              })
              .catch(function (error) {
                console.log(error);
              });
      

PHP

            $curl = curl_init();

            curl_setopt_array($curl, array(
              CURLOPT_URL => 'https://api.sms.ir/v1/receive/archive?pageNumber=1&pageSize=100&fromDate=1628683629&toDate=1628693629',
              CURLOPT_RETURNTRANSFER => true,
              CURLOPT_ENCODING => '',
              CURLOPT_MAXREDIRS => 10,
              CURLOPT_TIMEOUT => 0,
              CURLOPT_FOLLOWLOCATION => true,
              CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
              CURLOPT_CUSTOMREQUEST => 'GET',
              CURLOPT_HTTPHEADER => array(
                'PageSize: 2',
                'X-API-KEY: [YOURAPIKEY]'
              ),
            ));
      
            $response = curl_exec($curl);
      
            curl_close($curl);
            echo $response;
          

Python

            conn = http.client.HTTPSConnection("api.sms.ir")
            payload = ''
            headers = {
              'PageSize': '2',
              'X-API-KEY': '[YOURAPIKEY]'
            }
            conn.request("GET", "/v1/receive/archive?pageNumber=1&pageSize=100&fromDate=1628683629&toDate=1628693629", payload, headers)
            res = conn.getresponse()
            data = res.read()
            print(data.decode("utf-8"))
          

java

            OkHttpClient client = new OkHttpClient().newBuilder()
            .build();
            MediaType mediaType = MediaType.parse("text/plain");
            RequestBody body = RequestBody.create(mediaType, "");
            Request request = new Request.Builder()
              .url("https://api.sms.ir/v1/receive/archive?pageNumber=1&pageSize=100&fromDate=1628683629&toDate=1628693629")
              .method("GET", body)
              .addHeader("PageSize", "2")
              .addHeader("X-API-KEY", "[YOURAPIKEY]")
              .build();
            Response response = client.newCall(request).execute();
          
URL:

                                                                                         Request Method : GET
                                                                                        


پارامترهای درخواست

توضیح نوع ارسال مشخصه
از تاریخ Integer (UnixTime) اختیاری FromDate
تا تاریخ Integer (UnixTime) اختیاری ToDate
تعداد آیتم‌های در صفحه (مقدار پیشفرض 10 می‌باشد) Integer اختیاری PageSize
شماره صفحه درخواستی (مقدار پیشفرض 1 می‌باشد) Integer اختیاری PageNumber

مدل دیتای بازگشتی (آرایه‌ای از مدل زیر)

توضیح نوع مشخصه
شماره موبایل ارسال کننده Long Mobile
متن پیامک String MessageText
شماره خط دریافت کننده Long Number
زمان دریافت Integer (UnixTime) ReceivedDateTime

URL:

Response Body

                                                                                                    {
                                                                                                        "status": 1,
                                                                                                        "message": "موفق",
                                                                                                        "data": [
                                                                                                            {
                                                                                                                "messageText": "HyperBox.irفروشگاه اینترنتی اسباب بازی و عروسک",
                                                                                                                "number": 30004505000017,
                                                                                                                "mobile": 912xxxx002,
                                                                                                                "receivedDateTime": 1628683625
                                                                                                            }
                                                                                                        ]
                                                                                                      }
                                                                                                             

تنظیمات

دریافت مقدار اعتبار فعلی

برای مشاهده مقدار اعتبار فعلی از متد زیر استفاده نمایید.

URL:

                                                                                            Request Method : GET
                                                                                           


دیتای بازگشتی

توضیح نوع
مقدار اعتبار Decimal



Response Body

                                                                                                    {
                                                                                                        "status": 1,
                                                                                                        "message": "موفق",
                                                                                                        "data": 165.3
                                                                                                      }
                                                                                                             

دریافت لیست خطوط

با استفاده از این متد، لیست خطوط آماده استفاده برای ارسال، قابل مشاهده است.

URL:

                                                                                                            Request Method : GET
                                                                                            


دیتای بازگشتی

توضیح نوع
مقدار اعتبار Decimal

URL:

                                                                                                    {
                                                                                                        "status": 1,
                                                                                                        "message": "موفق",
                                                                                                        "data": [10002155613464, 30004505000017]
                                                                                                      }
                                                                                                             

جدول کدهای وضعیت


کدهای وضعیت های ارسال

توضیح کد وضعیت
عملیات با موفقیت انجام شد 1
مشکلی در سامانه رخ داده است، لطفا با پشتیبانی در تماس باشید شد 0
کلید وب سرویس نامعتبر است شد 10
کلید وب سرویس غیرفعال است 11
کلید وب‌ سرویس محدود به IP‌های تعریف شده می‌باشد 12
حساب کاربری غیر فعال است 13
حساب کاربری در حالت تعلیق قرار دارد 14
تعداد درخواست بیشتر از حد مجاز است 20
شماره خط نامعتبر میباشد 101
اعتبار کافی نمیباشد 102
درخواست شما دارای متن (های) خالی است 103
درخواست شما دارای موبایل (های) نادرست است 104
تعداد موبایل ها بیشتر از حد مجاز (100 عدد) میباشد 105
تعداد متن ها بیشتر از حد مجاز (100 عدد) میباشد 106
لیست موبایل ها خالی میباشد 107
لیست متن ها خالی میباشد 108
زمان ارسال نامعتبر میباشد 109
تعداد شماره موبایل ها و تعداد متن ها برابر نیستند 110
با این شناسه ارسالی ثبت نشده است 111
رکوردی برای حذف یافت نشد 112
قالب یافت نشد 113

کدهای وضعیت دلیوری

توضیح کد وضعیت
رسیده به گوشی 1
نرسیده به گوشی 2
پردازش در مخابرات 3
نرسیده به مخابرات 4
رسیده به مخابرات 5
خطا 6
لیست سیاه 7