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

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 ...

Send SMS with the sc_send_sms macro

Creating a Control application 1 - We create an application of type Control. 2 - Once the...

Comment this post