### GET /shipping/pickupProtocols
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for GET /shipping/pickupProtocols
```markdown
### Parameters
- **parcelIds** (string, query, required): Id paczek rozdzielone przecinkiem, przykład ?parcelIds=1,2,3
### Responses
#### 200 - ok
**PickupProtocols**
- **url** (string) (required): Link do pobrania potwierdzeń odebrania paczek przez kuriera
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/shipping/pickupProtocols?parcelIds=string"
```
```
--------------------------------
### GET /campaigns/campaigns-summary
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for GET /campaigns/campaigns-summary
```markdown
### Parameters
- **startDate** (date, query, optional): data, od której rozpoczynamy filtrowanie (format yyyy-mm-dd)
- **endDate** (date, query, optional): data, do której chcemy filtrować (format yyyy-mm-dd)
### Responses
#### 200 - Obiekt zawierający id sklepu oraz tablice składającą się z kosztów netto (w groszach) w rozbiciu na dni wraz z datami oraz z id kampanii
**ShopCampaignsCostSummaryResponse**
- **shopId** (number) (required)
- **data** (array (object))
Array items:
- **campaignId** (string)
- **date** (string (date-time))
- **netShopCost** (number) (required)
#### 400 - błędne patametry
błędne patametry
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/campaigns/campaigns-summary?startDate=value&endDate=value"
```
```
--------------------------------
### GET /hooks
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for GET /hooks
```markdown
### Responses
#### 200 - ok
**HookResponse**
- Array of object
- **hookName** (string (checkBuyability|productsNeedSync|orderCreated|orderStatusChanged|orderSellerStatusChanged)) (required) (example: "checkBuyability") ("checkBuyability"|"productsNeedSync"|"orderCreated"|"orderStatusChanged"|"orderSellerStatusChanged")
- **url** (string) (required): Adres url pod którym dostępny jest hook (example: "https://twoj-sklep.pl/check-buyability")
- **accessToken** (string): Token wystawiany przez zewnętrzny system (sklep) używany do autoryzacji (example: "eyJhbGciOiJIUzI1NiIs")
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/hooks"
```
```
--------------------------------
### GET /me
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for GET /me
```markdown
### Responses
#### 200 - ok
**ShopResponse**
- **id** (integer) (required)
- **name** (string) (required)
- **active** (boolean) (required)
- **company** (object)
- **nip** (string) (required)
- **name** (string) (required)
- **externalMatchingPolicy** (string (enabled|disabled)) (required) ("enabled"|"disabled")
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/me"
```
```
--------------------------------
### GET /dictionaries/deliveryMethods/{priceList}
Source: https://erli.pl/svc/shop-api/doc/swagger.json
Metody dostawy, które mogą znaleźć się w Order.delivery.
Wyniki dla wybranego cennika sklepu, dla którego wykonywane jest zapytanie.
```markdown
### Parameters
- **priceList** (string, path, optional): Nazwa cennika
### Responses
#### 200 - ok
- Array of DeliveryMethod
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/dictionaries/deliveryMethods/{priceList}"
```
```
--------------------------------
### GET /products/{externalId}/discount
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for GET /products/{externalId}/discount
```markdown
### Parameters
- **externalId** (string, path, optional): externalId produktu
### Responses
#### 200 - ok
**Discount**
- **unfreezeAfterwards** (boolean) (required)
- **startAt** (string (date-time)) (required)
- **restoreAt** (string (date-time)) (required)
- **newPrice** (integer) (required): Cena w groszach (example: 10000)
- **externalId** (string) (required)
- **shopId** (number) (required)
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/products/{externalId}/discount"
```
```
--------------------------------
### POST /hooks/productsNeedSync/run
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for POST /hooks/productsNeedSync/run
```markdown
### Request Body
**Content-Type:** application/json
- **externalProductIds** (array (string)) (required): Id produktów w zewnętrznym systemie, które wymagają synchronizacji (example: ["123","456"])
- **fields** (array (string)): Pola, które wymagają synchronizacji. Brak pól oznacza, że cały produkt wymaga synchronizacji (example: "price")
### Responses
#### 204 - ok
Empty response body
### Example Usage
```bash
curl -X POST "https://erli.pl/svc/shop-api/hooks/productsNeedSync/run" \
-H "Content-Type: application/json" \
-d '{
"externalProductIds": [
"123",
"456"
],
"fields": "price"
}'
```
```
--------------------------------
### POST /products/_search
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for POST /products/_search
```markdown
### Request Body
**Content-Type:** application/json
- **pagination** (object)
- **sortField** (string (externalId|marketplaceId|name|ean|sku|created|updated|archivedAt)) ("externalId"|"marketplaceId"|"name"|"ean"|"sku"|"created"|"updated"|"archivedAt")
- **after** (string): Do bazy danych zostanie przesłane ograniczenie "sortField > after" (lub < w przypadku sortowania malejącego) dopuszczalne gdy `sortField` ∈ ["externalId","name","ean","sku"]
- **order** (string (ASC|DESC)) ("ASC"|"DESC")
- **limit** (integer) (example: 50)
- **filter** (object)
- **field** (string (externalId|marketplaceId|name|ean|sku|created|updated|archivedAt|price|stock|categoryId|taxRate)) (required) ("externalId"|"marketplaceId"|"name"|"ean"|"sku"|"created"|"updated"|"archivedAt"|"price"|"stock"|"categoryId"|"taxRate")
- **operator** (string (=|!=|>|>=|<|<=)) (required) ("="|"!="|">"|">="|"<"|"<=")
- **value** (string) (required): gdy `field` ∈ ["externalId","name","ean","sku"]
- **fields** (array (string (name|description|ean|sku|baseMarket|externalReferences|sourceFulfillmentProductId|importantFeatures|externalAttributes|externalCategories|externalVariantGroup|externalResponsibleProducer|externalResponsiblePerson|images|files|price|mobilePrice|cataloguePrice|referencePriceType|stock|status|archived|dispatchTime|deliveryPriceList|weight|obligatoryIdentifier|voluntaryIdentifier|returnIdentifier|invoiceType|taxRate|basketLimit|energyLabel|instructionWithSafetyInformation|informationCard|producerId|responsiblePersonId|externalMetaProductId|productAttachments|automaticDiscountRuleId|markets|translations|externalId|externalDescriptionHash|externalDescription|attributes|categories|packaging|marketplaceId|slug|buyableProblems|archivedAt|frozen|created|updated|producerIds|responsiblePersonIds))): Określa które pola z produktu mają zostać zwrócone
### Responses
#### 200 - ok
- Array of ProductResponse
### Example Usage
```bash
curl -X POST "https://erli.pl/svc/shop-api/products/_search" \
-H "Content-Type: application/json" \
-d '{
"pagination": {
"sortField": "externalId",
"after": "value",
"order": "ASC",
"limit": 50
},
"filter": "value",
"fields": [
"name"
]
}'
```
```
--------------------------------
### POST /shipping/external
Source: https://erli.pl/svc/shop-api/doc/swagger.json
Uwaga: Nie można nadać paczek jeżeli co najmniej jedno zamówienie jest anulowane
```markdown
### Request Body
**Content-Type:** application/json
- Array of object
- **vendor** (string (inpost|pocztaPolska|dhl|dpd|ups|gls|orlen|pocztex24|ownTransport|selfPickup|ambroExpress|pekaes|tntExpress|schenker|dsv|dts|geis|fedex|jasFBG|patronService|raben|rhenus|rohligSuus|hellmann)) (required) ("inpost"|"pocztaPolska"|"dhl"|"dpd"|"ups"|"gls"|"orlen"|"pocztex24"|"ownTransport"|"selfPickup"|"ambroExpress"|"pekaes"|"tntExpress"|"schenker"|"dsv"|"dts"|"geis"|"fedex"|"jasFBG"|"patronService"|"raben"|"rhenus"|"rohligSuus"|"hellmann")
- **status** (string (preparing|readyToSend|waitingForCourier|sent|readyToPickup|pickupTimeExpired|delivered|returned|canceled|deliveryUnsuccessful|redirected)): wymagane gdy `vendor` ∈ ["ownTransport","selfPickup","ambroExpress","pekaes","tntExpress","schenker","dsv","dts","geis","fedex","jasFBG","patronService","raben","rhenus","rohligSuus","hellmann"] ("preparing"|"readyToSend"|"waitingForCourier"|"sent"|"readyToPickup"|"pickupTimeExpired"|"delivered"|"returned"|"canceled"|"deliveryUnsuccessful"|"redirected")
- **trackingNumber** (string): wymagane gdy `vendor` ∈ ["dpd","schenker","ownTransport","selfPickup"]
- **orderId** (string) (required)
### Responses
#### 200 - ok
- Array of CreateExternalParcelResponse
#### 400 - bad request
**CreateExternalParcelErrorResponse**
- Array of object
- **errorCode** (number) (required): Kod błędu
- **errorMessage** (string) (required): Opis błedu
### Example Usage
```bash
curl -X POST "https://erli.pl/svc/shop-api/shipping/external" \
-H "Content-Type: application/json" \
-d '[
{
"vendor": "inpost",
"status": "preparing",
"trackingNumber": "value",
"orderId": "string"
}
]'
```
```
--------------------------------
### GET /shipping/postingPoints
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for GET /shipping/postingPoints
```markdown
### Responses
#### 200 - ok
- Array of PostingPoint
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/shipping/postingPoints"
```
```
--------------------------------
### POST /hooks/checkBuyability/run
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for POST /hooks/checkBuyability/run
```markdown
### Request Body
**Content-Type:** application/json
- Array of object
- **productId** (string) (required): Id produktu w zewnętrznym systemie (example: "555")
- **quantity** (integer) (required): Oczekiwana liczba produktów (example: "2")
### Responses
#### 200 - ok
**CheckBuyabilityResponse**
- Array of object
- **productId** (string) (required): Id produktu w zewnętrznym systemie
- **status** (string (active|inactive)): Czy produkt jest dostępny ("active"|"inactive")
- **stock** (integer): Dostępna liczba produktów
### Example Usage
```bash
curl -X POST "https://erli.pl/svc/shop-api/hooks/checkBuyability/run" \
-H "Content-Type: application/json" \
-d '[
{
"productId": "555",
"quantity": "2"
}
]'
```
```
--------------------------------
### Schema: ProductCreate
Source: https://erli.pl/svc/shop-api/doc/swagger.json
Schema definition for ProductCreate
```markdown
## Schema: ProductCreate
Schema definition for ProductCreate
**Type:** object
- **name** (string) (required) (example: "Kurtka zimowa z kapturem")
- **description** (object)
- **sections** (array (object)) (required)
Array items:
- **items** (array (object)) (required)
Array items:
- **type** (string (TEXT|IMAGE)) ("TEXT"|"IMAGE")
- **content** (string): wymagane gdy `type` = "TEXT"
- **url** (string): wymagane gdy `type` = "IMAGE"
- **ean** (string) (example: "1234567890123")
- **sku** (string) (example: "REGEWA5PBI60CM")
- **baseMarket** (string (pl|de)) (example: "pl") ("pl"|"de")
- **externalReferences** (array (union)) (example: [{"id":"8885579723","kind":"allegro"}])
Array items:
- **id** (string) (required)
- **kind** (string (allegro|ceneo|amazon|empik|morele|arena|other|custom)) (required) ("allegro"|"ceneo"|"amazon"|"empik"|"morele"|"arena"|"other"|"custom")
- **url** (string)
- **source** (string (scrapper|profitwatch|api|manual|local|integration-rss)) ("scrapper"|"profitwatch"|"api"|"manual"|"local"|"integration-rss")
- **sourceFulfillmentProductId** (integer)
- **importantFeatures** (array (string))
- **externalAttributes** (array (union))
Array items:
- **id** (number) (required): wartość zostanie zmieniona na string
- **name** (string)
- **source** (string (shop|allegro|marketplace)) ("shop"|"allegro"|"marketplace")
- **type** (string (number|range|dictionary|string)) (required) ("number"|"range"|"dictionary"|"string")
- **index** (integer): Wartość -999, -998 jest zarezerwowana na potrzeby wewnętrzne. Domyślnie wypełniane jest indeksem elementu w tablicy.
- **values** (array (number)) (required)
- **unit** (string)
- **externalCategories** (array (object))
Array items:
- **source** (string (shop|allegro|marketplace)) ("shop"|"allegro"|"marketplace")
- **breadcrumb** (array (object)) (required)
Array items:
- **id** (number) (required): wartość zostanie zmieniona na string
- **name** (string)
- **index** (integer): Domyślnie wypełniane jest indeksem elementu w tablicy.
- **externalVariantGroup** (object)
- **id** (string) (required)
- **source** (string (marketplace|integration)) ("marketplace"|"integration")
- **attributes** (array (union)) (required)
- **externalResponsibleProducer** (array (object))
Array items:
- **externalId** (string) (required)
- **source** (string (api|manual|allegro|idosell|prestaShop|shoper|baselinker)) (required) ("api"|"manual"|"allegro"|"idosell"|"prestaShop"|"shoper"|"baselinker")
- **externalResponsiblePerson** (array (object))
Array items:
- **images** (array (object)) (required) (example: [{"url":"https://example.com/image.jpg"}])
Array items:
- **url** (string) (required)
- **isVariantImage** (boolean): Czy ten obrazek ma być użyty zamiast miniaturki (pierwszego obrazka) przy grupach wariantowych. Aktualnie tylko jeden obrazek z isVariantImage jest używany. Obrazki z isVariantImage, które nie są pierwsze na liście obrazków, może nie będą pokazywane w galerii.
- **isLifestyleImage** (boolean): Zdjęcie lifestyle'owe to fotografia, która przedstawia ludzi w autentycznych, codziennych sytuacjach, często w naturalny sposób pokazując ich interakcje z produktami, usługami lub markami.
- **files** (array (object))
Array items:
- **url** (string) (required)
- **price** (integer) (required): Cena w groszach (example: 10000)
- **mobilePrice** (integer): Cena w groszach (example: 10000)
- **cataloguePrice** (integer): Cena w groszach (example: 10000)
- **referencePriceType** (string (cataloguePrice)): Rodzaj ceny referencyjnej (ceną referencyjną jest cena katalogowa pole: cataloguePrice) (example: "cataloguePrice") ("cataloguePrice")
- **stock** (integer) (required) (example: 100)
- **status** (string (active|inactive)) (example: "active") ("active"|"inactive")
- **archived** (boolean): Zarchiwizowanie produktu sprawia, że produktu nie da się kupić i znika z panelu sklepu (example: false)
- **dispatchTime** (object) (required): Czas (w dniach roboczych) potrzebny na zdobycie towaru i przygotowanie go do wysyłki (example: {"period":1})
- **unit** (string (hour|day|month)): Domyślnie dni robocze, inne wartości są przestarzałe ("hour"|"day"|"month")
- **period** (integer) (required): gdy `unit` = "hour"
- **deliveryPriceList** (string) (example: "ubrania")
- **weight** (number): Waga w gramach. Używane do filtrowania w panelu, nie używane podczas przypisywania cenników ani jako atrybut (example: 500)
- **obligatoryIdentifier** (string): Brak oznacza użycie domyślnych warunków rękojmi (example: "Standard")
- **voluntaryIdentifier** (string): Brak oznacza użycie domyślnych warunków gwarancji (example: "Standard2Years")
- **returnIdentifier** (string): Brak oznacza użycie domyślnych warunków zwrotu (example: "Electronics30Days")
- **invoiceType** (string (vatInvoice|vatInvoiceWithMarginScheme|invoiceWithoutVat|withoutInvoice)): W przypadku braku wartości, jako wartość pola `invoiceType` zostanie użyty rodzaj faktury przypisany sklepowi (example: "vatInvoice") ("vatInvoice"|"vatInvoiceWithMarginScheme"|"invoiceWithoutVat"|"withoutInvoice")
- **taxRate** (string (TAX_0|TAX_5|TAX_8|TAX_23|TAX_NP|TAX_ZW|TAX_7|TAX_19)): Stawka VAT obowiązująca na produkcie. Dozwolone stawki VAT są uzależnione od kategorii produktu. TAX_NP = Nie przysługuje, TAX_ZW = Zwolniony z VAT, TAX_23 = 23%, etc. ("TAX_0"|"TAX_5"|"TAX_8"|"TAX_23"|"TAX_NP"|"TAX_ZW"|"TAX_7"|"TAX_19")
- **basketLimit** (integer): Ograniczenie liczby na koszyk (example: 1)
- **energyLabel** (string)
- **instructionWithSafetyInformation** (string)
- **informationCard** (string)
- **producerId** (integer): Id producenta - deprecjonowane, używaj externalResponsibleProducer
- **responsiblePersonId** (integer): Id osoby odpowiedzialnej za wprowadzenie produktu na rynek EU - deprecjonowane, używaj externalResponsiblePerson
- **externalMetaProductId** (string)
- **productAttachments** (array (object))
Array items:
- **id** (integer) (required)
- **kind** (string (guide|promotionRules|contestRules|bookSnippet|userManual|assemblyInstructions|gameInstructions|safetyGuide|energyLabel|productCard|tireLabel|dataProcessingSoftware|dataProcessingHardware|safetyDataSheet|plantProtectionLicense|recyclingInfo)) (required) ("guide"|"promotionRules"|"contestRules"|"bookSnippet"|"userManual"|"assemblyInstructions"|"gameInstructions"|"safetyGuide"|"energyLabel"|"productCard"|"tireLabel"|"dataProcessingSoftware"|"dataProcessingHardware"|"safetyDataSheet"|"plantProtectionLicense"|"recyclingInfo")
- **url** (string) (required)
- **automaticDiscountRuleId** (integer)
- **packaging** (object): Przestarzałe. Patrz pola: deliveryPriceList i weight
- **tags** (array (string)) (required)
- **weight** (number): Waga w gramach
- **frozen** (object): Zablokuj/odblokuj edycję pól przez API/integrację.
Zwykle pola są oznaczane jako zablokowane, gdy zostaną zedytowane przez panel sprzedawcy lub akcję masową.
Należy więc zachować szczególną ostrożność odblokowując edycję pól, by np. nie nadpisać ręcznie poprawianych opisów produktu.
Nie trzeba (a nawet nie należy) przesyłać wszystkich wewnętrznych pól, stan nieprzesłanych pól nie zostanie zmieniony.
Można w jednym żądaniu odblokować pole i od razu do niego coś wpisać.
Można w jednym żądaniu wpisać coś w pole (o ile nie jest zablokowane) i od razu je zablokować.
- **name** (boolean)
- **description** (boolean)
- **ean** (boolean)
- **sku** (boolean)
- **externalAttributes** (boolean)
- **externalCategories** (boolean)
- **externalVariantGroup** (boolean)
- **images** (boolean)
- **files** (boolean)
- **price** (boolean)
- **mobilePrice** (boolean)
- **cataloguePrice** (boolean)
- **importantFeatures** (boolean)
- **stock** (boolean)
- **status** (boolean)
- **dispatchTime** (boolean)
- **packaging** (boolean)
- **invoiceType** (boolean)
- **obligatoryIdentifier** (boolean)
- **voluntaryIdentifier** (boolean)
- **returnIdentifier** (boolean)
- **deliveryPriceList** (boolean)
- **weight** (boolean)
- **taxRate** (boolean)
```
--------------------------------
### GET /dictionaries/attachments
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for GET /dictionaries/attachments
```markdown
### Responses
#### 200 - ok
- Array of GetAttachmentsResponse
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/dictionaries/attachments"
```
```
--------------------------------
### GET /dictionaries/responsibleProducers
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for GET /dictionaries/responsibleProducers
```markdown
### Responses
#### 200 - ok
- Array of ResponsibleSchema
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/dictionaries/responsibleProducers"
```
```
--------------------------------
### API Overview: Marketplace API
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API pozwala na zarządzanie zamówieniami, produktami i wiadomościami.
CHANGELOG
Informacje o API
```yaml
# Marketplace API
# Version: 1.0
API pozwala na zarządzanie zamówieniami, produktami i wiadomościami.
CHANGELOG
Informacje o API
# Base URL: https://erli.pl/svc/shop-api
```
--------------------------------
### GET /dictionaries/responsiblePersons
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for GET /dictionaries/responsiblePersons
```markdown
### Responses
#### 200 - ok
- Array of ResponsibleSchema
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/dictionaries/responsiblePersons"
```
```
--------------------------------
### GET /dictionaries/shippingMethods
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for GET /dictionaries/shippingMethods
```markdown
### Responses
#### 200 - ok
- Array of ShippingMethod
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/dictionaries/shippingMethods"
```
```
--------------------------------
### GET /dictionaries/billingEntryTypes
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for GET /dictionaries/billingEntryTypes
```markdown
### Responses
#### 200 - ok
**BillingEntryTypesResponse**
- Array of object
- **type** (string) (required)
- **description** (string) (required)
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/dictionaries/billingEntryTypes"
```
```
--------------------------------
### GET /dictionaries/deliveryMethods
Source: https://erli.pl/svc/shop-api/doc/swagger.json
Metody dostawy, które mogą znaleźć się w Order.delivery.
Wyniki nie są zależne od id sklepu, dla którego wykonywane jest zapytanie.
```markdown
### Responses
#### 200 - ok
- Array of DeliveryMethod
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/dictionaries/deliveryMethods"
```
```
--------------------------------
### GET /delivery/priceListsDetails
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for GET /delivery/priceListsDetails
```markdown
### Parameters
- **id** (array (number), query, optional): filtruj po id cennika dostawy (można podać wiele)
- **name** (array (string), query, optional): filtruj po nazwie cennika dostawy (można podać wiele)
- **erliProEnabled** (boolean, query, optional): filtruj po włączonym programie ErliPRO
### Responses
#### 200 - ok
- Array of PriceListDetailsSchema
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/delivery/priceListsDetails?id=item1,item2&name=item1,item2&erliProEnabled=true"
```
```
--------------------------------
### GET /delivery/priceLists
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for GET /delivery/priceLists
```markdown
### Responses
#### 200 - ok
- Array of PriceListListItem
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/delivery/priceLists"
```
```
--------------------------------
### GET /inbox
Source: https://erli.pl/svc/shop-api/doc/swagger.json
API endpoint for GET /inbox
```markdown
### Responses
#### 200 - ok
- Array of Message
### Example Usage
```bash
curl -X GET "https://erli.pl/svc/shop-api/inbox"
```
```