API z ArkanaVoIP.PL
Niżej wświetlą się wszyskie, lub wyszkiwane kody protokołu SIP.
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).
Adres: https://arkanavoip.pl/api/user/update/{userId}
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.
Adres: https://arkanavoip.pl/api/user/updatePassword/{userId}
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
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.