Hsdn - centru de procesare sms

Documentație API

Primirea mesajelor

Pentru ca proiectul conectat la serviciu să poată primi mesaje, este necesar să organizați o interfață specială de program (API) și să o plasați pe serverul web.







sessionid - O valoare variabilă unică folosită pentru a identifica interogarea. Valoarea acestui parametru se modifică în fiecare solicitare.

prefix - Prefixul (cuvântul cheie) prin care mesajul a fost recunoscut. Prefixul este egal cu gol în cazul în care mesajul a fost acceptat de proiect folosind numărul de serviciu dedicat.

text - Text codificat în UTF-8. Mesajul conține mesajul primit, cu excepția prefixului. Dacă mesajul a fost acceptat de către proiect folosind numărul de serviciu dedicat, valoarea acestui parametru este identică cu parametrul fulltext.

text complet - Text codificat în UTF-8. Mesajul conține mesajul primit, inclusiv prefixul.

După primirea și prelucrarea cererilor, API-ul utilizatorului este obligat să informeze serviciul despre succesul operației, returnând textul care conține eticheta specială:

În plus, este posibil să se trimită un mesaj de răspuns expeditorului fără a utiliza o solicitare suplimentară la serviciu. Pentru aceasta, API-ul utilizatorului trebuie să returneze textul mesajului inclus în etichete speciale:

Răspundeți la text

Lungimea textului mesajului de răspuns este limitată la 765 de caractere, în cazul în care mesajul conține numai litere latine și 335 caractere dacă mesajul conține caractere chirilice.

În cazul în care un răspuns satisfăcător nu a fost primit de la utilizator API, serviciul va încerca să trimită cererea din nou încă 150 de ori, la intervale de 10 minute, după care mesajul este șters din coadă.

Hsdn - centru de procesare sms

Rețineți că, dacă testați un proiect care utilizează un prefix, nu este necesar să îl introduceți în câmpul text al mesajului. Prefixul este adăugat automat la textul mesajului.

Mai jos este un exemplu de implementare a unui API personalizat utilizând limbajul de programare PHP.

Un exemplu de API personalizat PHP







/ *
projectmd5 - hash request md5
sessionid - ID-ul sesiunii
projectid - ID proiect
receptor - Numărul serviciului
expeditor - numărul expeditorului
prefix - prefixul proiectului
text - Mesaj text (fără prefix)
text complet - Textul complet al mesajului
* /

// Cheia privată a API
$ apikeymd5 = '53f28c002c7e258540a2038300045804'; // md5 ('MyApiKey')

Validarea datelor
dacă (! isset ($ _POST ['projectmd5'])
OR Isset ($ _POST ['sessionid'])
OR (! _POST ['projectid'])
OR Isset ($ _POST ['receptor'])
OR {Isset ($ _POST ['expeditor'])
OR! Isset ($ _POST ['prefix'])
Or! Isset ($ _POST ['fulltext'])
OR (! _POST ['text']))))
// Trimiterea erorii de validare
ieșire ("eroare de validare");
>

// Verificați hash-ul
dacă (md5 ($ apikeymd5
. $ _POST ['sessionid']
. $ _POST ['projectid']
. $ _POST ['receptor']
. $ _POST ['expeditor']
. $ _POST ['fulltext'])! = $ _POST ['projectmd5'])
/ / Trimiteți o eroare hash
ieșire ("eroare de eroare");
>

// Prelucrarea mesajelor
$ răspuns = proces ($ _POST ['expeditor'], $ _POST ['prefix'], $ _POST ['text']);

// Trimiteți un mesaj de răspuns
ieșire (răspuns $);


// Funcția de procesare a mesajelor
funcția de proces ($ expeditor $ prefix $ text)
// Mesaj de răspuns
retur "Răspundeți la text„;
>

Trimiterea mesajelor

login - Conectarea utilizatorului înregistrat în serviciu.

passwordhash - md5 hash a parolei utilizatorului înregistrat.

text - Textul mesajului care urmează să fie trimis. Lungimea textului este limitată la 765 de caractere, în cazul în care mesajul conține numai litere latine și 335 de caractere dacă mesajul conține caractere chirilice.

Textul mesajului trebuie trimis în codare UTF-8. în caz contrar, interfața va returna o eroare cu codul 21.

După trimiterea solicitării, este verificată, după care interfața de serviciu va returna codul de stare al operației. Dacă codul a fost returnat, operațiunea de trimitere a mesajului este considerată de succes. În alte cazuri, interfața returnează codurile care corespund erorilor descrise mai jos:

Numărul de cereri trimise nu ar trebui să depășească 10 pe 1 minut. Dacă numărul de mesaje trimise este depășit, interfața returnează un cod de eroare 22.

Mai jos este un exemplu de implementare a trimiterii unei cereri la interfața de programare a serviciului utilizând limbajul de programare PHP.

Exemplu de trimitere a unui mesaj prin API-ul de servicii PHP în PHP

$ postdata = matrice
(
// Conectați-vă
'login' => 'numele meu',

// Password hash
'passwordhash' => '48503dfd58720bd5ff35c102065a52d7'. // md5 ('MyPassword')

// Numărul serviciului
"receptor" => "+70000000000";

// Numărul destinatarului
"destinatar" => "+79012345678",

// Mesaj text
'text' => urlencode ("Mesaj SMS")
);

// Initializeaza CURL
$ ch = curl_init ();

// Setați opțiunile CURL
curl_setopt ($ ch. CURLOPT_URL; $ apiaddress);
curl_setopt ($ ch. CURLOPT_POST.TRUE);
curl_setopt ($ ch. CURLOPT_POSTFIELDS. $ postdata);
curl_setopt ($ ch. CURLOPT_RETURNTRANSFER.TRUE);

// Trimiterea cererii
$ status = curl_exec ($ ch);

// Închiderea CURL
curl_close ($ ch);

// Verificați rezultatul trimiterii
dacă ($ status! = 20)
// Trimiteți eroare
ieșire ("Eroare trimitere:". $ status);
>

// Trimiteți cu succes
ieșire ("Trimiteți OK");







Trimiteți-le prietenilor: