API z ArkanaVoIP.PL


Niżej wświetlą się wszyskie, lub wyszkiwane kody protokołu SIP.

title

API w ArkanaVOIP

Wszystko co robisz w panelu Abonenta możesz zrobić przez API ArkanaVoIP. Nasze API jest proste, szybkie i intuicyjne. Zintegruj się z nami już teraz.

W API ArkanaVoIP.PL wykorzystujemy metody GET, PUT, POST oraz DELETE. Możesz wysłać do 40 zapytań na minutę. Przekroczenie limitu skutkuje odpowiedzią z kodem 429 (Too Many Requests).
Dla zapytań GET (i tylko GET) limit to 1800 requestów na godzinę (30 requestów na minutę; 0.5 requesta na sekundę). Każdy kolejny spotka się z ograniczeniem dostępu do API na 20 minut. Każdy taki request zwróci kod odpowiedzi 429 (Too Many Requests) z nagłówkiem:
Retry-After: X
gdzie X to liczba sekund do końca blokady.


Sprawdź cennik API

Do każdego zapytania dodaj w headers: Accept: application/json, oraz Authorization: Bearer {token-sprawdz-nizej-jak-wygenerowac-token}.

Uniwersalne błędy/kody odpowiedzi:

  • 200 W odpowiedzi otrzymasz dalsze informacje. Wszystko przebiegło prawidłowo.
  • 201 Element został utworzony zgodnie z żądaniem.
  • 401 Nieautoryzowany dostęp. Wygeneruj Api Token (klucz do API), lub nie masz dostępu do wybranego zasobu.
  • 402 Próba uzyskania dostępu do funkcji, która usługa nie została aktywowana/opłacona.
  • 403 Próba pobrania zasobów bez uprawnień - dane, do których nie powinieneś mieć dostępu.
  • 405 Wybrana metoda GET/POST/PUT/DELETE jest niepoprawna. Sprawdź dokumentację.
  • 422 Brak wszystkich wymaganych danych, lub te przesłane są niepoprawne. W odpowiedzi znajdziesz informacje.
  • 500 Błędne zapytanie. Zapoznaj się z dokumentacją. Niepoprawnie sformułowane zapytanie, sprawdź dokumentację.

Przykładowy błąd 422:

				
{
	"message": "Pole number jest obowiązkowe (and 1 more error)",
	"errors": {
		"number": [
			Pole number musi składać się z poprawnego numeru telefonu zawierającego dokładnie 9 cyfr"
		],
		"customer_name": [
			"Pole customer_name jest obowiązkowe, musi zawierać dane które odpowiadają danym podanym w Panelu Abonenta"
		]
	}
}
				
			

W różnych przypadkach komunikacja API może przebiegać w dwie strony. W ArkanaVoIP.PL wysyłamy żądania pod adresy wskazane w Panelu Abonenta przez Ciebie z kilku adresów IP:

  • 77.237.17.9
  • 77.237.17.10
  • 57.128.214.251
  • 57.128.228.161
  • 83.168.71.95

Lista ta może ulec zmianie w każdej chwili. Sprawdzaj tą stronę (przynajmniej raz dziennie) by być na bieżąco i zachować działanie swoich usług przychodzących. Nie ponosimy odpowiedzialności za brak aktualizacji adresów po Twojej stronie.

W celu wygenerowania klucza dostępu do API należy:

  • Zalogować się do Panelu Abonenta
  • Z lewego meny należy wybrać Moje Konto -> Moje Dane (lub bezpośrednio przejść do Usługi API przez Usługi globalne -> Usługi -> API)
  • W zakładce Dostęp do API należy kliknąć Aktywuj. Zostaniesz przeniesiony do usługi API. Jeśli stan usługi jest nieaktywny należy kliknąć Aktywuj usługę.
  • Po pomyślnej aktywacji usługi zobaczysz od razu swój klucz API. Klucz możesz w każdej chwili zmienić poprzez opcję Zmień, która zobaczysz od razu po kluczu API.

