Polecenia rozszerzone są wywoływane metodą POST pod adresem /api/exec/{polecenie}. Wymagają aktywnego konektora bs4 API i tokena Bearer. Zestawienia i triggery mają dodatkowo jawne listy dozwolonych definicji.
Wyszukiwanie obiektów: read #
POST /api/exec/read
Content-Type: application/json
{"className":"company","criteriaFields":{"vat_id":"1234567890"}}className jest aliasem API klasy, a klucze criteriaFields są aliasami pól. Wynik zawiera obiekty i udostępnione pola, nie samą listę ID. Implementacja pobiera maksymalnie 5000 obiektów i nie zwraca kursora następnej strony. Sprawdź dopuszczenie klasy i pól do odczytu.
Wykonanie zestawienia: report #
POST /api/exec/report
{"reportId":5000012,"criteria":{}}reportId wskazuje stronę zestawienia dodaną do pola „Dozwolone zestawienia” konektora. results.ids zawiera identyfikatory wierszy. criteria przekazuje wartości filtrów w formacie akceptowanym przez dane zestawienie; nie jest listą samych numerów filtrów. Nazwy i typy kryteriów ustal dla konkretnej strony.
Wysyłanie pliku: uploadfile #
Wyślij jeden plik jako multipart/form-data, w polu FileContent. W tym wywołaniu nie ustawiaj ręcznie nagłówka application/json. Odpowiedź results zawiera identyfikator pliku z sumą kontrolną. Rzeczywisty dopuszczalny rozmiar zależy również od ustawień PHP, serwera WWW i programu.
Pobieranie pliku: downloadfile #
POST /api/exec/downloadfile
{"fileIdCRC":"ID-SUMA_KONTROLNA"}Odpowiedź zawiera results.filename oraz results.content zakodowane w Base64. Zdekoduj treść przed zapisaniem pliku. Używaj pełnego identyfikatora z sumą kontrolną otrzymanego z BS4.
Powiadomienie: notification #
POST /api/exec/notification
{"msgs":[{"code":500001,"params":["wartość"]}],"idUser":14}Polecenie tworzy powiadomienie pod dzwoneczkiem. code wskazuje istniejący kod komunikatu BS4, params uzupełnia jego parametry, a idUser jest ID odbiorcy. Opcjonalne classId i objectId wiążą powiadomienie z obiektem. Przykładowy kod i odbiorca muszą zostać zastąpieni wartościami właściwymi dla instalacji.
Odpowiedź do integracji: response #
Polecenie response jest przeznaczone do określonych obiegów żądań wychodzących, m.in. integratorów. Bieżąca implementacja używa tokena Bearer także jako identyfikatora powiązania z żądaniem wychodzącym. Sam token zwykłego konektora nie potwierdza istnienia takiego żądania, a result=1 nie jest licznikiem zaktualizowanych rekordów. Nie używaj tego polecenia jako uniwersalnego potwierdzenia synchronizacji; kontrakt obiegu uzgodnij z dostawcą integratora.
Wywoływanie automatyzacji opisuje osobny artykuł: Wykonywanie triggerów przez API.