Wstęp
Po prawej stronie ekranu na ciemnym tle zobaczysz przykłady wywołań API.
Platforma SMSPLANET umożliwia masową wysyłkę SMS-ów oraz MMS-ów marketingowych. Umożliwiamy integrację naszej platformy z dowolnym systemem komputerowym za pomocą opisanego w niniejszej dokumentacji API.
Wersja API
2.2.1
Kodowanie
Kodowanie znaków używane podczas komunikacji z API: UTF-8
Nagłówek Content-Type
Wartość nagłówka Content-Type dla żądań typu POST: application/x-www-form-urlencoded
Limity ilości przesyłanych żądań
Limit dla żądań wysyłających SMS/MMS: 1000/min
Limit dla pozostałych żądań (raporty, skracanie linków itp.): 300/min
Po przekroczeniu limitu, następuje blokada API na 60 sekund.
Ważne! Jak nie przekroczyć limitu podczas wysyłki wiadomości? Nasze zalecenia:
- Do wysyłki SMS używaj metody POST.
- Jeśli chcesz zrealizować masową wysyłkę do wielu odbiorców o tej samej treści - dodaj wszystkie numery w parametrze 'to'. W jednym żądaniu możesz dodać 10k numerów, co oznacza, że aby wysłać SMS do np. 100k odbiorców, wystarczy wysłać do nas 10 żądań POST, po 10k numerów w każdym żądaniu - zamiast 100k osobnych żądań.
- Jeśli chcesz zrealizować masową wysyłkę do wielu odbiorców o różnej treści - zastosuj parametry 'param1', 'param2' itd. Parametry pozwalają na realizację 100 wiadomości w jednym żądaniu, co pozwoli na wysyłkę SMS do np. 100k odbiorców poprzez 1000 żądań POST.
- Niezależnie od tego jakiego rodzaju żądania wysyłasz, należy zaimplementować mechanizm ponawiania wysyłki w przypadku odpowiedzi od API innej niż prawidłowa ('200 OK' wraz z nadanym przez nas ID wysyłki 'messageId'). Dobrą praktyką jest ponawianie wysłania żądania po jakimś odstępie czasowym, np. 5 sekund, który to czas wzrasta wraz z każdą ponowną próbą (nie więcej niż np. 10 minut).
- Szczegóły dotyczące wysyłania żądań są opisane tutaj.
Rozpoczęcie współpracy
Aby zacząć korzystać z platformy należy założyć konto w serwisie SMSPLANET pod adresem https://panel.smsplanet.pl/register. Następnie należy uzupełnić dane firmy w zakładce 'Mój Profil' oraz doładować konto punktami (PrePaid) lub podpisać umowę abonamentową (PostPaid) co umożliwi wysyłkę wiadomości.
Autoryzacja
Przykład:
curl -X POST \
https://api2.smsplanet.pl/sms \
-H 'Authorization: Bearer QwErTyUiOpaSdFgHjKlZxCvBnm12345' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'from=TEST&to=500111222&msg=wiadomość'
Dostepne są dwie metody autoryzacji żądań:
1. Tokeny API (zalecane)
Zalecamy autoryzację żądań do API przy pomocy Tokenów API. Token można wygenerować w panelu klienta.
Token należy dodać do każdego wysyłanego żądania w nagłówku autoryzacyjnym "Authorization".
Authorization: Bearer <token>
2. Klucz i hasło API
Dostępna jest również metoda autoryzacji za pomocą klucza API i hasła API przekazywanych jako parametry w żądaniu. Aby skorzystać z tej metody, należy nadać hasło do API w panelu klienta.
Filtracja adresów IP
Aby dodatkowo zabezpieczyć komunikację z naszym SMS API, można ustalić listę zaufanych adresów IP. Tylko połączenia z tej listy będą akceptowane. Filtracja adresów IP dotyczy tylko wysyłek realizowanych poprzez API. Filtracja nie dotyczy wysyłek realizowanych z poziomu panelu WWW.
Filtr można zdefiniować w panelu klienta po zalogowaniu pod adresem https://panel.smsplanet.pl/s/api
Dostępne metody
Wysłanie SMS metodą GET
curl -X GET -G \
'https://api2.smsplanet.pl/sms' \
-d key=klucz \
-d password=haslo \
-d from=TEST \
-d to=600111222 \
-d msg=Wiadomosc
<?php
$url = "https://api2.smsplanet.pl/sms";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'from' => 'TEST',
'to' => '600111222',
'msg' => 'Wiadomosc testowa'
];
$response=send_get($url, $params);
var_dump($response);
function send_get($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url . '?'.$params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"messageId":"191919"}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Adres URL
GET https://api2.smsplanet.pl/sms
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
from | true | string | Widoczna przez odbiorców nazwa nadawcy SMS. Można korzystać z testowej nazwy 'TEST' lub z nazw zgłoszonych poprzez panel klienta (zakładka 'Pole nadawcy') i zaakceptowanych przez administrację serwisu. W przypadku komunikacji dwukierunkowej (2WAY), należy podać specjalny numer telefonu dedykowany do komunikacji dwustronnej |
msg | true | string | Treść wiadomości. Pojedynczy SMS może mieć długość 160 znaków lub 70 znaków jeśli w wiadomości występuje przynajmniej jeden znak specjalny (w tym polskie znaki). Jeśli treść wiadomości jest dłuższa zostanie podzielona na kilka SMS (max. 6) |
to | true | multi string array | Numer odbiorcy wiadomości. Dozwolone formaty [600111222, 48600111222, +48600111222]. Element ten może występować wielokrotnie, co spowoduje wysłanie danej wiadomości do wielu odbiorców na raz. Ze względu na ograniczenia metody GET (max. ok. 2000 znaków), korzystanie z tej metody nie jest zalecane dla wysyłek powyżej 200 numerów. Nieprawidłowe numery zostaną pominięte. Jeśli numer występuje 2 lub więcej razy duplikaty zostaną pominięte |
date | false | string | Data określająca kiedy wiadomość ma być wysłana. Brak daty lub data przeszła spowodują natychmiastowe wysłanie wiadomości. Dozwolone formaty [Unixtime (np. 1276623871), dd-MM-yyyy HH:mm:ss (np. 21-05-2017 10:05:00)] Wysyłki są planowane wg polskiej strefy czasowej |
name | false | string | Nazwa wysyłki. Nadanie nazwy wysyłce, może ułatwić jej późniejsze odnalezienie w historii. |
clear_polish | false | enum (0, 1) | Jeśli wartość tego parametru wynosi 1 to wszystkie polskie znaki w treści wiadomości zostaną zastąpione na swoje odpowiedniki, np. ą=a, ć=c, ł=l, itd. Wartość domyślna: 0. |
test | false | enum (0, 1) | Jeśli wartość tego parametru wynosi 1, wiadomość nie zostanie wysłana. Zwrócona zostanie jednak standardowa odpowiedź API. Służy celom testowym. Wartość domyślna: 0. |
company_id | false | string | Dodatkowe pole określające firmę, która wysyła żądanie. Stosowane do systemu poleceń (ref). |
transactional | false | enum (0, 1) | Jeśli wartość tego parametru wynosi 1, zostanie podjęta próba wysłania wiadomości kanałem transakcyjnym. Kanał transakcyjny służy jedynie do wysyłania wiadomości o charakterze jednorazowym, niemarketingowym (np. kod PIN do logowania). Kanał transakcyjny jest dostępny jedynie po akceptacji przez administrację serwisu. Wartość domyślna: 0. |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
messageId | Unikalny identyfikator wysyłki nadany przez smsplanet. Może zostać wykorzystany np. do anulowania zaplanowanej wysyłki lub pobrania jej statusu. |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Wysłanie SMS metodą POST (zalecane)
curl -X POST \
'https://api2.smsplanet.pl/sms' \
-d key=klucz \
-d password=haslo \
-d from=TEST \
-d to=600111222 \
-d msg=Wiadomosc
<?php $url = "https://api2.smsplanet.pl/sms"; $params = [ 'key' => 'klucz_api', 'password' => 'haslo', 'from' => 'TEST', 'to' => '600111222', 'msg' => 'Wiadomosc testowa' ]; $response=send_post($url, $params); var_dump($response); function send_post($url,$params) { $params_string = http_build_query($params); $ch = curl_init(); curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_POST, true); curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close ($ch); return $response; } ?>
Przykład dla wielu numerów:<?php $url = "https://api2.smsplanet.pl/sms"; $params = array( 'key' => 'KLUCZ_API', 'password' => 'HASLO_API', 'from' => 'TEST', 'msg' => 'Wiadomosc testowa' ); $to = array('600111222', '700333444'); $params_string = http_build_query($params); foreach ($to as $msisdn) { $params_string = $params_string . '&to=' . $msisdn; } $response=send_post($url, $params_string); var_dump($response); function send_post($url,$params_string) { $ch = curl_init(); curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_POST, true); curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close ($ch); return $response; } ?>
Przykładowa odpowiedź:
{"messageId":"191919"}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Zalecenia i limity
Kliknij tutaj, aby przeczytać o zaleceniach i limitach dotyczących wysyłania SMS
Adres URL
POST https://api2.smsplanet.pl/sms
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
from | true | string | Widoczna przez odbiorców nazwa nadawcy SMS. Można korzystać z testowej nazwy 'TEST' lub z nazw zgłoszonych poprzez panel klienta (zakładka 'Pole nadawcy') i zaakceptowanych przez administrację serwisu. W przypadku komunikacji dwukierunkowej (2WAY), należy podać specjalny numer telefonu dedykowany do komunikacji dwustronnej |
msg | true | string | Treść wiadomości. Pojedynczy SMS może mieć długość 160 znaków lub 70 znaków jeśli w wiadomości występuje przynajmniej jeden znak specjalny (w tym polskie znaki). Jeśli treść wiadomości jest dłuższa zostanie podzielona na kilka SMS (max. 6) |
to | true | multi string array | Numer odbiorcy wiadomości. Dozwolone formaty [600111222, 48600111222, +48600111222]. Element ten może występować wielokrotnie co spowoduje wysłanie danej wiadomości do wielu odbiorców na raz. Maksymalna ilość odbiorców w jednym żądaniu wynosi 10000. Nieprawidłowe numery zostaną pominięte. Jeśli numer występuje 2 lub więcej razy duplikaty zostaną pominięte |
date | false | string | Data określająca kiedy wiadomość ma być wysłana. Brak daty lub data przeszła spowodują natychmiastowe wysłanie wiadomości. Dozwolone formaty [Unixtime (np. 1276623871), dd-MM-yyyy HH:mm:ss (np. 21-05-2017 10:05:00)] Wysyłki są planowane wg polskiej strefy czasowej |
name | false | string | Nazwa wysyłki. Nadanie nazwy wysyłce, może ułatwić jej późniejsze odnalezienie w historii. |
clear_polish | false | enum (0, 1) | Jeśli wartość tego parametru wynosi 1 to wszystkie polskie znaki w treści wiadomości zostaną zastąpione na swoje odpowiedniki, np. ą=a, ć=c, ł=l, itd. Wartość domyślna: 0. |
param1 param2 param3 param4 |
false | string |
Parametry pozwalają na wysłanie do 100 spersonalizowanych wiadomości przy wykorzystaniu pojedynczego wywołania API. W jednej wiadomości można zastosować maksymalnie 4 parametry. Wartości tych parametrów zostaną wstawione w treść wiadomości - w miejscach, które zostaną zdefiniowane jako [%parametr1%], [%parametr2%], [%parametr3%], [%parametr4%]. Wartości parametrów muszą być oddzielone od siebie znakiem pipe `|`, np. param1=Jan|Zbigniew|Jerzy param2=Kowalski|Nowak|Wiśniewski Ilość wartości występujących w poszczególnych parametrach musi być dokładnie taka sama jak ilość numerów odbiorczych (parametr "to"). W przeciwnym przypadku zwrócony zostanie komunikat błędu. |
test | false | enum (0, 1) | Jeśli wartość tego parametru wynosi 1, wiadomość nie zostanie wysłana. Zwrócona zostanie jednak standardowa odpowiedź API. Służy celom testowym. Wartość domyślna: 0. |
company_id | false | string | Dodatkowe pole określające firmę, która wysyła żądanie. Stosowane do systemu poleceń (ref). |
transactional | false | enum (0, 1) | Jeśli wartość tego parametru wynosi 1, zostanie podjęta próba wysłania wiadomości kanałem transakcyjnym. Kanał transakcyjny służy jedynie do wysyłania wiadomości o charakterze jednorazowym, niemarketingowym (np. kod PIN do logowania). Kanał transakcyjny jest dostępny jedynie po akceptacji przez administrację serwisu. Wartość domyślna: 0. |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
messageId | Unikalny identyfikator wysyłki nadany przez smsplanet. Może zostać wykorzystany np. do anulowania zaplanowanej wysyłki lub pobrania jej statusu. |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Wysłanie MMS
curl -X POST \
'https://api2.smsplanet.pl/mms' \
-d key=klucz \
-d password=haslo \
-d from=48664079876 \
-d to=600111222 \
-d subject=Temat \
-d attachment=https://link.do/zdjecia/kotka.jpg \
-d msg=Treść
<?php
$url = "https://api2.smsplanet.pl/mms";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'from' => 'TEST',
'to' => '600111222',
'subject' => 'temat',
'attachment' => 'https://link.do/zdjecia/kotka.jpg',
'msg' => 'Wiadomość testowa'
];
$response=send_post($url, $params);
var_dump($response);
function send_post($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"messageId":"191919"}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Adres URL
POST https://api2.smsplanet.pl/mms
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
from | true | string | Numer telefonu nadawcy MMS. Nasz aktualny numer do obsługi MMS jest dostępny w panelu klienta po zalogowaniu. |
subject | true | string | Temat wiadomości. Zalecamy jego podanie ponieważ, niektóre modele telefonów mogą nie przyjmować MMS bez podanego tematu. |
msg | true | string | Treść wiadomości. Całkowity rozmiar MMS (wiadomość + załącznik + temat) nie może przekroczyć 300kB. |
attachment | false | string | Adres url załącznika MMS lub obraz w formacie Base64. Należy podać pełny adres url lub obraz w formacie Base64. Całkowity rozmiar MMS (wiadomość + załącznik + temat) nie może przekroczyć 300kB. |
to | true | multi string array | Numer odbiorcy wiadomości. Dozwolone formaty [600111222, 48600111222, +48600111222] Element ten może występować wielokrotnie co spowoduje wysłanie danej wiadomości do wielu odbiorców na raz Maksymalna ilość odbiorców w jednym żądaniu wynosi 10000. Nieprawidłowe numery zostaną pominięte. Jeśli numer występuje 2 lub więcej razy duplikaty zostaną pominięte |
date | false | string | Data określająca kiedy wiadomość ma być wysłana. Brak daty lub data przeszła spowodują natychmiastowe wysłanie wiadomości. Dozwolone formaty [Unixtime (np. 1276623871), dd-MM-yyyy HH:mm:ss (np. 21-05-2017 10:05:00)] Wysyłki są planowane wg polskiej strefy czasowej |
clear_polish | false | enum (0, 1) | Jeśli wartość tego parametru wynosi 1 to wszystkie polskie znaki w treści wiadomości zostaną zastąpione na swoje odpowiedniki, np. ą=a, ć=c, ł=l, itd. |
test | false | enum (0, 1) | Jeśli wartość tego parametru wynosi 1, wiadomość nie zostanie wysłana. Zwrócona zostanie jednak standardowa odpowiedź API. Służy celom testowym. |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
messageId | Unikalny identyfikator wysyłki nadany przez smsplanet. Może zostać wykorzystany np. do anulowania zaplanowanej wysyłki lub pobrania jej statusu. |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Anulowanie zaplanowanej wysyłki
curl -X POST \
'https://api2.smsplanet.pl/cancelMessage' \
-d key=klucz \
-d password=haslo \
-d messageId=123456 \
<?php
$url = "https://api2.smsplanet.pl/cancelMessage";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'messageId' => '123456'
];
$response=send_post($url, $params);
var_dump($response);
function send_post($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"result":"OK"}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Adres URL
POST https://api2.smsplanet.pl/cancelMessage
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
messageId | true | integer | Unikalny identyfikator wysyłki |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
result | Pole może przyjąć tylko wartość "OK" |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Generowanie raportu zbiorczego
curl -X POST \
'https://api2.smsplanet.pl/generateReport' \
-d key=klucz \
-d password=haslo \
-d from=01-05-2019 \
-d to=30-06-2019
<?php
$url = "https://api2.smsplanet.pl/generateReport";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'from' => '01-05-2019',
'to' => '30-06-2019'
];
$response=send_post($url, $params);
var_dump($response);
function send_post($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"result":"OK",
"message":
"ID;Identyfikator użytkownika;Data utworzenia;Data wysyłki;Nadawca;Treść;Wiadomości;Dostarczone;Koszt;Zwroty
1;788;21-05-2018 17:05:12;21-05-2018 17:15:00;TEST;Testowa wysyłka SMS;1;1;1;0
2;788;22-06-2018 18:06:13;22-06-2018 18:16:00;TEST;Kolejna wysyłka;1;1;1;0"
}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Adres URL
POST https://api2.smsplanet.pl/generateReport
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
from | true | string | Data od w formacie dd-mm-yyyy HH:MM:ss (np. 01-05-2017 00:00:00) |
to | true | string | Data do w formacie dd-mm-yyyy HH:MM:ss (np. 30-06-2017 23:59:59) |
detailed | false | boolean | true/false - definiuje czy raport ma zawierać szczegółowe informacje o każdej wysyłce (numery telefonów wraz ze statusami doręczeń). Wartość domyślna: false |
responseType | false | string | "json" lub "csv". Wartość domyślna: "json" |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
result | Pole może przyjąć tylko wartość "OK" |
message | Treść raportu w formacie CSV (średnik jako separator) |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Pobranie szczegółowych danych wysyłki
curl -X POST \
'https://api2.smsplanet.pl/getMessageInfo' \
-d key=klucz \
-d password=haslo \
-d messageId=123456 \
<?php
$url = "https://api2.smsplanet.pl/getMessageInfo";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'messageId' => '123456'
];
$response=send_post($url, $params);
var_dump($response);
function send_post($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"result":"OK",
"message":
Pole nadawcy: TEST
Nazwa wysyłki:
Treść wiadomości: wiadomość testowa
Data wysyłki: 22-12-2019 17:46:34
Wysłane: 3
Dostarczone: 3
Zwroty: 0
"Numer telefonu";"Dostarczono";"Data dostarczenia";"Powód odrzucenia";"Pobrano opłatę"
"000111222";"TAK";"22-12-2019 17:46:40";"";"TAK"
"333444555";"TAK";"22-12-2019 17:46:40";"";"TAK"
"666777888";"TAK";"22-12-2019 17:46:40";"";"TAK"
}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Adres URL
POST https://api2.smsplanet.pl/getMessageInfo
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
messageId | true | multi integer array | Unikalny identyfikator wysyłki - parametr ten może występować wiele razy, spowoduje to pobranie szczegółów wielu wysyłek na raz. Maksymalnie można podać do 1000 parametrów messageId w pojedynczym żądaniu. |
responseType | false | string | "json" lub "csv". Wartość domyślna: "json" |
Limity
Metoda nie może być wywoływana częściej niż raz na 3 minuty. Statusy doręczeń aktualizowane są co kilka minut w związku z czym częstsze wywoływanie metody jest bezpodstawne. | |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
result | Pole może przyjąć tylko wartość "OK" |
message | Treść raportu w formacie CSV (średnik jako separator). Pierwsze 7 linii zawiera informacje o wysyłce. W kolejnych liniach znajdują się szczegóły doręczeń na każdy z numerów. |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Webhooki
Webhooki umożliwiają otrzymywanie powiadomień o zdarzeniach, które wystąpiły w systemie. Takim zdarzeniem może być np. doręczenie SMS'a. Po utworzeniu webooka, nasz system wyśle żądanie typu POST na adres URL wskazany podczas tworzenia webhooka. W ciele żądania (body) przesłane zostanią informacje dotyczące danego zdarzenia w formacie JSON.
Przykładowe powiadomienia
MESSAGE_NOTIFICATION_WEBHOOK
{
"notification": {
"deliveryError": ""
"sentDate": "24-05-2024 11:45:24",
"parts": "1",
"messageId": "1234567",
"from": "AUTO HANDEL",
"delivered": "true",
"to": "600700800",
"deliveryDate": "24-05-2024 11:45:30",
}
}
Nagłówek podpisu
W celu zapewnienia integralności i bezpieczeństwa przesyłanych danych, w wysyłanych powiadomieniach znajduje się dodatkowy
nagłówek: 'Signature', który może zostać zweryfikowany w otrzymanych żądaniach.
Podpis jest obliczany na podstawie całej, surowej zawartości żądania (body), przy użyciu algorytmu HMAC SHA256. Binarny wynik funkcj haszującej jest następnie kodowany w Base64.
Po podpisu wykorzytywany jest indywidualny dla każdego użytkownika klucz (Signature Key), który można znaleźć w panelu klienta w sekcji API -> Webhooki.
Przykład:
Zawartość żądania (body):{"notification":{"deliveryError":"","sentDate":"24-05-2024 11:45:24","parts":"1","messageId":"1234567","from":"AUTO HANDEL","delivered":"true","to":"600700800","deliveryDate":"24-05-2024 11:45:30"}}
Klucz podpisu (Signature key): 3e13a3d9d531cdb791b96b01b733f27c
Dla takich danych prawidłowy podpis to: S/f7RzxQ9ol2L9+elIpJPYRA91mIGBEEBRA3DoyF0Tg=
Uwaga: jeśli dla danych z powyższego przykładu otrzymujesz inną wartość podpisu, upewnij się, że dane JSON są sformatowane dokładnie w ten sam sposób w jaki są prezentowane powyżej (bez białych znaków). Pamiętaj również, aby po otrzymaniu wyniku funkcji haszującej, zakodować go w postać Base64.
Webhook - tworzenie
Metoda ta pozwala na utworzenie webhook'a. Możliwe jest dodanie tylko jednego webhooka danego typu.
curl -X POST \
'https://api2.smsplanet.pl/webhooks/create' \
-d key=klucz \
-d password=haslo \
-d url=http://mojastrona.pl/webhook \
-d type=MESSAGE_NOTIFICATION_WEBHOOK \
<?php
$url = "https://api2.smsplanet.pl/webhooks/create";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'url' => 'http://mojastrona.pl/webhook',
'type' => 'MESSAGE_NOTIFICATION_WEBHOOK'
];
$response=send_post($url, $params);
var_dump($response);
function send_post($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"result":"OK"}
Adres URL
POST https://api2.smsplanet.pl/webhooks/create
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
url | true | string | Adres URL na który będą przekazywane powiadomienia |
type | true | enum | Typ webhooka. Dopuszczalne wartości to: MESSAGE_NOTIFICATION_WEBHOOK - powiadomienia o statusie wysłanych wiadomości |
Odpowiedź:
Parametr | Opis |
---|---|
result | Pole może przyjąć tylko wartość "OK" |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Webhook - usuwanie
Metoda ta pozwala na usunięcie webhook'a.
curl -X POST \
'https://api2.smsplanet.pl/webhooks/remove' \
-d key=klucz \
-d password=haslo \
-d type=MESSAGE_NOTIFICATION_WEBHOOK \
<?php
$url = "https://api2.smsplanet.pl/webhooks/remove";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'type' => 'MESSAGE_NOTIFICATION_WEBHOOK'
];
$response=send_post($url, $params);
var_dump($response);
function send_post($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"result":"OK"}
Adres URL
POST https://api2.smsplanet.pl/webhooks/remove
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
type | true | enum | Typ webhooka. Dopuszczalne wartości to: MESSAGE_NOTIFICATION_WEBHOOK - powiadomienia o statusie wysłanych wiadomości |
Odpowiedź:
Parametr | Opis |
---|---|
result | Pole może przyjąć tylko wartość "OK" |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Webhook - lista
Metoda ta pozwala na pobranie listy wszystkich utworzonych webhook'ów.
curl -X GET -G \
'https://api2.smsplanet.pl/webhooks/list' \
-d key=klucz \
-d password=haslo \
<?php
$url = "https://api2.smsplanet.pl/webhooks/list";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
];
$response=send_get($url, $params);
function send_get($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url . '?'.$params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"webhooks":[{ "type": "MESSAGE_NOTIFICATION_WEBHOOK", "url": "https://link.do/webhook"}]}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Adres URL
GET https://api2.smsplanet.pl/webhooks/list
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
webhooks | Lista wszystkich utworzonych webhook'ów |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Zgłoszenie pola nadawcy
curl -X POST \
'https://api2.smsplanet.pl/addSenderField' \
-d key=klucz \
-d password=haslo \
-d senderField=MOJA FIRMA \
<?php
$url = "https://api2.smsplanet.pl/addSenderField";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'senderField' => 'MOJA FIRMA'
];
$response=send_post($url, $params);
var_dump($response);
function send_post($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"result":"OK"}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Adres URL
POST https://api2.smsplanet.pl/addSenderField
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
senderField | true | string | Nazwa pola nadawcy - max. 11 znaków. Dopuszczalne znaki: a-z A-Z 0-9 . - + _ ! [spacja] (numer telefonu nie jest dozwolony) |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
result | Pole może przyjąć tylko wartość "OK" |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Pobranie listy dostępnych pól nadawcy
curl -X POST \
'https://api2.smsplanet.pl/getSenderFields' \
-d key=klucz \
-d password=haslo \
-d product=SMS \
<?php
$url = "https://api2.smsplanet.pl/getSenderFields";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'product' => 'SMS'
];
$response=send_post($url, $params);
var_dump($response);
function send_post($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"senderFields":"TEST,Informacja,Sklep,MojaFirma"}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Adres URL
POST https://api2.smsplanet.pl/getSenderFields
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
product | false | enum (SMS, 2WAY, MMS) | Nazwa produktu dla którego sprawdzane są pola nadawcy. Wartość domyślna: SMS |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
senderFields | Dostępne pola nadawcy oddzielone przecinkami |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Dodanie numeru do czarnej listy
curl -X POST \
'https://api2.smsplanet.pl/blacklist/add' \
-d key=klucz \
-d password=haslo \
-d msisdn=600111222 \
<?php
$url = "https://api2.smsplanet.pl/blacklist/add";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'msisdn' => '600111222'
];
$response=send_post($url, $params);
var_dump($response);
function send_post($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"result":"OK"}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Adres URL
POST https://api2.smsplanet.pl/blacklist/add
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
msisdn | true | string | Numer telefonu |
validTo | false | string | Data ważności w formacie dd-mm-yyyy (np. 15-09-2025) |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
result | Pole może przyjąć tylko wartość "OK" |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Usunięcie numeru z czarnej listy
curl -X POST \
'https://api2.smsplanet.pl/blacklist/remove' \
-d key=klucz \
-d password=haslo \
-d msisdn=600111222 \
<?php
$url = "https://api2.smsplanet.pl/blacklist/remove";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'msisdn' => '600111222'
];
$response=send_post($url, $params);
var_dump($response);
function send_post($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"result":"OK"}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Adres URL
POST https://api2.smsplanet.pl/blacklist/remove
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
msisdn | true | string | Numer telefonu |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
result | Pole może przyjąć tylko wartość "OK" |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Skracanie linków
curl -X POST \
'https://api2.smsplanet.pl/shortUrl' \
-d key=klucz \
-d password=haslo \
-d longUrl=https://google.com \
<?php
$url = "https://api2.smsplanet.pl/shortUrl";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'longUrl' => 'https://google.com'
];
$response=send_post($url, $params);
var_dump($response);
function send_post($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"shortUrl":"https://link.do/Qdwjg"}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Adres URL
POST https://api2.smsplanet.pl/shortUrl
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
longUrl | true | string | Pełny adres URL, który chcemy skrócić |
customAlias | false | string | Własny (proponowany) alias dla skróconego linku. Jeśli alias nie będzie zajęty, zostanie użyty w skróconym linku. Domyślnie alias to losowy ciąg znaków. |
save | false | boolean | Podanie wartości 'true' spowoduje zapisanie linku w panelu klienta. Wartość domyślna: 'false'. |
domain | false | string | Domena skróconego linku. Wartość domyślna: wejdz.do. Dozwolone wartości: wejdz.do, link.do |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
shortUrl | Wygenerowany skrócony link |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Lista skróconych linków
curl -X GET -G \
'https://api2.smsplanet.pl/shortener/list' \
-d key=klucz \
-d password=haslo \
<?php
$url = "https://api2.smsplanet.pl/shortener/list";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
];
$response=send_post($url, $params);
var_dump($response);
function send_post($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"links":[{ "date": "27-04-2021 14:24:27", "shortURL": "https://link.do/iyv5w", "clicks": "0", "longURL": "https://smsplanet.pl/api"}]}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Adres URL
GET https://api2.smsplanet.pl/shortener/list
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
shortUrl | false | string | Skrócony adres URL. Brak parametru spowoduje pobranie informacji o wszystkich linkach. |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
links | Lista informacji o skróconych linkach |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Usuwanie skróconych linków
curl -X POST \
'https://api2.smsplanet.pl/shortener/remove' \
-d key=klucz \
-d password=haslo \
-d alias=XYZ \
<?php
$url = "https://api2.smsplanet.pl/shortener/remove";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'alias' => 'XYZ'
];
$response=send_post($url, $params);
var_dump($response);
function send_post($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"result":"OK"}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Adres URL
POST https://api2.smsplanet.pl/shortener/remove
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
alias | true | multi string array | Alias linku lub cały skrócony link. Element ten może występować wielokrotnie w celu usunięcia wielu elementów na raz. |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
result | Pole może przyjąć tylko wartość "OK" |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Sprawdzenie stanu konta (tylko PrePaid)
curl -X POST \
'https://api2.smsplanet.pl/getBalance' \
-d key=klucz \
-d password=haslo \
-d product=SMS \
<?php
$url = "https://api2.smsplanet.pl/getBalance";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'product' => 'SMS'
];
$response=send_post($url, $params);
var_dump($response);
function send_post($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
{"balance":251}
lub
{"errorMsg":"Niepoprawny klucz - sprawdź swój klucz API.","errorCode":101}
Adres URL
POST https://api2.smsplanet.pl/getBalance
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
product | false | enum (SMS, 2WAY, MMS) | Nazwa produktu dla którego sprawdzany jest stan konta. Wartość domyślna: SMS |
Odpowiedź w przypadku powodzenia:
Parametr | Opis |
---|---|
balance | Ilość punktów na koncie PrePaid |
Odpowiedź w przypadku niepowodzenia:
Parametr | Opis |
---|---|
errorMsg | Treść informująca o przyczynie błędu |
errorCode | Unikalny kod błędu |
Liczenie długości SMS
Metoda pozwala na sprawdzenie, na jaką ilość SMSów zostanie podzielona nasza wiadomość. Maksymalna długość pojedynczej wiadomości wynosi 6 części (6 SMS).
curl -X GET -G \
'https://api2.smsplanet.pl/sms/parts-count' \
-d key=klucz \
-d password=haslo \
-d content=treść SMSa do sprawdzenia \
<?php
$url = "https://api2.smsplanet.pl/sms/parts-count";
$params = [
'key' => 'klucz_api',
'password' => 'haslo',
'content' => 'treść SMSa do sprawdzenia'
];
$response=send_get($url, $params);
function send_get($url,$params) {
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url . '?'.$params_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close ($ch);
return $response;
}
?>
Przykładowa odpowiedź:
3
Adres URL
GET https://api2.smsplanet.pl/sms/parts-count
Lista parametrów
Parametr | Wymagany | Typ | Opis |
---|---|---|---|
key | false | string | Klucz API identyfikujący użytkownika. Wymagany tylko w przypadku braku tokena autoryzacyjnego |
password | false | string | Hasło do API. Domyślnie wyłączone. Pierwsze hasło należy nadać w panelu klienta |
content | true | string | Treść wiadomości, dla której chcemy sprawdzić na jaką ilość części zostanie podzielona |
Odpowiedź:
Zawsze zwracana jest liczba (integer) podająca ilość części SMS |
Odbieranie SMS
Platforma umożliwia skonfigurowanie przekierowania wiadomości SMS, które otrzymaliśmy z numeru dwukierunkowego (2WAY). Wszystkie odebrane wiadomości trafiają do panelu klienta, również po przekierowaniu. Przekierowanie może odbywać się na 3 sposoby:
- przekierowanie na numer telefonu
- przekierowanie na adres email
- przekierowanie na adres URL
Przekierowanie należy skonfigurować w panelu klienta:
https://panel.smsplanet.pl/s/receive/settings
Menu: "Odbieranie wiadomości" -> "Ustawienia"
Kody błędów API
Lista błędów zwracanych przez API wraz z kodami
Kod | Opis |
---|---|
100 | Błąd parsowania danych - sprawdź czy wysyłasz poprawne dane. |
101 | Niepoprawny klucz - sprawdź swój klucz API. |
102 | Niepoprawne hasło API. Upewnij się, że wysyłasz poprawne hasło. |
103 | Niepoprawne pole nadawcy. |
104 | Wiadomość jest zbyt długa. Limit wynosi 6 sms na wiadomość. |
105 | Wykorzystano ustawiony limit na wysyłki. |
106 | Lista odbiorców jest pusta. Upewnij się, że wprowadzono przynajmniej jeden numer nie znajdujący się na czarnej liście. |
108 | Data [%s] jest niepoprawna. Dozwolony format daty opisany jest w specyfikacji. |
109 | Brak wystarczających środków na koncie. |
110 | Adres IP [%s] nie znajduje się na liście dozwolonych adresów. |
111 | Limit ilości odbiorców wynosi 10000. |
113 | Niepoprawne pole nadawcy '%s' dla produktu innego niż MMS. |
114 | Wiadomość MMS może zawierać tylko jeden załącznik. |
115 | Rozmiar wiadomości przekracza %s kB. |
200 | Nie znaleziono użytkownika. Sprawdź dane autoryzacyjne. |
201 | Nieprawidłowy token API. Sprawdź czy token jest prawidłowo wysyłany. |
202 | Token API jest nieaktywny. Możesz go aktywować w panelu klienta. |
203 | Token API wygasł. Sprawdź datę ważności. |
Statusy doręczeń SMS
W przypadku braku poprawnego dostarczenia wiadomości, w raporcie wysyłki będzie można odznaleźć status błędu z tym związany.
Pełna lista błędnych statusów doręczeń SMS:
Numer | Status |
---|---|
1 | Wstępnie odrzucony |
2 | Nieprawidłowy operator |
3 | Brak kanału do wysłania SMS |
4 | Niedozwolona treść SMS - wulgaryzmy |
5 | Niedozwolona treść SMS - Premium |
6 | Niedozwolona treść Nadpisu |
7 | Wygasł |
8 | Skasowany |
9 | Niedostarczony |
10 | Nieznany błąd |
11 | Odrzucony |