erp 0.6.17
Pierwszy administrator
Potrzebny jest lokalny token tego komputera. Nie ma wspólnego hasła. Identyfikator organizacji pochodzi z sesji.
erpNie ma publicznego adresu. Wywołanie używa hosta tego szkicu. Otwarcie panelu nie tworzy tokenu.
Sesja to ciasteczko imma_session albo Bearer sesji. Tokeny agenta są odrzucane przy zapisie klientów lub zapasu. Zdrowie nie wymaga sesji.
Organizacja pochodzi z sesji. Identyfikator wysłany przez klienta jest ignorowany.
Sesja ciasteczka, która zapisuje, musi wysłać nagłówek x-imma-request o wartości 1. Bearer go nie używa. GET go nie wymaga.
GET klientów wymaga customers.read. POST wymaga customers.write. POST zapasu wymaga inventory.adjust, tylko właściciel i administracja. Biblioteka wymaga sesji. Możliwości agenta wymagają tokenu agenta i zwracają tylko zakresy.
POST /api/v1/inventory powtarza liczenie przy tym samym idempotencyKey i tej samej treści. Klucz użyty ponownie z inną treścią zwraca 409. Tworzenie klienta nie ma klucza idempotencji.
Odzyskiwanie dopuszcza 3 żądania na godzinę dla adresu i nie mówi, czy istnieje. Zadania agenta kończą się przy 30 na godzinę dla tego tokenu. Inne zamontowane trasy nie mają limitu HTTP.
Żadna zamontowana trasa nie rejestruje ani nie odbiera wywołań. Sprawdzenia podpisu są w domenie serwera i ten przycisk ich nie otwiera.
Wydanie tokenu usługi i unieważnienie wymagają uwierzytelnionego właściciela lub administratora i zostają w tej organizacji. Ten nagłówek nie wydaje, nie pokazuje i nie unieważnia tokenu. Rotacja nie jest zaimplementowana.
POST /api/v1/agent/jobs jest zamontowany dla tokenu agenta z jobs.write. Przykładowy bearer jest syntetyczny i nie jest prawdziwym kluczem. Ten panel nie tworzy tokenu.
GET /api/health · Sprawdza bazę. Bez sesji. Bez ciągu połączenia.GET /api/v1/health · Sprawdza bazę i wyłączone flagi. Bez sesji.GET /api/v1/openapi · Dokument maszynowy. Niepełny. Zobacz lukę wyżej.GET /api/v1/customers · Wypisuje klientów organizacji sesji.POST /api/v1/customers · Tworzy klienta. Pola code i name. organizationId w treści jest ignorowane.POST /api/v1/inventory · Korekta liczenia. Pola warehouseId, productId, countedQty, date, idempotencyKey. Przykłady niżej są syntetyczne.GET /api/v1/library/search · Zapytanie q. Biblioteka offline. To nie obowiązująca ustawa.GET /api/v1/library/citation · Zapytanie q i opcjonalne locale. Bez cytatu wraca kod błędu.GET /api/v1/library/coverage · Liczniki pokrycia. To nie zgoda prawna.GET /api/v1/agent/capabilities · Zwraca zakresy tokenu agenta, który woła. Nie tworzy go.GET /api/v1/agent/jobs · Kolejkuje lokalne zadanie dla tokenu agenta z jobs.write. Limit to 30 na godzinę. Token sesji jest odrzucany.POST /api/v1/agent/jobs · Kolejkuje lokalne zadanie dla tokenu agenta z jobs.write. Limit to 30 na godzinę. Token sesji jest odrzucany.Przykład syntetyczny. To nie prawdziwy sekret.
SYNTHETIC
Authorization: Bearer imma_sess_EXAMPLE
x-imma-request: 1
{"code":"C-EXAMPLE","name":"Example","organizationId":"ignored"}
{"warehouseId":"00000000-0000-0000-0000-000000000000","productId":"00000000-0000-0000-0000-000000000000","countedQty":"1","date":"2026-11-08","idempotencyKey":"example-count-1"}erp 0.6.17
Potrzebny jest lokalny token tego komputera. Nie ma wspólnego hasła. Identyfikator organizacji pochodzi z sesji.