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.

KodOpis
100-199Ogólne kody błędów
101Nie znaleziono danych wejściowych
102Brak lub nieprawidłowy typ widoku/dostępu
103Nie przesłano żadnych identyfikatorów / identyfikatory są nieprawidłowe. Proszę przesłać co najmniej jeden identyfikator
104Nieprawidłowy filtr: Pole X nie istnieje w Y
105brakuje akcji lub jest ona nieprawidłowa
106Parametr X jest wymagany/brakuje go
107Nieznana lub pusta akcja paska narzędzi
108Działanie niedozwolone
109Akcja nie powiodła się
110Działanie pozwala na nie więcej niż jeden identyfikator lub żaden.
111Nie znaleziono danych dla identyfikatora x.
112Wystąpił błąd podczas tworzenia, zobacz komunikat o błędzie. Komunikaty dotyczące poszczególnych pól znajdują się w response.data
113Błąd aktualizacji, zobacz komunikat o błędzie. Komunikaty dotyczące poszczególnych pól znajdują się w response.data
114Brak danych do utworzenia/aktualizacji elementu
115Identyfikatory muszą być tablicą
116Nie można podpisać hasła
117Przekroczono maksymalną liczbę pozycji
  
200–299Błędy logowania/dostępu
201Serwer reklam wyłączony
202Nie znaleziono użytkownika
203Adres IP na czarnej liście
204Nieprawidłowe hasło
205Brak danych logowania
206Nieznany błąd logowania
207Adres IP nie znajduje się na białej liście
208Konieczna zmiana hasła (hasło zbyt stare)
209Dostęp zabroniony
210Odnowienie hasła nie powiodło się

211

Nieprawidłowy token
212Token wygasł
213Konto nie jest jeszcze aktywne
214Nieznany typ dostępu
215Konieczna zmiana hasła
216Wyłączony
217Nieznany błąd
218Brak klucza uwierzytelniającego lub jest on pusty
219Brak uwierzytelniania dwuskładnikowego (wyślij parametr 2fa)
220Nieprawidłowe uwierzytelnianie dwuskładnikowe
221Uwierzytelnianie dwuskładnikowe: brak kodu OTP
222Uwierzytelnianie dwuskładnikowe: nieprawidłowy kod OTP
223Uwierzytelnianie dwuskładnikowe: brakuje kodu z wiadomości e-mail
224Uwierzytelnianie dwuskładnikowe: Nieprawidłowy kod e-mailowy
225Uwierzytelnianie dwuskładnikowe: brak kodu SMS
226Uwierzytelnianie dwuskładnikowe: Nieprawidłowy kod SMS
227Uwierzytelnianie dwuskładnikowe: wiadomość została właśnie wysłana
228Uwierzytelnianie dwuskładnikowe: wiadomość SMS została właśnie wysłana
229Wysłano wiadomość e-mail dotyczącą aktualizacji hasła
230Hasło zaktualizowane
  
300–399Wewnętrzne kody błędów
301Nie można rozwiązać zależności dla X na Y
302Zależność dla X dała pustą listę
303Brak kolumny do aktualizacji
304Błąd zależności przy użyciu pola
305Błąd zależności w pustym polu
306Zapytanie o listę zwróciło pustą listę pól
307Nie znaleziono wywołania zwrotnego uwierzytelniania
308Nie znaleziono pliku dołączonego do API: …
399Ogólny błąd wewnętrzny
  
900–999Niestandardowe 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!