Ogólny interfejs API został zaprojektowany tak, aby umożliwić pobieranie, wyświetlanie, aktualizowanie, tworzenie i usuwanie wpisów danych w systemie. Można go wykorzystać do automatyzacji procesów, takich jak zarządzanie dostawcami lub tworzenie projektów.
Modele i działania
Każdy typ danych (np. cmp, projekt, dostawca itp.) nazywany jest modelem, a każdy model udostępnia kilka akcji (get/list/update/…). Możesz użyć wywołania info , aby otrzymać specyfikację OpenAPI wszystkich modeli i akcji:
https://[API-Endpoint]/info
Należy pamiętać, że nieautoryzowane wywołania modelu info spowodują wygenerowanie specyfikacji OpenAPI dla działań nieautoryzowanych. Aby uzyskać wszystkie modele i działania dostępne dla Twojego konta, najpierw się uwierzytelnij.
Struktura adresów URL
Wezwania do działania mają następującą strukturę:
https://[API-Endpoint]/model/[MODELNAME]/[ACTIONNAME]
Przykład:
https://[API-Endpoint]/model/CMP/list
Oprócz wywołań modelowych istnieją wywołania do uwierzytelniania oraz specyfikacji OpenAPI:
https://[API-Endpoint]/auth/[AUTH-ACTION]
https://[API-Endpoint]/info
Ogólna struktura komunikatu
Komunikacja odbywa się poprzez wysyłanie danych JSON w obie strony. Aby rozpocząć działanie, wyślij żądanie POST z następującymi danymi JSON w treści HTTP:
{
"accessType": 1, // Access type (may be required for authentication calls)
"lang": 1|2|3|..., // Language (optional)
"kmd": "...", // Authentication token (optional/required depending on context)
"key": "..." // Your API-Key (optional/required depending on context)
// other fields might be required depending on context
}
Zawartość danych JSON może się różnić w zależności od wykonywanej czynności. Dlatego prosimy o zapoznanie się z sekcją „Czynności” tutaj.
W zależności od wdrożenia projektu key może być wymagany do wykonania niektórych czynności (np. utworzenia nowego konta). Skontaktuj się ze swoim opiekunem klienta, aby otrzymać swój klucz.
Ważne: Zachowaj swój klucz w tajemnicy i nie przesyłaj go przez przeglądarkę, ale zawsze poprzez połączenie między serwerami!
API odpowie treścią JSON sformatowaną w następujący sposób:
{
"status": "...", // Status: Success|Error
"statuscode": 0..999, // Status code
"msg": "...", // Human readable status message
"model": "...", // Context dependend. May return model type to be displayed or null
"action": "...", // Action performed
"data": ... // Type and content is depended on context
}
Kody błędów
API będzie używać następujących kodów błędów w celu sygnalizowania problemów. Kod błędu jest wysyłany poprzez statuscode w odpowiedzi.
| Kod | Opis |
| 100-199 | Ogólne kody błędów |
| 101 | Nie znaleziono danych wejściowych |
| 102 | Brak lub nieprawidłowy typ widoku/dostępu |
| 103 | Nie przesłano żadnych identyfikatorów / identyfikatory są nieprawidłowe. Proszę przesłać co najmniej jeden identyfikator |
| 104 | Nieprawidłowy filtr: Pole X nie istnieje w Y |
| 105 | brakuje akcji lub jest ona nieprawidłowa |
| 106 | Parametr X jest wymagany/brakuje go |
| 107 | Nieznana lub pusta akcja paska narzędzi |
| 108 | Działanie niedozwolone |
| 109 | Akcja nie powiodła się |
| 110 | Działanie pozwala na nie więcej niż jeden identyfikator lub żaden. |
| 111 | Nie znaleziono danych dla identyfikatora x. |
| 112 | Wystąpił błąd podczas tworzenia, zobacz komunikat o błędzie. Komunikaty dotyczące poszczególnych pól znajdują się w response.data |
| 113 | Błąd aktualizacji, zobacz komunikat o błędzie. Komunikaty dotyczące poszczególnych pól znajdują się w response.data |
| 114 | Brak danych do utworzenia/aktualizacji elementu |
| 115 | Identyfikatory muszą być tablicą |
| 116 | Nie można podpisać hasła |
| 117 | Przekroczono maksymalną liczbę pozycji |
| 200–299 | Błędy logowania/dostępu |
| 201 | Serwer reklam wyłączony |
| 202 | Nie znaleziono użytkownika |
| 203 | Adres IP na czarnej liście |
| 204 | Nieprawidłowe hasło |
| 205 | Brak danych logowania |
| 206 | Nieznany błąd logowania |
| 207 | Adres IP nie znajduje się na białej liście |
| 208 | Konieczna zmiana hasła (hasło zbyt stare) |
| 209 | Dostęp zabroniony |
| 210 | Odnowienie hasła nie powiodło się |
|
211 |
Nieprawidłowy token |
| 212 | Token wygasł |
| 213 | Konto nie jest jeszcze aktywne |
| 214 | Nieznany typ dostępu |
| 215 | Konieczna zmiana hasła |
| 216 | Wyłączony |
| 217 | Nieznany błąd |
| 218 | Brak klucza uwierzytelniającego lub jest on pusty |
| 219 | Brak uwierzytelniania dwuskładnikowego (wyślij parametr 2fa) |
| 220 | Nieprawidłowe uwierzytelnianie dwuskładnikowe |
| 221 | Uwierzytelnianie dwuskładnikowe: brak kodu OTP |
| 222 | Uwierzytelnianie dwuskładnikowe: nieprawidłowy kod OTP |
| 223 | Uwierzytelnianie dwuskładnikowe: brakuje kodu z wiadomości e-mail |
| 224 | Uwierzytelnianie dwuskładnikowe: Nieprawidłowy kod e-mailowy |
| 225 | Uwierzytelnianie dwuskładnikowe: brak kodu SMS |
| 226 | Uwierzytelnianie dwuskładnikowe: Nieprawidłowy kod SMS |
| 227 | Uwierzytelnianie dwuskładnikowe: wiadomość została właśnie wysłana |
| 228 | Uwierzytelnianie dwuskładnikowe: wiadomość SMS została właśnie wysłana |
| 229 | Wysłano wiadomość e-mail dotyczącą aktualizacji hasła |
| 230 | Hasło zaktualizowane |
| 300–399 | Wewnętrzne kody błędów |
| 301 | Nie można rozwiązać zależności dla X na Y |
| 302 | Zależność dla X dała pustą listę |
| 303 | Brak kolumny do aktualizacji |
| 304 | Błąd zależności przy użyciu pola |
| 305 | Błąd zależności w pustym polu |
| 306 | Zapytanie o listę zwróciło pustą listę pól |
| 307 | Nie znaleziono wywołania zwrotnego uwierzytelniania |
| 308 | Nie znaleziono pliku dołączonego do API: … |
| 399 | Ogólny błąd wewnętrzny |
| 900–999 | Niestandardowe kody błędów, zobacz komunikat |
Rodzaje dostępu
W zależności od struktury API istnieją różne typy dostępu (pole JSON „accessType”). Skontaktuj się ze swoim opiekunem klienta, aby otrzymać identyfikator typu dostępu, z którego możesz korzystać.
Modele
W zależności od projektu i Twoich uprawnień możesz zobaczyć różne modele (struktury danych, które mają być pobierane z bazy danych lub do niej wstawiane). Proszę kliknąć przycisk rights , aby otrzymać listę modeli i akcji.