W celu zmiany klucza dostępu do API należy:

  • Zalogować się do Panelu Abonenta
  • Z lewego meny należy wybrać Moje Konto -> Moje Dane (lub bezpośrednio przejść do Usługi API przez Usługi globalne -> Usługi -> API)
  • W zakładce Dostęp do API należy kliknąć Zmień. Po przeładowaniu strony zobaczysz nowy klucz API.

Adres: https://arkanavoip.pl/api/user/changeAPIToken

Zmiana tokena API przez API

200 W zwrocie otrzymasz jsona z danymi np.

					
{
	"newToken":"string(48)",			// nowy token, którym należy autoryzować się przy kolejnych zapytaniach.
}
					
				

Adres: https://arkanavoip.pl/api/user/getUserId

200 W zwrocie otrzymasz int z usererId (może to być Ci potrzebne do obsługi innych funkcji).

{userId} uzyskasz z metody userUpdate

Adres: https://arkanavoip.pl/api/user/update/{userId}

Parametry do obsługi funkcji userUpdate
Parametry do obsługi funkcji userUpdate
Parametr Typ Danych Wyjaśnienie
street required, string, min:5, max:255 Ulica i numer.
postcode required, string, regex:/^\d{2}-\d{3}$/ Polski kod pocztowy w formacie dd-ddd (gdzie d oznacza cyfrę, - oznacza -).
city required, string, min:4, max:254 Miasto. Miasto powinno być zgodne z bazą REGON. W innym wypadku wystąpi błąd. Miasta musza być pisane dużymi literami.

200 Jeśli w zwrocie otrzymasz pustego jsona i kod odpowiedzi 200 znaczy, że dane zostały poprawnie zaaktualizowane.

{userId} uzyskasz z metody userUpdate

Adres: https://arkanavoip.pl/api/user/updatePassword/{userId}

Parametry do obsługi funkcji updatePassword
Parametry do obsługi funkcji updatePassword
Parametr Typ Danych Wyjaśnienie
password required, string, min:8, mixedCase, numbers, symbols Nowe hasło. Minimalne wymagania to 8 znaków w tym duże i małe litery, cyfry i znaki specjalne.
password_confirmation required, string, min:8, mixedCase, numbers, symbols Nowe hasło ponownie - niezbędne. Musi być dokładnie takie samo jak password.

200 Jeśli w zwrocie otrzymasz pustego jsona i kod odpowiedzi 200 znaczy, że hasło zostało poprawnie zaaktualizowane.

Po zmianie hasła zostanisz natychmiast wylogowany ze wszystkich urządzeń.

Adres: https://arkanavoip.pl/api/user/getUserServices

200 W zwrocie otrzymasz informacje w json z usługami globalnymi jakie masz aktywne na swoim koncie. Przykład odpowiedzi:

				
[
    {
        "name": "API",
        "slug": "api",
        "price": 3500,
        "price_activ": 500
    },
    {
        "name": "SIP TRUNK",
        "slug": "sip-trunk",
        "price": 900,
        "price_activ": 500
    }
]
				
			

Adres: https://arkanavoip.pl/api/services

200 W zwrocie otrzymasz informacje w json z wszystkimi usługami jakie możesz aktywować na swoim koncie.

Przykład odpowiedzi:

				

