API (Application Programming Interface) to interfejs, który umożliwia różnym programom lub systemom wymianę danych i komunikację między sobą. Używa się go do automatyzacji oraz integracji różnych aplikacji, co pozwala na przepływ informacji bez konieczności ręcznej manipulacji danymi. Dzięki komunikacji poprzez API, inne programy mogą automatycznie pobierać lub przesyłać dane do i z systemu.
W programie ELISOFT Firma Premium, API umożliwia użytkownikom zautomatyzowany dostęp do kluczowych danych w systemie, takich jak kontrahenci, towary, usługi oraz faktury sprzedaży i zakupu. Dzięki temu możesz integrować system z innymi aplikacjami, pobierać, dodawać i aktualizować dane bez konieczności ręcznego wykonywania tych czynności przez interfejs programu. API pozwala na szybki dostęp do zasobów za pomocą tzw. zapytań OData, co upraszcza procesy biznesowe i umożliwia zautomatyzowanie wielu procesów i zintegrowanie innych systemów z aplikacją.
Dzięki API możesz np. automatycznie generować faktury na podstawie danych przychodzących z innych systemów (np. zamówień), aktualizować czy pobierać dane kontrahentów w oparciu o informacje z innych systemów, synchronizować stany magazynowe towarów albo integrować oprogramowanie księgowe z danymi z systemu. Wszystkie te procesy mogą odbywać się automatycznie w tle, co zwiększa efektywność i oszczędza czas.
Przykładowe możliwości użycia API: ● Pobranie listy wszystkich kontrahentów w systemie ● Pobranie szczegółowych danych konkretnego kontrahenta ● Uzyskanie listy wszystkich towarów dostępnych w magazynie ● Pobranie pełnej listy usług oferowanych przez firmę ● Pobranie listy wszystkich faktur sprzedaży w systemie ● Pobranie danych konkretnej faktury sprzedaży na podstawie jej identyfikatora ● Dodanie nowej faktury sprzedaży do systemu ● Dodanie nowej faktury zakupu do systemu na podstawie zewnętrznego systemu ● Zautomatyzowanie tworzenia faktur sprzedaży na podstawie zamówień klientów ● Synchronizacja listy towarów z systemem webowym dla klientów ● Eksportowanie listy sprzedanych towarów do innego systemu, np. dla analizy zysków/kosztów ● Zintegrowanie listy kontrahentów z innym systemem CRM, aby mieć aktualne dane o klientach
Kliknij na poniższe punkty aby rozwinąć więcej informacji.
KONFIGURACJA API
Aby skonfigurować dostęp do API w programie, wykonaj poniższe kroki:
1. Włączenie dostępu do API
2. Dodanie klucza dostępu do API
DOKUMENTACJA API
Po skonfigurowaniu dostępu do API i utworzeniu klucza, możesz zapoznać się z dokumentacją, która pomoże Ci wykonywać zapytania do aplikacji. Dokumentacja API jest dostępna z poziomu Swagger UI, który można otworzyć bezpośrednio z programu i umożliwia testowanie/tworzenie zapytań.
1. Identyfikator i adres bazowy
2. Przejście do dokumentacji API
3. Korzystanie z Swaggera i autoryzacja kluczem dostępu
Swagger pozwala także na szybkie przeglądanie przykładów zapytań, które można dostosować i zaimplementować we własnych aplikacjach.
PRZYKŁAD 1 - Pobieranie listy kontrahentów
Aby pobrać listę kontrahentów, należy wysłać żądanie GET na endpoint: /apiConfigId/odata/Kontrahenci . Endpoint zwraca listę kontrahentów na podstawie podanych parametrów filtrowania.
Parametry
Przykładowe zapytanie:
GET https://localhost:11818/CEE7AD4A/odata/Kontrahenci?$filter=Miejscowosc eq 'Warszawa'&$top=5
Nagłówki:
accept: application/json
X-API-KEY: b3e7c5t16a14524e
Przykładowa odpowiedź:
{
"@odata.context": "https://localhost:11818/CEE7AD4A/odata/$metadata#Kontrahenci",
"@odata.nextLink": "https://localhost:11818/CEE7AD4A/odata/Kontrahenci?$filter=Miejscowosc%20eq%20%27Warszawa%27&$top=5&$skip=5",
"value": [
{
"Id": 1,
"Guid": "3cc0aeb8-6bb9-4bba-ac77-48c5057df016",
"Symbol": null,
"NazwaSkrocona": "Anna Nowak",
"NazwaPelna": "Anna Nowak\r\nPESEL: 93560892109",
"UzywajPelnejNazwy": true,
"Rodzaj": null,
"Ulica": "Chopina",
"NrDomu": "12",
"NrMieszkania": null,
"Kod": "00-006",
"Miejscowosc": "Warszawa",
"Wojewodztwo": "mazowieckie",
"Panstwo": "Polska",
"Telefon": null,
"TelefonKomorkowy": null,
"Fax": null,
"UnijnyKodPanstwa": null,
"Nip": null,
"Regon": null,
"Email": null,
"StronaWWW": null,
"FormaPlatnosci": "Przelew"
},
{
"Id": 3,
"Guid": "2e878209-08c9-46bb-9234-63bbf93621e4",
"Symbol": null,
"NazwaSkrocona": "LOOKING",
"NazwaPelna": null,
"UzywajPelnejNazwy": false,
"Rodzaj": null,
"Ulica": "Torowa",
"NrDomu": "23",
"NrMieszkania": null,
"Kod": "00-012",
"Miejscowosc": "Warszawa",
"Wojewodztwo": "mazowieckie",
"Panstwo": "Polska",
"Telefon": null,
"TelefonKomorkowy": null,
"Fax": null,
"UnijnyKodPanstwa": null,
"Nip": "0987654321",
"Regon": null,
"Email": null,
"StronaWWW": null,
"FormaPlatnosci": "Gotówka"
},
//... inne wyniki
]
}
PRZYKŁAD 2 - Pobieranie szczegółowych danych faktury sprzedaży
Aby pobrać szczegółowe dane wybranej faktury sprzedaży, należy wysłać żądanie GET na endpoint: /{apiConfigId}/FakturySprzedazy/{id}. Endpoint zwraca szczegółowe informacje na podstawie podanego id faktury.
Parametry
Przykładowe zapytanie:
GET https://localhost:11818/CEE7AD4A/FakturySprzedazy/1
Nagłówki:
accept: application/json
X-API-KEY: b3e7c5t16a14524e
Przykładowa odpowiedź:
{
"Id": 1,
"Guid": "436b03c3-7555-4a12-bf10-f87ad952fcb8",
"Numer": "FV 01/11/2024",
"DataWystawienia": "2024-11-05T00:00:00+01:00",
"DataSprzedazy": "2024-11-05T00:00:00+01:00",
"MiejsceWystawienia": "Warszawa",
"TerminZaplaty": "2024-11-12T00:00:00+01:00",
"Sprzedawca": {
"Id": 1,
"Guid": "c0cdd17e-6edd-4e22-b749-23ad35c224de",
"Nazwa": "House Invent",
"Adres": "Fryderyka Chopina 10/20\r\n00-950 Warszawa, Polska",
"NIP": "1234567890"
},
"Nabywca": {
"Id": 3,
"Guid": "2e878209-08c9-46bb-9234-63bbf93621e4",
"Nazwa": "LOOKING",
"Adres": "Torowa 23\r\n00-012 Warszawa, Polska",
"NIP": "0987654321"
},
"Odbiorca": null,
"SposobZaplaty": "Przelew",
"ProceduraMPP": false,
"ProceduraOSS": false,
"Pozycje": [
{
"Id": 1,
"Nazwa": "Łóżko tapicerowane chmurka 140x200",
"KodTowaru": null,
"KodGTU": null,
"KodPKWiU": null,
"KodCN": null,
"Jednostka": "szt",
"Ilosc": 1,
"Rabat": 0,
"StawkaVAT": {
"Procent": 23,
"Rodzaj": "Procentowa"
},
"CenaNetto": 1771.54,
"CenaBrutto": 2179,
"WartoscNettoPoRabacie": 1771.54,
"WartoscBruttoPoRabacie": 2179
}
],
"Waluta": {
"Symbol": "PLN",
"Kurs": 1
},
"RachunekBankowy": {
"NazwaBanku": "MBANK PLN",
"NumerKonta": "PL77111122223333444455556666"
},
"Kwoty": {
"WartoscNetto": 1771.54,
"WartoscBrutto": 2179,
"WartoscZaplacona": 0,
"PozostaloDoZaplaty": 2179
},
"DokumentWystawil": "Adam Kowalski",
"DokumentOdebral": null,
"Uwagi": null,
"InformacjeJPK": null
}
PRZYKŁAD 3 - Dodawanie faktury zakupu
Aby dodać fakturę zakupu, należy wysłać żądanie POST na endpoint: /{apiConfigId}/FakturyZakupu/Importy. Endpoint umożliwia dodanie nowej faktury zakupu do aplikacji.
Parametry
Przykładowe zapytanie:
POST https://localhost:11818/CEE7AD4A/FakturyZakupu/Importy
Nagłówki:
accept: application/json
X-API-KEY: b3e7c5t16a14524e
Content-Type: application/json
Treść żądania (body):
{
"OpcjeImportu": {
"OpcjeImportuKontrahenta": {
"Operacja": "WyszukajKontrahenta"
}
},
"Dane": {
"Numer": "28/11/2024",
"NumerDokumentuSprzedawcy": "FZ 2/11/2024",
"DataWystawienia": "2024-11-27T00:00:00+01:00",
"DataSprzedazy": "2024-11-27T00:00:00+01:00",
"MiejsceWystawienia": "Warszawa",
"TerminZaplaty": "2024-11-27T00:00:00+01:00",
"Sprzedawca": {
"Id": 3,
"NIP": "0987654321",
"Nazwa": "LOOKING",
},
"Nabywca": {
"NIP": "1234567890"
},
"SposobZaplaty": "Gotówka",
"ProceduraMPP": null,
"SposobLiczenia": "OdCenNetto",
"Pozycje": [
{
"Nazwa": "Narożnik L",
"KodTowaru": "111111",
"KodGTU": "GTU_01",
"KodPKWiU": "46.11.12.0",
"KodCN": "0809 29 00",
"Jednostka": "szt.",
"Ilosc": 1,
"Rabat": 0,
"StawkaVAT": {
"Rodzaj": "Procentowa",
"Procent": 23
},
"CenaNetto": 100,
"CenaBrutto": 123
}
],
"Waluta": {
"Symbol": "PLN",
"Kurs": 1
},
"RachunekBankowy": {
"NazwaBanku": "Nazwa banku",
"NumerKonta": "PL77111122223333444455556666"
},
"Kwoty": {
"WartoscZaplacona": 123
},
"DokumentWystawil": null,
"DokumentOdebral": null,
"Uwagi": "Uwagi",
"InformacjeJPK": {
"KodyProcedur": "SW,TP",
"KodyGTU": "GTU_01"
}
}
PRZYKŁAD 4 - Dodawanie faktury sprzedaży
Aby dodać fakturę sprzedaży, należy wysłać żądanie POST na endpoint: /{apiConfigId}/FakturySprzedazy/Importy. Endpoint umożliwia importowanie nowej faktury do aplikacji.
Parametry
Przykładowe zapytanie:
POST https://localhost:11818/CEE7AD4A/FakturySprzedazy/Importy
Nagłówki:
accept: application/json
X-API-KEY: b3e7c51e16a1542ae
Content-Type: application/json
Treść żądania (body):
{
"OpcjeImportu": {
"OpcjeImportuKontrahenta": {
"Operacja": "ImportujKontrahenta",
"OpcjeDopasowania": {
"KluczDopasowania": [
"NIP",
"NAZWA",
"ADRES"
]
},
"OpcjeAktualizacji": {
"Aktualizuj": "NIE"
}
}
},
"Dane": {
"DataWystawienia": "2024-11-27",
"DataSprzedazy": "2024-11-27",
"TerminZaplaty": "2024-11-27",
"Sprzedawca": {
"NIP": "1111111111"
},
"Nabywca": {
"NIP": "2222222222",
"Nazwa": "FIRMA X",
"Adres": {
"Ulica": "MAGNOLIOWA",
"NrDomu": "19",
"KodPocztowy": "00-999",
"Miejscowosc": "WARSZAWA"
}
},
"SposobLiczenia": "OdCenNetto",
"Pozycje": [
{
"Nazwa": "Wiertło do drewna",
"Ilosc": 4,
"StawkaVAT": {
"Rodzaj": "Procentowa",
"Procent": 23
},
"CenaNetto": 36,
"CenaBrutto": null
},
{
"Nazwa": "Wiertarka udarowa",
"Ilosc": 2,
"StawkaVAT": {
"Rodzaj": "Procentowa",
"Procent": 23
},
"CenaNetto": 410,
"CenaBrutto": null
}
],
"Waluta": {
"Symbol": "PLN",
"Kurs": 1
}
}
OPCJE IMPORTU
Sekcja "OpcjeImportu"
Ta sekcja zawiera parametry kontrolujące sposób importowania kontrahenta w trakcie dodawania faktury.
"OpcjeImportuKontrahenta"
Zawiera dwa kluczowe parametry:
Operacja - decyduje o tym, jak postąpić z danymi kontrahenta. Możliwe wartości:
1. ImportujKontrahenta
2. WyszukajKontrahenta
"OpcjeDopasowania" (tylko dla ImportujKontrahenta)
Wskazuje klucze, według których program ma sprawdzić, czy dany kontrahent istnieje już w bazie.
Przykład:
{
"OpcjeImportu": {
"OpcjeImportuKontrahenta": {
"Operacja": "ImportujKontrahenta",
"OpcjeDopasowania": {
"KluczDopasowania": [
"NIP",
"NAZWA",
"ADRES"
]
},
"OpcjeAktualizacji": {
"Aktualizuj": "NIE"
}
Powyższy Klucz ["NIP", "NAZWA", "ADRES"] oznacza, że system sprawdzi w bazie, czy istnieje kontrahent z dokładnie takim NIP-em, nazwą i adresem. Jeśli takiego nie znajdzie, zostanie utworzony nowy rekord.
"OpcjeAktualizacji" (tylko dla ImportujKontrahenta)Parametr "Aktualizuj" decyduje, czy program ma aktualizować dane kontrahenta w bazie, jeśli zostanie znaleziony (domyślne wartości: "TAK" lub "NIE").
WSKAZÓWKI DOTYCZĄCE BEZPIECZEŃSTWA PRZY KORZYSTANIU Z API
Aby zapewnić bezpieczne korzystanie z API, zalecamy zastosowanie się do poniższych wskazówek:
Instrukcja konfiguracji:
1. Umieść certyfikat w magazynie certyfikatów systemowych - Certyfikat musi zostać wcześniej umieszczony w magazynie certyfikatów systemowych. Lokalizacja: [Magazyn Certyfikatów - komputer lokalny\Osobisty\Certyfikaty].
2. Uruchom ELISOFT Business Server - Kliknij w ikonę ELISOFT Business Server, która znajduje się w systemowym pasku zadań Windows
3. Przejdź do ustawień usługi API - W menu głównym ELISOFT Business Server wybierz opcję Usługa API. Otworzy się nowe okno konfiguracji.
4. Wskaż certyfikat w usłudze API