Ogólne API

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.

We do our best to keep this purely informative documentation up to date. However, if you notice that any of these guides need a little touch-up, let us know!