# API

## Integracja z API EmailLabs

EmailLabs udostępnia nowoczesne **REST API**, które umożliwia integrację zewnętrznych systemów z infrastrukturą EmailLabs. API zostało zaprojektowane zgodnie ze specyfikacją **JSONAPI**, co zapewnia jego czytelność i intuicyjność. Dokumentacja API jest generowana na podstawie pliku **Swagger** zgodnego ze standardem **OpenAPI 3.0.2.**

### Ogólne Zasady Działania API

* **Format komunikacji**: API obsługuje i zwraca dane wyłącznie w formacie JSON. Wszystkie żądania muszą być wysyłane z nagłówkiem Content-Type: application/json
* **Schemat odpowiedzi**: Wszystkie odpowiedzi zwracane przez API mają ujednoliconą strukturę:

```
{
	"meta": {
    	"numberOfErrors": 0,
    	"numberOfData": 1,
    	"status": 200,
    	"uniqId": "12345-abcde-67890",
    	"someField": "optional_value"
	},
	"data": [],
	"errors": [
    	{
        	"title": "Błąd",
        	"message": "Opis błędu",
        	"code": "ERROR_CODE",
        	"meta": {
            	"parameter": "nazwa_parametru",
            	"value": "wartość_parametru",
            	"source": "źródło_błędu"
        	}
    	}
	]
}

```

### Uwierzytelnianie w API

API EmailLabs wymaga uwierzytelnienia za pomocą dwóch kluczy:

* **Application-Key** – klucz aplikacji.
* **Authorization** – klucz autoryzacyjny (ciąg 128 znaków).

Klucze można wygenerować w panelu EmailLabs w sekcji **Konto -> Ustawienia -> API**.\
Więcej informacji o tym jak wygenerować klucze znajdziesz [tutaj](https://newpanel.docs.emaillabs.io/konto/ustawienia/api/generowanie-kluczy-api).

### Dokumentacja API&#x20;

[Szczegółowa dokumentacja API](https://vercom.gitbook.io/emaillabs-api-docs)
