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. API jest proste, szybkie i intuicyjne. Zintegruj się z nami już teraz.

W naszym AIP wykorzystujemy metody GET, PUT, POST oraz DELETE. Możesz wysłać nawet 40 zapytań na minutę. Każde kolejne w tej samej minucie otrzyma kod odpowiedzi 429.


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. ArkanaVoIP wysyłają żądania pod adresy wskazane w Panelu Abonenta z kilku adresów IP:

  • 77.237.17.9
  • 77.237.17.10
  • 57.128.214.251
  • 57.128.228.161

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

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.

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

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.

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, *digits:9, tablica z numerami telefonów (każdy numer musi mieć minimum i maksimum 9 cyfr - bez spacji i myślników).
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 niepowiedzenie. Wiadomość dojdzie do odbiorców w ciągu kilku sekund.