[
    {
        "name": "API",
        "slug": "api",
        "price": 3500,
        "price_activ": 500
    },
    {
        "name": "Kolejki dla połączeń przychodzących",
        "slug": "kolejki",
        "price": 2200,
        "price_activ": 500
    },
    {
        "name": "Konferencje",
        "slug": "konferencje",
        "price": 1200,
        "price_activ": 500
    },
    {
        "name": "Nagrywanie rozmów przychodzących i wychodzących",
        "slug": "nagrywanie-polaczen",
        "price": 4000,
        "price_activ": 500
    },
    {
        "name": "Odsłuch trwających rozmów",
        "slug": "monitoring-rozmow-lajv",
        "price": 2000,
        "price_activ": 500
    },
    {
        "name": "Zarządzanie prezentacją numeru",
        "slug": "zarzadzanie-prezentacja",
        "price": 100,
        "price_activ": 100
    },
    {
        "name": "SIP TRUNK",
        "slug": "sip-trunk",
        "price": 1000,
        "price_activ": 500
    },
    {
        "name": "Dodatkowe kanały rozmowne",
        "slug": "dodatkowe-kanaly-rozmowne",
        "price": 100,
        "price_activ": 100
    },
    {
        "name": "Dodawanie obcych numerów do prezentacji",
        "slug": "dodawanie-numerow-do-prezentacji",
        "price": 2000,
        "price_activ": 1000
    },
    {
        "name": "Własny host dla usług VoIP",
        "slug": "wlasny-host-dla-uslug-voip",
        "price": 2000,
        "price_activ": 1000
    },
    {
        "name": "Muzyka na czekanie",
        "slug": "muzyka-na-czekanie",
        "price": 0,
        "price_activ": 0
    },
    {
        "name": "Połączenie zdalne",
        "slug": "polaczenie-zdalne",
        "price": 1200,
        "price_activ": 1200
    },
    {
        "name": "Własna nazwa SMS",
        "slug": "nadpis-sms",
        "price": 24,
        "price_activ": 24
    }
]
				
			

Adres: https://arkanavoip.pl/api/user/getUserService/{slug}

200 W zwrocie otrzymasz informacje w json ze szczegółami usługi, o którą pytasz. Slug otrzymasz w getServices. Wskażmy usługę, jeśli jest aktywna na Twoim koncie. Jeśli usługa nie jest aktywna w zwrocie otrzymasz puste: {}.

				
{
    "id": 17,							// ID Twojej usługi - przydatne do np. wyłączenia usługi.
    "service_id": 1,						// ID usługi globalej - przydatne do np. zmiany lub wyłączenia usługi
    "price": 4305,						// koszt w groszach jaki ponosisz miesięcznie dla usługi
    "item": 1,							// ilość usług w danej usłudze np. dodatkowe kanały rozmowne
    "value": "xyz",						// np. api key
    "created_at": "2024-12-05T23:52:43.000000Z",		// data aktywacji usługi
    "updated_at": "2024-12-08T01:37:03.000000Z",		// data ostatniej modyfikacjii usługi
    "deleted_at": null,						// data usunięcia uslugi
    "service": {
        "id": 1,						// ID usługi
        "name": "API",						// nazwa usługi
        "slug": "api",						// slug uługi (przyda się tam, gdzie wymagany {slug} dla usługi)
        "price": 4305,						// kwota w groszach jaki ponosisz za usługę miesięcznie
        "price_activ": 500					// cena aktywacji dla usługi (pierwszy okres rozliczeniowy bezpłatny + obowiązuje cena aktywacji)
    }
}
				
			

Adres: https://arkanavoip.pl/api/finance/invoices

Parametry do obsługi funkcji userUpdate
Parametry do obsługi funkcji userUpdate
Parametr Typ Danych Wyjaśnienie
startTime nullable|date Data w formacie np. 2025-05-06
endTime nullable|date|after_or_equal:startTime Data w formacie jak wyżej - musi być większa niż data ze startTime.
paginate nullable|int Ile rekordów wylistować na jednej stronie.
page nullable|int|default:1 Strona w paginacji, która ma być zwrócona.

