Ogólne API
Ogólny interfejs API został zaprojektowany tak, aby móc pobierać, wyświetlać, aktualizować, tworzyć i usuwać wpisy danych w systemie. Może być używany 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 itd.) nazywany jest modelem, każdy model udostępnia kilka akcji (get/list/update/...). Możesz skorzystać z połączenia do info
aby otrzymać specyfikację OpenAPI wszystkich modeli i akcji:
https://[API-Endpoint]/info
Należy pamiętać, że nieuwierzytelnione wywołania modelu informacyjnego spowodują utworzenie specyfikacji OpenAPI dla nieuwierzytelnionych działań. Aby uzyskać wszystkie modele i akcje dostępne dla Twojego konta, najpierw się uwierzytelnij.
Struktura adresu URL
Wywołania modeli 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 uwierzytelniania i specyfikacji OpenAPI:
https://[API-Endpoint]/auth/[AUTH-ACTION]
https://[API-Endpoint]/info
Ogólna struktura wiadomości
Komunikacja odbywa się poprzez przesyłanie danych JSON tam iz powrotem. Aby rozpocząć akcję, 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 akcji. Dlatego proszę zapoznać się z sekcją Działania tutaj.
W zależności od realizacji projektu a key
może być wymagane do niektórych działań (np. tworzenia nowego użytkownika). Skontaktuj się z menedżerem konta, aby otrzymać klucz.
Ważne: Zachowaj prywatność swojego klucza i nie przesyłaj go przez przeglądarkę, ale zawsze przez połączenie serwer-serwer!
Interfejs 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
Interfejs API użyje następujących kodów błędów w celu zasygnalizowania problemów. Kod błędu jest wysyłany przez statuscode
właściwość odpowiedzi.
Code | Opis Projektu |
100-199 | Ogólne kody błędów |
101 | Nie znaleziono danych wejściowych |
102 | brak lub niepoprawny typ widoku/dostępu |
103 | Nie przesłano identyfikatorów / identyfikatory są nieprawidłowe. Prześlij co najmniej jeden identyfikator |
104 | Nieprawidłowy filtr: Pole X nie istnieje w Y |
105 | brak akcji lub jest ona nieprawidłowa |
106 | Parametr X jest wymagany/brakuje |
107 | Nieznana lub pusta akcja paska narzędzi |
108 | Akcja niedozwolona |
109 | Akcja: nieudana |
110 | Akcja dopuszcza nie więcej niż jeden/lub brak ID. |
111 | Nie znaleziono danych dla identyfikatora x. |
112 | Utwórz błąd, zobacz komunikat o błędzie. Komunikaty specyficzne dla pola patrz response.data |
113 | Błąd aktualizacji, patrz komunikat o błędzie. Komunikaty specyficzne dla pola patrz response.data |
114 | Brak danych do utworzenia/aktualizacji elementu |
115 | Identyfikatory muszą być tablicą |
116 | Nie można podpisać hasła |
117 | Przekroczono maksymalną ilość przedmiotu |
200-299 | Błędy logowania/dostępu |
201 | Adserver dezaktywowany |
202 | Użytkownik nie znaleziony |
203 | IP na czarnej liście |
204 | Hasło niepoprawne |
205 | Brakujące dane uwierzytelniające |
206 | Nieznany błąd logowania |
207 | IP nie jest na białej liście |
208 | Konieczna zmiana hasła (hasło jest zbyt stare) |
209 | Dostęp niedozwolony |
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 | Dezaktywowany |
217 | Nieznany błąd |
218 | Brak klucza uwierzytelniania lub jest on pusty |
219 | Brak uwierzytelniania dwuskładnikowego (wyślij parametr 2fa ) |
220 | Nieprawidłowe uwierzytelnianie dwuskładnikowe |
221 | Dwuskładnikowy: brak kodu OTP |
222 | Dwuskładnikowy: nieprawidłowy kod OTP |
223 | Dwuskładnikowy: brak kodu pocztowego |
224 | Dwuskładnikowy: nieprawidłowy kod pocztowy |
225 | Dwuskładnikowy: brak kodu SMS |
226 | Dwuskładnikowy: nieprawidłowy kod SMS |
227 | Dwuskładnikowy: poczta jest teraz wysyłana |
228 | Dwuskładnikowy: SMS jest teraz wysyłany |
229 | Wysłano wiadomość e-mail z aktualizacją hasła |
230 | Hasło zaktualizowane |
300-399 | Kody błędów wewnętrznych |
301 | Nie można rozwiązać zależności dla X od Y |
302 | Zależność dla X spowodowała pustą listę |
303 | Brak kolumny do aktualizacji |
304 | Błąd zależności w użyciu pola |
305 | Błąd zależności w pustym polu |
306 | Zapytanie o listę spowodowało wyświetlenie pustej listy pól |
307 | Nie znaleziono wywołania zwrotnego uwierzytelniania |
308 | Nie znaleziono pliku dołączanego 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 menedżerem konta, aby otrzymać identyfikator typu dostępu, którego możesz użyć.
modele
W zależności od projektu i Twoich praw dostępu, możesz zobaczyć różne modele (struktury danych, które mają być odbierane/wstawiane z/do bazy danych). Zadzwoń do akcji rights
w celu otrzymania listy modeli i działań.