NAV Navbar
shell php

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:

  1. Do wysyłki SMS używaj metody POST.
  2. 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ń.
  3. 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.
  4. 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).
  5. 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:

ParametrOpis
messageIdUnikalny identyfikator wysyłki nadany przez smsplanet. Może zostać wykorzystany np. do anulowania zaplanowanej wysyłki lub pobrania jej statusu.

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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:

ParametrOpis
messageIdUnikalny identyfikator wysyłki nadany przez smsplanet. Może zostać wykorzystany np. do anulowania zaplanowanej wysyłki lub pobrania jej statusu.

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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:

ParametrOpis
messageIdUnikalny identyfikator wysyłki nadany przez smsplanet. Może zostać wykorzystany np. do anulowania zaplanowanej wysyłki lub pobrania jej statusu.

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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:

ParametrOpis
resultPole może przyjąć tylko wartość "OK"

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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:

ParametrOpis
resultPole może przyjąć tylko wartość "OK"
messageTreść raportu w formacie CSV (średnik jako separator)

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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:

ParametrOpis
resultPole może przyjąć tylko wartość "OK"
messageTreść 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:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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ź:

ParametrOpis
resultPole może przyjąć tylko wartość "OK"

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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ź:

ParametrOpis
resultPole może przyjąć tylko wartość "OK"

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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:

ParametrOpis
webhooksLista wszystkich utworzonych webhook'ów

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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:

ParametrOpis
resultPole może przyjąć tylko wartość "OK"

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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:

ParametrOpis
senderFieldsDostępne pola nadawcy oddzielone przecinkami

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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:

ParametrOpis
resultPole może przyjąć tylko wartość "OK"

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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:

ParametrOpis
resultPole może przyjąć tylko wartość "OK"

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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:

ParametrOpis
shortUrlWygenerowany skrócony link

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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:

ParametrOpis
linksLista informacji o skróconych linkach

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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:

ParametrOpis
resultPole może przyjąć tylko wartość "OK"

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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:

ParametrOpis
balanceIlość punktów na koncie PrePaid

Odpowiedź w przypadku niepowodzenia:

ParametrOpis
errorMsgTreść informująca o przyczynie błędu
errorCodeUnikalny 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 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