200 W zwrocie otrzymasz informacje w json z wszystkimi fakturami, które możesz pobrać w PDF. Możesz stosować sortowanie zgodnie z dokumentacją datatables.

					
{
    "current_page": 1,
    "data": [
        {
            "id": 25,
            "title": "12/10/2024",
            "netto": 1500,
            "payed": 1,
            "created_at": "2024-10-28T13:59:43.000000Z",
            "updated_at": "2024-10-28T13:59:43.000000Z"
        },
        {
            "id": 2,
            "title": "5/01/2024",
            "netto": 1869,
            "payed": 1,
            "created_at": "2024-01-06T12:56:03.000000Z",
            "updated_at": "2024-01-06T12:56:03.000000Z"
        }
    ],
    "first_page_url": "https://arkanavoip.pl/api/finance/invoices?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https://arkanavoip.pl/api/finance/invoices?page=1",
    "links": [
        {
            "url": null,
            "label": "« Poprzednia",
            "active": false
        },
        {
            "url": "https://arkanavoip.pl/api/finance/invoices?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Następna »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https://arkanavoip.pl/api/finance/invoices",
    "per_page": 100,
    "prev_page_url": null,
    "to": 13,
    "total": 13
}
				
			

Adres: https://arkanavoip.pl/api/finance/invoices/{id}

200 W zwrocie otrzymasz plik PDF z fakturą. {id} faktury znajdziesz w funkcji invoices.

Adres: https://arkanavoip.pl/api/fiance/history

200 W zwrocie otrzymasz json z historią operacji na swoim koncie.

Przykładowy kod odpowiedzi:

					

{
    "current_page": 1,
    "data": [
        {
            "id": 30054,
            "cost": 7,
            "balance": 54290,
            "desc": "Wysyłka SMS PL 1x1 części z test",
            "type": 0,
            "created_at": "2026-01-21T06:52:58.000000Z",
            "updated_at": "2026-01-21T06:52:58.000000Z"
        },
		{
            "id": 30054,
            "cost": 7,
            "balance": 54823,
            "desc": "Wysyłka SMS PL 1x1 części z test",
            "type": 0,
            "created_at": "2026-01-20T05:01:14.000000Z",
            "updated_at": "2026-01-20T05:01:14.000000Z"
        },
        {
            "url": "https://arkanavoip.pl/api/finance/history?page=2",
            "label": "Następna »",
            "active": false
        }
    ],
    "next_page_url": "https://arkanavoip.pl/api/finance/history?page=2",
    "path": "https://arkanavoip.pl/api/finance/history",
    "per_page": 100,
    "prev_page_url": null,
    "to": 100,
    "total": 1442
}+
					
				

Pobierz billingi dla konta SIP dla danego typu (in/out) z filtrowaniem po czasie, statusie, SIP oraz paginacją.

Adres: https://arkanavoip.pl/api/billing/sip/{type}

Parametry do obsługi funkcji getBillings
Parametry do obsługi funkcji getBillings
Parametr Typ / Reguła Wyjaśnienie
type required|string in, out Typ pobieranego billingu; in dla połączeń przychodzących, out dla połączeń wychodzących.
startTime nullable|date Data początkowa w formacie Y-m-d 00:00:00. Jeśli nie podane, brana jest data wysłania żądania.
endTime nullable|date Data końcowa w formacie Y-m-d 00:00:00. Jeśli nie podane, brana jest jest data wysłania żądania.
sips[] nullable|array of integers Lista numerów kont SIP, których połączenia chcesz sprawdzić; jeśli podasz nieistniejące lub nieprzypisane konta, zgłosimy błąd walidacji.
status nullable|string Filtr statusu połączenia; jeśli nie podane, zwraca wszystkie statusy. Możliwe statusy: 'NO ANSWER', 'CONGESTION', 'FAILED', 'BUSY', 'ANSWERED'.
length nullable|int Liczba rekordów na stronę – kompatybilny z Datatables.
start nullable|int Offset (od jakiego rekordu) do paginacji – kompatybilny z Datatables.

200W odpowiedzi otrzymasz tablicę data z połączeniami billingowymi, liczbę wszystkich rekordówrecordsTotal, documentację paginacji zgodną z Datatables oraz dodatkowe pola: totalSec (sumaryczny czas rozmowy w sekundach), totalCost(sumaryczny koszt połączeń), sips z wprowadzonymi numerami kont SIP.

				
{
	"data": [
		{
			"id": 1277302,
			"src": "48223334455",
			"dst": "500600700",
			"start": "2026-03-22 22:32:06",
			"answer": "2026-03-22 22:32:21",
			"end": "2026-03-22 22:37:21",
			"duration": 314,
			"billsec": 299,
			"disposition": "ANSWERED",
			"typ": "out",
			"billcostCl": "49.8333333333333334"
		},
		// ...
	],
	"draw": null,
	"recordsTotal": 68,
	"recordsFiltered": 68,
	"sips": [100, 101],
	"totalSec": "13031",
	"totalCost": 1830.166666666666,
	"length": "10"
}
				
			
Inicjuje połączenie zdalne (doCallRemote) z wybranego konta SIP, numerami A i B oraz opcjonalnymi "prezentowanymi" numerami Aa/Bb. Użytkownik może podać także czas rozmowy (w przypadku niepodania czasu rozmowy limit do wysokości środków na koncie).. Podany limit zostanie zmniejszony przez system jeśli wprowadzony limit jest zbyt duży do wysokości stanu konta użytkownika.
Z usługi można skorzystać mając na koncie co najmniej 6 zł. Mniejszy stan konta uniemożliwi skorzystanie z usługi z kodem błędu 402 (Wymagana płatność).
Z usługi można skorzystać wykupując osobną usługę Połączenia zdalne

Adres: https://arkanavoip.pl/api/docallremote

Parametry formularza doCallRemote (POST)
Parametry formularza doCallRemote
Parametr Typ / Reguła Wyjaśnienie
sip required|digits:5 Numer konta SIP przypisanego do użytkownika.
numberA required
regex: ^(?:\d{5}|\d{9}|\d{11}|\d{12})$
Pod jaki numer dzwonimy jako pierwszy – cyfry, długości 5 (dla kont SIP), 9 (dla polskich numerów - wskazane), 11 (dla polskich numerów z 48 na początku - niewskazana ta opcja) lub 12 (dla numerów zagranicznych).
numberAa nullable|digits:9 Prezentowany numer dla numberA. Jeśli nie podane, używany jest normalny Caller ID konta SIP - jeśli nie istnieje rzuci wyjątek.
numberB required
regex: ^(?:\d{5}|\d{9}|\d{11}|\d{12})$
Pod jaki numer dzwonimy jako drugi – cyfry długości 5 (dla kont SIP), 9 (dla polskich numerów - wskazane), 11 (dla polskich numerów z 48 na początku - niewskazana ta opcja) lub 12 (dla numerów zagranicznych).
numberBb nullable|digits:9 Prezentowany numer dla numberB. Jeśli nie podane, używany jest normalny Caller ID konta SIP - jeśli nie istnieje rzuci wyjątek
duration nullable|int|min:0|max:9999 Maksymalna długość połączenia w minutach. Jeśli nie podane, API przyjmuje bardzo długi czas. Uwaga: Czas zostanie automatycznie zmniejszony do maksimum proporcjonalnego do stanu konta użytkownika.

Uwaga dot. stanu konta
Jeśli użytkownik poda większy czas ograniczenia połączenia niż jego saldo pozwala, system automatycznie zmniejszy czas do maksymalnej długości, którą można opłacić z bieżącego stanu konta.

Uwaga dot. bezpieczeństwa
System nie pozwoli na zaprezentowanie się numerem telefonu, który nie należy do użytkownika. Każda próba prezentacji połączenia A lub B; numerem, do którego użytkownik nie ma prawa (numer na koncie SIP użytkownika - nie może być to numer na karcie eSIM lub SIM nawet w naszej sieci) w systemie ArkanaVoIP.PL zostanie zarejestrowana. W razie potrzeby zgoszona wraz z danymi użytkownika do odpowiednich służb.
Jeśli prób tych jest więcej niż statystyki błędu użytkownika usługa zostanie zablokowana na koncie użytkownika dożywotnio. (przy integracji można testować wyłącznie pod swoje numery telefonu w naszej sieci (!); po poprawnej integracji max 2 pomyłki w ciągu roku).

201 W przypadku poprawnego utworzenia połączenia (odebrania telefonu/odrzucenia rozmowy przez numberA) API zwraca status HTTP 201 z pustym body JSON.

Do obsługi SMS nie jest wymagana usługa API. Należy wygenerować kod API służący wyłącznie do obsugi SMS w zakładce SMS. Można posługiwać sie również kodem ogólnym do API.

Adres: https://arkanavoip.pl/api/sms/store

Parametry do obsługi funkcji smsStore
Parametry do obsługi funkcji smsStore
Parametr Typ Danych Wyjaśnienie
src required, string, min:3 max 11, Numer telefonu mobilnego (komórkowego), który należy do Ciebie lub z usług globalnych nadpis sms.
dst[] required, array, min:1, regex*:/^(\d{9}|\+\d{10,15})$/, tablica z numerami telefonów (każdy numer musi mieć minimum i maksimum 9 cyfr - bez spacji i myślników. Jeśli wysyłasz SMSy pod numery zagraniczne (sprawdź Sprawdź cennik SMS zagranicznych) numer rozpoczynamy od +kodKrajuNumerTelefonu np. +49500600700 (dla Niemiec)).
msg required, string Treść wiadomości SMS. Wysyłając SMS oświadczasz, że zapoznałeś się z cennikiem SMS.

Przykład kodu w php:

				
$res = new \GuzzleHttp\Client( [
	'http_errors' => false,
	'headers' => [
		'Content-Type'	=> 'application/json',
		'Accept'	=> 'application/json',
		'Authorization' => 'Bearer klucz-api-np.1234567890abcdefghijklmnopi',
	]
] );

$res = $res->post('https://arkanavoip.pl/api/sms/store', [
	'form_params' => [
		'src' 	=> 'test',
		'dst[]' => '500600700',
		'dst[]' => '500700800',
		'msg' 	=> 'testowa wiadomosc'
	]
] );
				
			

201 W zwrocie otrzymasz kod odpowiedzi 201 jesli udało się zapisać i wysłać wiadomość. Każdy inny kod odpowiedzi oznacza niepowodzenie. Wiadomość dojdzie do odbiorców w ciągu kilku sekund.

Pobierz wszystkie SMS z danego dir (in|out)

Adres: https://arkanavoip.pl/api/sms/{dir}

Parametry do obsługi funkcji smss
Parametry do obsługi funkcji smss
Parametr Typ Danych Wyjaśnienie
dir required|string|in:in,out Określa kierunek wiadomości SMS in dla przychodzących; out dla wychodzących
src nullable|string|max:20 Z jakiego numeru wyszkujemy SMSa (może być też nadpis)
dst nullable|integer|min:0|max:20 Pod jaki numer przyszedł SMS (Tylko cyfry + plus jako pierwszy znak)
startTime nullable|date Data w formacie np. 2025-05-06
endTime nullable|date|after_or_equal:startTime Data w formacie jak wyżej - musi być większa niż data ze startTime.
paginate nullable|int Ile rekordów wylistować na jednej stronie.
page nullable|int|default:1 Strona w paginacji, która ma być zwrócona.

200 W zwrocie otrzymasz informacje w json z wszystkimi smsami z danego dir. Możesz stosować sortowanie zgodnie z dokumentacją datatables.

					
{
    "current_page": 1,
    "data": [
        {
            "id": 72027,
            "src": "test",
            "dst": "500600700",
            "msg": "test",
            "dir": "out",
            "status": null,
            "msgid": "fb92dcab-c5b0-4857-8725-a119d7132d76",
            "sip_id": null,
            "created_at": "2026-01-19T03:30:02.000000Z",
            "updated_at": "2026-01-19T03:30:02.000000Z"
        },
        {
            "id": 72026,
            "src": "test",
            "dst": "500600700",
            "msg": "test",
            "dir": "out",
            "status": null,
            "msgid": "3edf86e0-e963-40d5-a792-68c36eaadf00",
            "sip_id": null,
            "created_at": "2026-01-19T03:09:37.000000Z",
            "updated_at": "2026-01-19T03:09:37.000000Z"
        }
    ],
    "first_page_url": "https://arkanavoip.pl/api/sms/out?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https://arkanavoip.pl/api/sms/out?page=1",
    "links": [
        {
            "url": null,
            "label": "« Poprzednia",
            "active": false
        },
        {
            "url": "https://arkanavoip.pl/api/sms/out?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Następna »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https://arkanavoip.pl/api/sms/out",
    "per_page": 100,
    "prev_page_url": null,
    "to": 3,
    "total": 3
}
				
			
{id} otrzymasz z usługi sms (GET)

Adres: https://arkanavoip.pl/api/sms/{id}

200 W zwrocie otrzymasz informacje w json danego SMSa.

					
{
    "id": 72046,
    "src": "test",
    "dst": "500600700",
    "msg": "test123",
    "dir": "out",
    "status": "Doręczono do SIP 2026-01-17 18:56:44",			// tu pojawi się status doręczenia (DRL) wiadomości. (do SIP, Panelu - możesz ustawić doręczenie wiadomości SMS do konta SIP - wtedy przyjdzie jako SMS w koncie SIP (jeśli SIP to obsluguje))
    "msgid": "de9bb849-ab25-48c6-adc0-30e3414dff6a",
    "sip_id": 10698,
    "created_at": "2026-01-19T05:20:55.000000Z",
    "updated_at": "2026-01-19T05:20:55.000000Z"
}
				
			

401 Nie podano {id} (lub podano błędne).

403 {id} nie jest Twoim id SMS (dany sms nie nalezy do Ciebie).

404 {id} - zasób nie istnieje.

Do obsługi webhooków należy dodać w Panelu Abonenta w zakładce SMS własny adres URL. Pod ten adres URL - metodą POST będziemy wysyłali Ci dane w formacie json.

Co wysyłamy?
Parametry do obsługi funkcji incomingSms
Parametr Typ Danych Wyjaśnienie
src required, string Numer telefonu nadawcy w formacie 9. cyfrowym dla polskich numerów np. 600700800, lub + na początku dla numerów spoza Polski np. +601700800900
dst required, string Numer telefonu odbiorcy SMSa (Twój numer jaki masz u nas zakupiony).
msg nullable, '', string Treść wiadomości SMS. Czasem może być null, lub '', tzn całkowity brak treści i brak null
dir required, enum:in|out in - wiadomość przychodząca | out - wiadomość wychodząca. W tym wypadku zawsze będzie in
msgid uuid wewnętrzne uuid wiadomości wysłanej do operatora.
updated_at datetime Ostatni czas kiedy element był zmieniony (np. raport doręczenia, czas wysłania etc)
created_at datetime Moment utworzenia elemenu
id int id elemenu
sip_id int Numer konta SIP do którego przypisany jest numer telefonu, na ktory przyszła wiadomość.

Przykład komunikatu jaki od nas otrzymasz:

				
{
  "src": "500600700",						// Z numeru
  "dst": "600700800",						// Pod numer
  "msg": "Cześć! Co u Ciebie słychać?",				// Treść wiadomości
  "dir": "in",							// in: przychodząca | out: wychodząca - w tym wypadku zawsze in
  "msgid": "8f71558e-e10d-48ba-b216-89cede4f966f",		// uuid wiadomości
  "updated_at": "2025-09-14 01:22:34",
  "created_at": "2025-09-14 01:22:34,
  "id": 1,							// id z naszego systemu
  "sip_id": 2 							// konto SIP do jakiego przypisany jest numer
}
				
			

200 | 201 Powinieneś wysłac nam kod odpowiedzi 200 lub 201. Nie przewidujemy ponownej wysyłki jeśli otrzymamy bląd. Wiadomość zawsze dostępna jest w Panelu Abonenta (nawet w przypadku błędu wysyłki przez API, czy braku dostępności konta SIP).