Tutorial: Send multiple SMS with the sc_send_sms macro

In this example we will be seeing how we can create an application that helps us send multiple messages through the sc_send_sms macro.

Creating a Control application

1 – We create an application of type Control.

2 – Once the application is created we must create 10 fields with the following types of data:

3 – Then we configure the following fields in this way:

  • sms_group
  • sms_gateway
  • sms_date_time
  • sms_binary
  • sms_send_type

4 – After having configured the fields according to the images, we proceed to create the following methods:

5 – Within the m_sms_clickatell method we place the following:


$var_config    = array(
    'message' => [
        'to' => {loc_numbers},
        'from' => {loc_from_number},
        'binary' => ({sms_binary}==1 ? true : false),
        //clientMessageId' => ''
        'scheduledDeliveryTime' => {sms_date_time}, // yyyy-MM-ddTHH:mm:ss-0300 -- 2018-01-01T10:01:10+0300
        'validityPeriod' => {sms_periody}, //day
        'charset' => {sms_charset}, //ASCII, UCS2-BE, UTF-8, Windows-1252
        'message' => {loc_message},
    ],
    'settings' => [
        'gateway' => $p_gateway,
        'auth_token' => {loc_token},
        ]
);

if(empty({sms_date_time}) || {sm_date_time}==""){
    unset($var_config['message']['scheduledDeliveryTime']);
}

$return = sc_send_sms($var_config);

$msg_body = '<table class="table table-bordered table-striped">
    <tr>
        <td>MessageID</td>
        <td>Acepted</td>
        <td>TO</td>
        <td>ErrorCode</td>
        <td>Error</td>
        <td>Error Message</td>
    </tr>';

    foreach($return as $key => $values){
        $values['accepted'] = ($values['accepted'] == 1 ? 'Success' : $values['accepted']);
        $msg_body .= "<tr>
            <td>".$values['apiMessageId']."</td>
            <td>".$values['accepted']."</td>
            <td>".substr($values['to'],0,-3).'xxx'."</td>
            <td>".$values['errorCode']."</td>
            <td>".$values['error']."</td>
            <td>".$values['errorDescription']."</td>
            </tr>";
    }
    $msg_body .='</table>';

return $msg_body;

6 – In the m_sms_plivo method:


$var_config    = array(
    'message' => [
        'to' => $loc_numbers,
        'from' => $loc_from_number,
        'message' => $loc_message,
        'ValidityPeriod' => {sms_periody}, //seconds
        'ProvideFeedback' => false, //feedback message API - true
        
    ],
    'settings' => [
        'gateway' => $p_gateway,
        'auth_id' => $loc_sid,
        'auth_token' => $loc_token,
        ]
);

/*
if(empty({sms_date_time}) || {sm_date_time}==""){
    unset($var_config['message']['scheduledDeliveryTime']);
}
*/

$return = sc_send_sms($var_config);

$msg_body = '<table class="table table-bordered table-striped">
    <tr>
        <td>Message Response</td>
    </tr>';
$msg_body .= "
    <tr>
        <td>".$return."</td>
    </tr>";
$msg_body .='</table>';

return $msg_body;

7 – In the m_sms_twilio method:

$var_config    = array(
    'message' => [
        'to' => $loc_numbers,
        'from' => $loc_from_number,
        //"mediaUrl" => "https://www.scriptcase.com.br/docs/pt_br/v9/assets/images/scriptcase-logo.svg",
        'message' => $loc_message,
        'ValidityPeriod' => {sms_periody}, //seconds
        'ProvideFeedback' => false, //feedback message API - true
        //'MessagingServiceSid' => '' //34 char unique from twilio service
        'StatusCallback' => 'http://' . $_SERVER["HTTP_HOST"] . $_SERVER["PHP_SELF"],
        //"MessagingServiceSid" => "",
        
    ],
    'settings' => [
        'gateway' => $p_gateway,
        'auth_id' => $loc_sid,
        'auth_token' => $loc_token,
        ]
);

/*
if(empty({sms_date_time}) || {sm_date_time}==""){
    unset($var_config['message']['scheduledDeliveryTime']);
}
*/

$return = sc_send_sms($var_config);

$msg_body = '<table class="table table-bordered table-striped">
    <tr>
        <td>Message Response</td>
    </tr>';
$msg_body .= "
    <tr>
        <td>".$return."</td>
    </tr>";
$msg_body .='</table>';

return $msg_body;

8 – After creating these methods, we proceed to include a library that will help us complement what is necessary for the application:

9 – Then in the onScriptInit event we call the library as follows:

10 – Then inside the onLoad event:


?>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css">
<script>
    $(document).ready(function(){
        $("#id_sc_field_sms_date_time").attr("placeholder", "dd/mm/aaaa hh:mm:ss");
        $("#id_sc_field_sms_date_time").val("");
        $("#sub_form_t").css("background-color","green");
        $("#sub_form_t").css("color","white");
    });
</script>
<?php

if({sms_send_type}==1){
    sc_field_disabled("sms_unique_to");
    sc_field_disabled("sms_group=false");
}else{
    sc_field_disabled("sms_unique_to=false");
    sc_field_disabled("sms_group");
}

11 – Inside the onValidateSuccess:


?>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css">
<script>
    $(document).ready(function(){
        $("#id_sc_field_sms_date_time").attr("placeholder", "dd/mm/aaaa hh:mm:ss");
        $("#id_sc_field_sms_date_time").val("");
        $("#sub_form_t").css("background-color","green");
        $("#sub_form_t").css("color","white");
    });
</script>
<?php

if({sms_send_type}==1){
    sc_field_disabled("sms_unique_to");
    sc_field_disabled("sms_group=false");
}else{
    sc_field_disabled("sms_unique_to=false");
    sc_field_disabled("sms_group");
}

12 – Finally we create an AJAX event of the sms_send_type field of type OnClick:

13 – We add the following:

if({sms_send_type}==1){
    sc_field_disabled("sms_unique_to");
    sc_field_disabled("sms_group=false");
}else{
    sc_field_disabled("sms_unique_to=false");
    sc_field_disabled("sms_group");
}

14 – Save the changes and run the application

Tutorials in the same category

Tutorial: Cloud File Management

Some of the data storage services are ready to securely read and store files and images from your S...

Integration with WhatsApp

To integrate WhatsApp with ScriptCase, we will be using a specific API called Chat-API, it is a...

Tutorial: Blank Application

In this example a Blank application will be created, using for example jquery code to create an acc...

Using the Paypal and Pagseguro API

1 - We create an application of the grid type 2 - We edit the following fields and create a ...

Comment this post