User Tools

Site Tools


invio_php_http_get

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
invio_php_http_get [2020/08/01 22:59]
dcantaluppi
invio_php_http_get [2020/08/01 23:02] (current)
Line 1: Line 1:
-# WEBSERVICES +====== invio PHP HTTP GET ====== 
- +==== Esempio API ==== 
-This document explains webservices protocol+<code> 
- +    <? 
- +      
-## Access +    //////////////////sms_sender.php////////////////// 
- +    //PURPOSE: SEND SMS USING KDEV GATEWAY // 
-Webservices URL+    //AUTHOR: Davide Cantaluppi <kanta@kdev.it> // 
-`https://www.smskdev.it/highway/index.php?app=ws` +    //V2-Rev. 0 // 
- +    //PLATFORM: Not platform dependent // 
- +    //DEPENDPHP >4.1.2; libcurl extension // 
-## Parameters +    // Secured SSL // 
- +    //Keep parameters in a safe place // 
-Listed in the below table are webservices parameters for individual tasks. +    //////////////////sms_sender.php////////////////// 
- +      
-Name           | Description +    //OUTPUT of the call 
--------------- | -------------- +    //https://www.smskdev.it/send.php?user=utente&passkey=password&to=39XXXXXXX&text=messaggio+test 
-h              | webservices token, configured by user from Preferences menu +      
-u              | username +    //PARAMETERS 
-p              | password, supplied for op=get_token +      
-op             | operation or type of action +    $username="username"; 
-format        | output format selection +    $password="password"; 
-from        | SMS sender ID (for op=pv+    $to="39destinatario"; 
-to             | destination numbers@username or #groupcodemay use commas +    $text="testo del messaggio"; 
-footer        | SMS footer (for op=pv+      
-nofooter       | remove SMS footer +    //function for send.php call in GET require curl compiled inside PHP 
-msg            | message (+ or %20 for spacesurlencode for non ascii chars+    //DEFAULT CHOICE 
-schedule       | schedule message deliveryformatYYYY-MM-DD hh:mm:ss +      
-type           | message type (flash or text+      
-unicode        | whether message unicode or not (1=unicode0=not unicode+    function get_url$url, $javascript_loop 0, $timeout = 5 
-queue          | queue code +    { 
-src            | sender number or ID +    $url = str_replace( "&amp;""&"urldecode(trim($url)) ); 
-dst            | destination number (single number+    $cookie = tempnam ("/tmp""CURLCOOKIE"); 
-dt             | send SMS date/time +    $ch = curl_init(); 
-smslog_id      | SMS Log ID +    curl_setopt( $chCURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" ); 
-last           | last SMS log ID (this number not included on result+    curl_setopt$ch, CURLOPT_URL, $url ); 
-c              | number of delivery status that will be retrieved +    curl_setopt$chCURLOPT_COOKIEJAR, $cookie ); 
-kwd            | keyword +      
-login_key      | login key sets by admin through webservices call op=loginkeyset +    curl_setopt$ch, CURLOPT_FOLLOWLOCATION, true ); 
-query          | query server for useful information +      
- +    curl_setopt$ch, CURLOPT_ENCODING, "" ); 
-Listed in the below table are webservices parameters for admin tasks. +      
- +    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); 
-Name           | Description +      
--------------- | -------------- +    curl_setopt( $ch, CURLOPT_AUTOREFERER, true ); 
-recvnum        | receiver number (for op=inject+      
-smsc           | SMSC (for op=inject+    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false ); # required for https urls 
-data_*        | admin tasks related supplied data +      
- +    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $timeout ); 
-Please note that all values should be URL encoded. +      
- +    curl_setopt$ch, CURLOPT_TIMEOUT, $timeout ); 
- +      
-## Return Codes +    curl_setopt$ch, CURLOPT_MAXREDIRS, 10 ); 
- +      
-Below table listed return coded after unsuccessful call to a webservices operation. Successful operation will returns an OK data in the response message. +    $content = curl_exec( $ch ); 
- +      
-Please note that by default the response message is a JSON encoded message. +    $response = curl_getinfo( $ch ); 
- +      
-Error code | Description +    curl_close ( $ch ); 
----------- | ----------- +      
-ERR 100    | authentication failed +      
-ERR 101    | type of action is invalid or unknown +    if ($response['http_code'] == 301 || $response['http_code'] == 302) 
-ERR 102    | one or more field empty +      
-ERR 103    not enough credit for this operation +    { 
-ERR 104    webservice token is not available +      
-ERR 105    | webservice token not enable for this user +    ini_set("user_agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1"); 
-ERR 106    | webservice token not allowed from this IP address +      
-ERR 200    | send message failed +      
-ERR 201    | destination number or message is empty +      
-ERR 400    | no delivery status available +    if ( $headers = get_headers($response['url']) ) 
-ERR 401    | no delivery status retrieved and SMS still in queue +      
-ERR 402    | no delivery status retrieved and SMS has been processed from queue +    { 
-ERR 501    | no data returned or result is empty +      
-ERR 600    | admin level authentication failed +    foreach( $headers as $value ) 
-ERR 601    | inject message failed +      
-ERR 602    | sender id or message is empty +    { 
-ERR 603    | account addition failed due to missing data +      
-ERR 604    | fail to add account +    if ( substr( strtolower($value), 0, 9 ) == "location:" ) 
-ERR 605    | account removal failed due to unknown username +      
-ERR 606    | fail to remove account +    return get_url( trim( substr( $value, 9, strlen($value) ) ) ); 
-ERR 607    | set parent failed due to unknown username +      
-ERR 608    | fail to set parent +    } 
-ERR 609    | get parent failed due to unknown username +      
-ERR 610    | fail to get parent +    } 
-ERR 611    | account ban failed due to unknown username +      
-ERR 612    | fail to ban account +    } 
-ERR 613    | account unban failed due to unknown username +      
-ERR 614    | fail to unban account +      
-ERR 615    | editing account preferences failed due to missing data +      
-ERR 616    | fail to edit account preferences +    if ( ( preg_match("/>[[:space:]]+window\.location\.replace\('(.*)'\)/i", $content, $value) || preg_match("/>[[:space:]]+window\.location\=\"(.*)\"/i", $content, $value) ) && 
-ERR 617    | editing account configuration failed due to missing data +      
-ERR 618    | fail to edit account configuration +    $javascript_loop < 5 
-ERR 619    viewing credit failed due to missing data +      
-ERR 620    fail to view credit +    ) 
-ERR 621    | adding credit failed due to missing data +      
-ERR 622    | fail to add credit +    { 
-ERR 623    | deducting credit failed due to missing data +      
-ERR 624    | fail to deduct credit +    return get_url( $value[1]$javascript_loop+1 ); 
-ERR 625    | setting login key failed due to missing data +      
-ERR 626    | fail to set login key +    } 
- +      
- +    else 
-There might appear new error codes in the futureyou should be aware that new codes might appear in this syntax: +      
- +    { 
-Error code | Description +      
----------- | ----------- +    return $content; 
-ERR 1xx    | authentication or parameter erorrs +      
-ERR 2xx    | specific pv errors +    } 
-ERR 4xx    | delivery status errors +      
-ERR 5xx    | others +    } 
-ERR 6xx    | administrative tasks +      
- +      
- +    $url = 'https://www.smskdev.it/send.php?user='.urlencode($username)."&passkey=".urlencode($password)."&to=".urlencode($destination)."&text=".urlencode($text); 
-## Protocol for non-admin tasks +      
- +    $response = get_url($url); 
- +      
-### Send message +    echo $response; 
- +      
-Send message to a single or multiple mobile numbers, @username or #groupcode +    ?> 
- +</code>
-Parameters | Name or description +
----------- | -------------------- +
-Operation  | `pv` +
-Mandatory  | `u` `h` `to` `msg` +
-Optional   | `type` `unicode` `from` `footer` `nofooter` `format` `schedule` +
-Returns    | return codes +
- +
-Parameter `to` can be international formatted mobile number, #groupcode or @username, or a mix of them. Separate by commas for multiple value. +
- +
invio_php_http_get.txt · Last modified: 2020/08/01 23:02 (external edit)