Skip to content

Commit

Permalink
YD-15
Browse files Browse the repository at this point in the history
  • Loading branch information
Ruben Lech committed Jul 11, 2024
1 parent 68547d5 commit a2eb30e
Show file tree
Hide file tree
Showing 35 changed files with 349 additions and 169 deletions.
90 changes: 71 additions & 19 deletions docs/4-developer-guides/2-api/0-config.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,94 @@
---
title: Konfiguracja
description: How to properly configure the API in YetiForce
description: Jak prawidłowo skonfigurować API w YetiForce
keywords:
- Webservice
- API
- RestAPI
- konfiguracja
- YetiForce
tags:
- Webservice
- API
- Rest API
- Konfiguracja
preview: configuration-1.jpg
---

## Aktywacja

W pliku [config/Api.php](https://doc.yetiforce.com/code/classes/Config-Api.html#property_enabledServices) należy ustawić aktywne usługi `$enabledServices`
## Konfiguracja

```php
/** List of active services. Available: dav, webservice */
public static $enabledServices = ['webservice'];
```
W celu skonfigurowania połączenie API, należy najpierw wygenerować klucz API oraz utworzyć użytkownika do autoryzacji.

## Utworzenie aplikacji API
### Generowanie API Key

Aby określić jakiego rodzaju usługi będą aktywne nalezy dodać aplikacje o odpowiednim typie.
Pierwszym krokiem w celu podłączenia się do API, jest wygenerowanie `API Key`. W tym celu, w sekcji administracyjnej należy wybrać w lewym menu ```Integracja``` a następnie ```Web service - Alikacje```.

W panelu administracyjnym [Web service - Applications](/administrator-guides/integration/webservice-apps/) nalezy dodać usługi z których chcemy korzystać.
![step 1](configuration-1.jpg)

## Konfiguracja żywotność sesji
W celu dodania nowego API Key, wybieramy ```Dodaj klucz``` z prawej górnej strony.

[config/Security.php](https://doc.yetiforce.com/code/classes/Config-Security.html#property_apiLifetimeSessionCreate)
![step 2](configuration-2.jpg)

```php
/** Maximum session lifetime from the time it was created (in minutes) */
public static $apiLifetimeSessionCreate = 1440;
Pojawi nam się okno dodawania nowego API Key:

/** Maximum session lifetime since the last modification (in minutes) */
public static $apiLifetimeSessionUpdate = 240;
```
![step 3](configuration-3.jpg)

#### Nazwa
- dowolna nazwa, pozwlająca nam zidentyfikować dodany API Key

#### Hasło
- ciąg znaków wykorzystywany do uwierzytelniania

#### Status
- odznaczenie checkboxa, spowoduje, że API Key nie będzie aktywne

#### Typ
- określa jakich funkcjonalności będzie dotyczył API Key

#### Dozwolone adresy IP
- Pusta wartość - dostęp ze wszystkich serwerów.
Jeśli adresy IP zostaną wprowadzone (po przecinku), to dostęp do API będzie dozwolony tylko z tych adresów IP.
Przykład: x.x.x.x , y.y.y.y

#### Publiczny adres URL
- Adres URL będzie używany do wysyłania powiadomień mailowych gdzie w treści będzie można używać adresu URL np. reset hasła w Portalu Klienta, link do podglądu rekordu w Portalu Klienta


### Utworzenie użytkownika

Kolejnym krokiem jest utworzenie danych walidacyjnych do API. W tym celu w sekcji administracyjnej z lewym menu wybieramy ```Integracja ➞ Web service - Użytkownicy```.

![step 4](configuration-4.jpg)

Użytkownika będziemy dodawać dla konkretnego rodzaju usługi, dlatego w pierwszej kolejności wybieramy odpowiednią zakładkę.

![step 5](configuration-5.jpg)

W celu dodania nowego użytkownika, wybieramy przycisk <kbd>Dodaj rekord</kbd>. Pojawi się nam wówczas okno modalne, w którym będziemy mogli skonfigurować dostępy.

![step 6](configuration-6.jpg)

![step 7](configuration-7.jpg)

#### Serwer
- wybieramy, API Key, który będzie powiązany z tworzonym użytkownikiem

#### Status
- określamy, czy dany użytkownik jest aktywny

#### Hasło
- ciąg znaków wykorzystywany do autoryzacji

#### Typ
- podstawa uprawień do rekordów

#### Kontakt
- opcjonalny w zależności od wybranego ```Typu``` uprawień do rekordów

#### Profil uprawnień
- użytkownik, na którym bazują uprawnienia do akcji i danych

#### Metoda uwierzytelniania i Metoda uwierzytelniania 2FA
- określa szczegóły odnośnie uwierzytelniania użytkownika

Po utworzeniu API Key i użytkownika, możemy przystąpić do nawiązania połączenia przez API. Jak to zrobić zostało opisane w tym artykule: [Pierwsze połączenie API](/developer-guides/api/first-connect)
57 changes: 57 additions & 0 deletions docs/4-developer-guides/2-api/1-first-connect.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
title: Pierwsze Połączenie
description: Jak rozpocząć pierwsze połączenie
keywords:
- Webservice
- API
- RestAPI
- configuration
- YetiForce
tags:
- Webservice
- API
- Rest API
- Configuration
preview: request-3.jpg
---

Posiadając już prawidłowo skonfigurowany klucz API i dane uwierzytelniające (zgodnie z instrukcją [konfiguracji](/developer-guides/api/config)), możemy nawiązać połączenie. By pobrać dane z serwera, należy najpierw uzyskać token uwierzytelniający. Poniższa instrukcja wyjaśnia, jak to zrobić.

## Uzyskiwanie Tokenu uwierzytelniającego

W celu uzyskania tokenu, wysyłamy do naszego serwera żądanie pod adres:

![request 1](request-1.jpg)

Do testowania tego procesu można użyć programu `Postman`. Na kolejnych zrzutach ekranu będzie przedstawione krok po kroku, jak to zrobić.

W pierwszej kolejności będzie potrzebna wartość `API Key`. By ją pobrać, w sekcji administracyjnej wybierz z lewego menu ```Integracja ➞ Web service - aplikacje``` a następnie przy interesującym cię kluczu naciśnij przycisk <kbd><i class="fa-solid fa-copy"></i></kbd> by skopiować jego wartość.

![api_key](api_key.jpg)

W programie `Postman` dodajemy nagłówek ```X-API-KEY```. Zamiast wartości ```{{APi-KEY}}``` wpisujemy wartość API Key skopiowaną z systemu YetiForce.

![request 2](request-2.jpg)

Następnie podajemy dane do logowania, zgodnie z poniższym zrzutem ekranu. Zamiast zmiennej ```{{URL}}``` podajemy adres naszej platformy YetiForce. Dane uwierzytelniające ```userName``` i ```password``` wpisujemy zgodnie z wartościami ustalonymi w sekcji administracyjnej w zakładce ```Integracja ➞ Web service - użytkownicy```.

W informacji zwrotnej otrzymamy parametr ```token```, który będziemy przekazywać w kolejnych requestach.

![request 3](request-3.jpg)

## Kolejne requesty
Po uzyskaniu wartości ```token```, możemy przejść do odpytywania API o interesujące nas dane. W tym celu do kolejnych requestów dodajemy nagłówek ```x-token``` z wartością uzyskanego tokena.

![request 4](request-4.jpg)

W zależności od tego, czy mamy wykupioną usługę ```WebService Premium``` czy też korzystamy z ```WebService Standard```, będziemy mieć do dyspozycji inny zakres dostępnych endpointów.

### Lista Endpointów dla poszczególnych usług

* [Webservice Standard](/developer-guides/api/WebserviceStandard)
* [Webservice Premium](/developer-guides/api/WebservicePremium)
* [Manage consents](/developer-guides/api/ManageConsents)
* [PBX](/developer-guides/api/PBX)
* [SMS](developer-guides/api/SMS)
* [WooCommerce](/developer-guides/api/WooCommerce)
* [Token](/developer-guides/api/Token)
56 changes: 0 additions & 56 deletions docs/4-developer-guides/2-api/2-how-to-add-graphic-file.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ This article describes how to add images via Rest API in fields that support suc
The application has two types of fields that support graphic files, namely:

- Image
- Graficzny (wiele)
- Image (many)

![graphic file](graphic-file.png)

Expand Down
19 changes: 0 additions & 19 deletions docs/4-developer-guides/2-api/8-WooCommerce.mdx

This file was deleted.

Binary file added docs/4-developer-guides/2-api/api_key.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/4-developer-guides/2-api/request-1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/4-developer-guides/2-api/request-2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/4-developer-guides/2-api/request-3.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/4-developer-guides/2-api/request-4.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,42 +1,94 @@
---
title: Configuration
description: How to properly configure the API in YetiForce
title: Konfiguracja
description: Jak prawidłowo skonfigurować API w YetiForce
keywords:
- Webservice
- API
- RestAPI
- configuration
- YetiForce
- konfiguracja
tags:
- Webservice
- API
- Rest API
- Configuration
- Konfiguracja
preview: configuration-1.jpg
---

## Aktywacja

Set active services `$enabledServices` in the [config/Api.php](https://doc.yetiforce.com/code/classes/Config-Api.html#property_enabledServices) file:
## Konfiguracja

```php
/** List of active services. Available: dav, webservice */
public static $enabledServices = ['webservice'];
```
W celu skonfigurowania połączenie API, należy najpierw wygenerować klucz API oraz utworzyć użytkownika do autoryzacji.

## Create an API app
### Generowanie API Key

To determine what kind of services are to be active, add applications of the relevant type.
Pierwszym krokiem w celu podłączenia się do API, jest wygenerowanie `API Key`. W tym celu, w sekcji administracyjnej należy wybrać w lewym menu ```Integracja``` a następnie ```Web service - Alikacje```.

Add the services you want to use in the [Web service - Applications](/administrator-guides/integration/webservice-apps/) admin panel.
![step 1](configuration-1.jpg)

## Session lifetime configuration
W celu dodania nowego API Key, wybieramy ```Dodaj klucz``` z prawej górnej strony.

[config/Security.php](https://doc.yetiforce.com/code/classes/Config-Security.html#property_apiLifetimeSessionCreate)
![step 2](configuration-2.jpg)

```php
/** Maximum session lifetime from the time it was created (in minutes) */
public static $apiLifetimeSessionCreate = 1440;
Pojawi nam się okno dodawania nowego API Key:

/** Maximum session lifetime since the last modification (in minutes) */
public static $apiLifetimeSessionUpdate = 240;
```
![step 3](configuration-3.jpg)

#### Nazwa
- dowolna nazwa, pozwlająca nam zidentyfikować dodany API Key

#### Hasło
- ciąg znaków wykorzystywany do uwierzytelniania

#### Status
- odznaczenie checkboxa, spowoduje, że API Key nie będzie aktywne

#### Typ
- określa jakich funkcjonalności będzie dotyczył API Key

#### Dozwolone adresy IP
- Pusta wartość - dostęp ze wszystkich serwerów.
Jeśli adresy IP zostaną wprowadzone (po przecinku), to dostęp do API będzie dozwolony tylko z tych adresów IP.
Przykład: x.x.x.x , y.y.y.y

#### Publiczny adres URL
- Adres URL będzie używany do wysyłania powiadomień mailowych gdzie w treści będzie można używać adresu URL np. reset hasła w Portalu Klienta, link do podglądu rekordu w Portalu Klienta


### Utworzenie użytkownika

Kolejnym krokiem jest utworzenie danych walidacyjnych do API. W tym celu w sekcji administracyjnej z lewym menu wybieramy ```Integracja ➞ Web service - Użytkownicy```.

![step 4](configuration-4.jpg)

Użytkownika będziemy dodawać dla konkretnego rodzaju usługi, dlatego w pierwszej kolejności wybieramy odpowiednią zakładkę.

![step 5](configuration-5.jpg)

W celu dodania nowego użytkownika, wybieramy przycisk <kbd>Dodaj rekord</kbd>. Pojawi się nam wówczas okno modalne, w którym będziemy mogli skonfigurować dostępy.

![step 6](configuration-6.jpg)

![step 7](configuration-7.jpg)

#### Serwer
- wybieramy, API Key, który będzie powiązany z tworzonym użytkownikiem

#### Status
- określamy, czy dany użytkownik jest aktywny

#### Hasło
- ciąg znaków wykorzystywany do autoryzacji

#### Typ
- podstawa uprawień do rekordów

#### Kontakt
- opcjonalny w zależności od wybranego ```Typu``` uprawień do rekordów

#### Profil uprawnień
- użytkownik, na którym bazują uprawnienia do akcji i danych

#### Metoda uwierzytelniania i Metoda uwierzytelniania 2FA
- określa szczegóły odnośnie uwierzytelniania użytkownika

Po utworzeniu API Key i użytkownika, możemy przystąpić do nawiązania połączenia przez API. Jak to zrobić zostało opisane w tym artykule: [Pierwsze połączenie API](/developer-guides/api/first-connect)
Loading

0 comments on commit a2eb30e

Please sign in to comment.