Przejdź do treści

Producent odpowiedzialny — lista

GET /sale/responsible-producers

zgodna z Allegroallegro:api:sale:settings:readlimit: read

Twoje wpisy producentów, posortowane po nazwie. Bez parametrów — wszystkie naraz; offset/limit jak w Allegro (S2, 10.11): count = wpisy w odpowiedzi, totalCount = wszystkie.

Zgodność: zgodna z Allegro REST API (ten sam kształt) — GET /sale/responsible-producers.
Uprawnienie: zakres allegro:api:sale:settings:read.
Grupa limitu: read.

Parametry zapytania

offset integer

Pominięte wpisy od początku listy.

limit integer

1–1000; brak = wszystkie.

Odpowiedzi

200 Lista. · ResponsibleProducerList
responsibleProducers array<ResponsibleProducer> zawsze
Pola obiektu
id string · uuid zawsze
name string zawsze

Nazwa wpisu u sprzedawcy (1–50 znaków).

producerData object zawsze

Dane producenta.

Pola obiektu
tradeName string

Nazwa handlowa producenta.

address object

Adres (kształt Allegro).

Pola obiektu
name string
street string
postCode string
postalCode string
city string
countryCode string

Kod kraju ISO 3166-1 alfa-2.

phoneNumber string
email string · email
contact object

Dane kontaktowe.

Pola obiektu
email string · email
phoneNumber string
formUrl string · uri

Adres https formularza kontaktowego.

count integer zawsze
totalCount integer zawsze

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
422VALIDATION_ERRORZła wartość parametru zapytania (400) albo pola treści (422); path wskazuje miejsce.
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X GET "${ALLEE_API_URL:-https://api.allee.pl}/sale/responsible-producers" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -w '\nHTTP %{http_code}\n'
Odpowiedź (środowisko testowe)
HTTP 200 application/vnd.allegro.public.v1+json
{
  "responsibleProducers": [
    {
      "id": "e157086a-a704-46a9-8922-770c82c9a7d6",
      "name": "Producent demo",
      "producerData": {
        "tradeName": "Fabryka Demo",
        "address": {
          "street": "ul. Przykładowa 1",
          "postalCode": "00-001",
          "city": "Warszawa",
          "countryCode": "PL"
        },
        "contact": {
          "email": "[email protected]",
          "formUrl": "https://example.invalid/kontakt"
        }
      }
    },
    {
      "id": "472bad66-e704-4344-a2d6-9bd85b1f9a5e",
      "name": "Wytwórnia Filmowa",
      "producerData": {
        "tradeName": "Wytwórnia Filmowa Sp. z o.o.",
        "address": {
          "countryCode": "PL",
          "street": "Filmowa 5",
          "postalCode": "00-950",
          "city": "Warszawa"
        },
        "contact": {
          "email": "[email protected]",
          "phoneNumber": "+48 22 100 00 00"
        }
      }
    }
  ],
  "count": 2,
  "totalCount": 2
}
Przykład: Producenci — strona listy (offset/limit jak Allegro)
curl -sS -X GET "${ALLEE_API_URL:-https://api.allee.pl}/sale/responsible-producers?offset=0&limit=20" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -w '\nHTTP %{http_code}\n'
HTTP 200 application/vnd.allegro.public.v1+json
{
  "responsibleProducers": [
    {
      "id": "e157086a-a704-46a9-8922-770c82c9a7d6",
      "name": "Producent demo",
      "producerData": {
        "tradeName": "Fabryka Demo",
        "address": {
          "street": "ul. Przykładowa 1",
          "postalCode": "00-001",
          "city": "Warszawa",
          "countryCode": "PL"
        },
        "contact": {
          "email": "[email protected]",
          "formUrl": "https://example.invalid/kontakt"
        }
      }
    },
    {
      "id": "472bad66-e704-4344-a2d6-9bd85b1f9a5e",
      "name": "Wytwórnia Filmowa",
      "producerData": {
        "tradeName": "Wytwórnia Filmowa Sp. z o.o.",
        "address": {
          "countryCode": "PL",
          "street": "Filmowa 5",
          "postalCode": "00-950",
          "city": "Warszawa"
        },
        "contact": {
          "email": "[email protected]",
          "phoneNumber": "+48 22 100 00 00"
        }
      }
    }
  ],
  "count": 2,
  "totalCount": 2
}

Producent odpowiedzialny — nowy wpis

POST /sale/responsible-producers

zgodna z Allegroallegro:api:sale:settings:writelimit: write

name 1–50 znaków (unikalna), producerData z białej listy pól Allegro (nazwa, adres, kontakt — wartości sprawdzane, inne pola pomijane). Wymagane producerData.tradeName. Najwyżej 1000 wpisów. Dubel nazwy → 422 PRODUCER_NAME_HAS_TO_BE_UNIQUE (details = id istniejącego wpisu — użyj go).

Zgodność: zgodna z Allegro REST API (ten sam kształt) — POST /sale/responsible-producers.
Uprawnienie: zakres allegro:api:sale:settings:write.
Grupa limitu: write.

Nagłówki

Idempotency-Key string

Ochrona przed podwójnym wykonaniem (jak Stripe/Amazon): powtórzony POST z tym samym kluczem i tą samą treścią w ciągu 24 h zwraca zapisaną odpowiedź z nagłówkiem Idempotent-Replayed: true i niczego nie wykonuje drugi raz. Inna treść → 422 IDEMPOTENCY_KEY_REUSED; żądanie jeszcze trwa → 409 IDEMPOTENCY_KEY_IN_USE. 1–100 znaków ASCII (np. UUID).

Treść żądania application/vnd.allegro.public.v1+json

name string wymagane

1–50 znaków, unikalna.

producerData object wymagane
Pola obiektu
tradeName string wymagane

Wymagane (do 200 znaków).

address object

Adres (kształt Allegro).

Pola obiektu
name string
street string
postCode string
postalCode string
city string
countryCode string

Kod kraju ISO 3166-1 alfa-2.

phoneNumber string
email string · email
contact object

Dane kontaktowe.

Pola obiektu
email string · email
phoneNumber string
formUrl string · uri

Adres https formularza kontaktowego.

Odpowiedzi

201 Utworzono. · ResponsibleProducer
id string · uuid zawsze
name string zawsze

Nazwa wpisu u sprzedawcy (1–50 znaków).

producerData object zawsze

Dane producenta.

Pola obiektu
tradeName string

Nazwa handlowa producenta.

address object

Adres (kształt Allegro).

Pola obiektu
name string
street string
postCode string
postalCode string
city string
countryCode string

Kod kraju ISO 3166-1 alfa-2.

phoneNumber string
email string · email
contact object

Dane kontaktowe.

Pola obiektu
email string · email
phoneNumber string
formUrl string · uri

Adres https formularza kontaktowego.

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
413PAYLOAD_TOO_LARGETreść żądania za duża (JSON 5 MB, faktura PDF 3 MB).
415UNSUPPORTED_MEDIA_TYPEZły Content-Type treści.
422JsonMappingExceptionTreść nie jest poprawnym JSON albo ma zły kształt (np. images jako obiekty).
422LIMIT_EXCEEDEDLimit wpisów osiągnięty (np. 50 warunków danego rodzaju).
422PRODUCER_NAME_HAS_TO_BE_UNIQUEWpis GPSR o tej nazwie już jest (details = jego id).
422VALIDATION_ERRORZła wartość parametru zapytania (400) albo pola treści (422); path wskazuje miejsce.
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X POST "${ALLEE_API_URL:-https://api.allee.pl}/sale/responsible-producers" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -H "Content-Type: application/vnd.allegro.public.v1+json" \
  --data-binary @- \
  -w '\nHTTP %{http_code}\n' <<'JSON'
{
  "name": "Wytwórnia Filmowa",
  "producerData": {
    "tradeName": "Wytwórnia Filmowa Sp. z o.o.",
    "address": {
      "countryCode": "PL",
      "street": "Filmowa 5",
      "postalCode": "00-950",
      "city": "Warszawa"
    },
    "contact": {
      "email": "[email protected]",
      "phoneNumber": "+48 22 100 00 00"
    }
  }
}
JSON
Odpowiedź (środowisko testowe)
HTTP 201 application/vnd.allegro.public.v1+json
{
  "id": "472bad66-e704-4344-a2d6-9bd85b1f9a5e",
  "name": "Wytwórnia Filmowa",
  "producerData": {
    "tradeName": "Wytwórnia Filmowa Sp. z o.o.",
    "address": {
      "countryCode": "PL",
      "street": "Filmowa 5",
      "postalCode": "00-950",
      "city": "Warszawa"
    },
    "contact": {
      "email": "[email protected]",
      "phoneNumber": "+48 22 100 00 00"
    }
  }
}
Przykład: wariant
curl -sS -X POST "${ALLEE_API_URL:-https://api.allee.pl}/sale/responsible-producers" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -H "Content-Type: application/vnd.allegro.public.v1+json" \
  --data-binary @- \
  -w '\nHTTP %{http_code}\n' <<'JSON'
{
  "name": "Producent do usunięcia",
  "producerData": {
    "tradeName": "Stary Dostawca Sp. z o.o.",
    "address": {
      "countryCode": "PL",
      "street": "Boczna 1",
      "postalCode": "00-001",
      "city": "Warszawa"
    },
    "contact": {
      "email": "[email protected]"
    }
  }
}
JSON
HTTP 201 application/vnd.allegro.public.v1+json
{
  "id": "779d5493-2252-4fa5-b0f1-04968b912e73",
  "name": "Producent do usunięcia",
  "producerData": {
    "tradeName": "Stary Dostawca Sp. z o.o.",
    "address": {
      "countryCode": "PL",
      "street": "Boczna 1",
      "postalCode": "00-001",
      "city": "Warszawa"
    },
    "contact": {
      "email": "[email protected]"
    }
  }
}

Producent odpowiedzialny

GET /sale/responsible-producers/{responsibleProducerId}

zgodna z Allegroallegro:api:sale:settings:readlimit: read

Pełny wpis. Cudzy → 403, brak → 404.

Zgodność: zgodna z Allegro REST API (ten sam kształt) — GET /sale/responsible-producers/{id}.
Uprawnienie: zakres allegro:api:sale:settings:read.
Grupa limitu: read.

Parametry ścieżki

responsibleProducerId string wymagany

Identyfikator (UUID).

Odpowiedzi

200 Wpis. · ResponsibleProducer
id string · uuid zawsze
name string zawsze

Nazwa wpisu u sprzedawcy (1–50 znaków).

producerData object zawsze

Dane producenta.

Pola obiektu
tradeName string

Nazwa handlowa producenta.

address object

Adres (kształt Allegro).

Pola obiektu
name string
street string
postCode string
postalCode string
city string
countryCode string

Kod kraju ISO 3166-1 alfa-2.

phoneNumber string
email string · email
contact object

Dane kontaktowe.

Pola obiektu
email string · email
phoneNumber string
formUrl string · uri

Adres https formularza kontaktowego.

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
404NOT_FOUNDNie ma takiego zasobu (albo należy do innego sprzedawcy — dla wątków, zwrotów i spraw odpowiedź jest ta sama).
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X GET "${ALLEE_API_URL:-https://api.allee.pl}/sale/responsible-producers/472bad66-e704-4344-a2d6-9bd85b1f9a5e" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -w '\nHTTP %{http_code}\n'
Odpowiedź (środowisko testowe)
HTTP 200 application/vnd.allegro.public.v1+json
{
  "id": "472bad66-e704-4344-a2d6-9bd85b1f9a5e",
  "name": "Wytwórnia Filmowa",
  "producerData": {
    "tradeName": "Wytwórnia Filmowa Sp. z o.o.",
    "address": {
      "countryCode": "PL",
      "street": "Filmowa 5",
      "postalCode": "00-950",
      "city": "Warszawa"
    },
    "contact": {
      "email": "[email protected]",
      "phoneNumber": "+48 22 100 00 00"
    }
  }
}

Producent odpowiedzialny — zmiana

PUT /sale/responsible-producers/{responsibleProducerId}

zgodna z Allegroallegro:api:sale:settings:writelimit: write

Pełna podmiana wpisu (nieznane pole → 422); karty ofert wskazujących ten wpis pokazują nowe dane w sekcji „Bezpieczeństwo produktu”.

Zgodność: zgodna z Allegro REST API (ten sam kształt) — PUT /sale/responsible-producers/{id}.
Uprawnienie: zakres allegro:api:sale:settings:write.
Grupa limitu: write.

Parametry ścieżki

responsibleProducerId string wymagany

Identyfikator (UUID).

Treść żądania application/vnd.allegro.public.v1+json

name string wymagane

1–50 znaków, unikalna.

producerData object wymagane
Pola obiektu
tradeName string wymagane

Wymagane (do 200 znaków).

address object

Adres (kształt Allegro).

Pola obiektu
name string
street string
postCode string
postalCode string
city string
countryCode string

Kod kraju ISO 3166-1 alfa-2.

phoneNumber string
email string · email
contact object

Dane kontaktowe.

Pola obiektu
email string · email
phoneNumber string
formUrl string · uri

Adres https formularza kontaktowego.

Odpowiedzi

200 Zmieniono. · ResponsibleProducer
id string · uuid zawsze
name string zawsze

Nazwa wpisu u sprzedawcy (1–50 znaków).

producerData object zawsze

Dane producenta.

Pola obiektu
tradeName string

Nazwa handlowa producenta.

address object

Adres (kształt Allegro).

Pola obiektu
name string
street string
postCode string
postalCode string
city string
countryCode string

Kod kraju ISO 3166-1 alfa-2.

phoneNumber string
email string · email
contact object

Dane kontaktowe.

Pola obiektu
email string · email
phoneNumber string
formUrl string · uri

Adres https formularza kontaktowego.

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
404NOT_FOUNDNie ma takiego zasobu (albo należy do innego sprzedawcy — dla wątków, zwrotów i spraw odpowiedź jest ta sama).
413PAYLOAD_TOO_LARGETreść żądania za duża (JSON 5 MB, faktura PDF 3 MB).
415UNSUPPORTED_MEDIA_TYPEZły Content-Type treści.
422JsonMappingExceptionTreść nie jest poprawnym JSON albo ma zły kształt (np. images jako obiekty).
422PRODUCER_NAME_HAS_TO_BE_UNIQUEWpis GPSR o tej nazwie już jest (details = jego id).
422UnknownJSONPropertyPole nieznane w tym miejscu (path wskazuje które).
422VALIDATION_ERRORZła wartość parametru zapytania (400) albo pola treści (422); path wskazuje miejsce.
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X PUT "${ALLEE_API_URL:-https://api.allee.pl}/sale/responsible-producers/472bad66-e704-4344-a2d6-9bd85b1f9a5e" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -H "Content-Type: application/vnd.allegro.public.v1+json" \
  --data-binary @- \
  -w '\nHTTP %{http_code}\n' <<'JSON'
{
  "name": "Wytwórnia Filmowa",
  "producerData": {
    "tradeName": "Wytwórnia Filmowa Sp. z o.o.",
    "address": {
      "countryCode": "PL",
      "street": "Filmowa 7",
      "postalCode": "00-950",
      "city": "Warszawa"
    },
    "contact": {
      "email": "[email protected]",
      "phoneNumber": "+48 22 100 00 00"
    }
  }
}
JSON
Odpowiedź (środowisko testowe)
HTTP 200 application/vnd.allegro.public.v1+json
{
  "id": "472bad66-e704-4344-a2d6-9bd85b1f9a5e",
  "name": "Wytwórnia Filmowa",
  "producerData": {
    "tradeName": "Wytwórnia Filmowa Sp. z o.o.",
    "address": {
      "countryCode": "PL",
      "street": "Filmowa 7",
      "postalCode": "00-950",
      "city": "Warszawa"
    },
    "contact": {
      "email": "[email protected]",
      "phoneNumber": "+48 22 100 00 00"
    }
  }
}

Producent odpowiedzialny — usunięcie

DELETE /sale/responsible-producers/{responsibleProducerId}

zgodna z Allegroallegro:api:sale:settings:writelimit: write

Usuwa wpis. Wskazany w ofercie → 409 IN_USE.

Zgodność: zgodna z Allegro REST API (ten sam kształt) — DELETE /sale/responsible-producers/{id}.
Uprawnienie: zakres allegro:api:sale:settings:write.
Grupa limitu: write.

Parametry ścieżki

responsibleProducerId string wymagany

Identyfikator (UUID).

Odpowiedzi

204 Usunięto.

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
404NOT_FOUNDNie ma takiego zasobu (albo należy do innego sprzedawcy — dla wątków, zwrotów i spraw odpowiedź jest ta sama).
409IN_USEWpis jest wskazany w ofercie.
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X DELETE "${ALLEE_API_URL:-https://api.allee.pl}/sale/responsible-producers/779d5493-2252-4fa5-b0f1-04968b912e73" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -w '\nHTTP %{http_code}\n'
Odpowiedź (środowisko testowe)
HTTP 204 text/html; charset=UTF-8
(0 B: text/html; charset=UTF-8)

Osoba odpowiedzialna — lista

GET /sale/responsible-persons

zgodna z Allegroallegro:api:sale:settings:readlimit: read

Twoje wpisy osób odpowiedzialnych, posortowane po nazwie. Bez parametrów — wszystkie naraz; offset/limit jak w Allegro (S2, 10.11): count = wpisy w odpowiedzi, totalCount = wszystkie.

Zgodność: zgodna z Allegro REST API (ten sam kształt) — GET /sale/responsible-persons.
Uprawnienie: zakres allegro:api:sale:settings:read.
Grupa limitu: read.

Parametry zapytania

offset integer

Pominięte wpisy od początku listy.

limit integer

1–1000; brak = wszystkie.

Odpowiedzi

200 Lista. · ResponsiblePersonList
responsiblePersons array<ResponsiblePerson> zawsze
Pola obiektu
id string · uuid zawsze
name string zawsze
personalData object zawsze

Dane osoby odpowiedzialnej.

Pola obiektu
name string

Nazwa podmiotu odpowiedzialnego w UE.

address object

Adres (kształt Allegro).

Pola obiektu
name string
street string
postCode string
postalCode string
city string
countryCode string

Kod kraju ISO 3166-1 alfa-2.

phoneNumber string
email string · email
contact object

Dane kontaktowe.

Pola obiektu
email string · email
phoneNumber string
formUrl string · uri

Adres https formularza kontaktowego.

count integer zawsze
totalCount integer zawsze

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
422VALIDATION_ERRORZła wartość parametru zapytania (400) albo pola treści (422); path wskazuje miejsce.
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X GET "${ALLEE_API_URL:-https://api.allee.pl}/sale/responsible-persons" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -w '\nHTTP %{http_code}\n'
Odpowiedź (środowisko testowe)
HTTP 200 application/vnd.allegro.public.v1+json
{
  "responsiblePersons": [
    {
      "id": "6a29e43e-96c9-4bd6-b999-82c3413fdfa1",
      "name": "Importer UE",
      "personalData": {
        "name": "Import Filmów Sp. z o.o.",
        "address": {
          "countryCode": "PL",
          "street": "Portowa 3",
          "postalCode": "80-001",
          "city": "Gdańsk"
        },
        "contact": {
          "email": "[email protected]"
        }
      }
    },
    {
      "id": "30c5cc4a-ff63-4507-8c9c-e9410008b8f0",
      "name": "Osoba odpowiedzialna demo",
      "personalData": {
        "name": "Importer Demo",
        "address": {
          "street": "ul. Przykładowa 1",
          "postalCode": "00-001",
          "city": "Warszawa",
          "countryCode": "PL"
        },
        "contact": {
          "email": "[email protected]",
          "formUrl": "https://example.invalid/kontakt"
        }
      }
    }
  ],
  "count": 2,
  "totalCount": 2
}

Osoba odpowiedzialna — nowy wpis

POST /sale/responsible-persons

zgodna z Allegroallegro:api:sale:settings:writelimit: write

name 1–50 znaków (unikalna), personalData z białej listy pól Allegro (nazwa, adres, kontakt — wartości sprawdzane, inne pola pomijane). Najwyżej 1000 wpisów. Dubel nazwy → 422 PRODUCER_NAME_HAS_TO_BE_UNIQUE (details = id istniejącego wpisu — użyj go).

Zgodność: zgodna z Allegro REST API (ten sam kształt) — POST /sale/responsible-persons.
Uprawnienie: zakres allegro:api:sale:settings:write.
Grupa limitu: write.

Nagłówki

Idempotency-Key string

Ochrona przed podwójnym wykonaniem (jak Stripe/Amazon): powtórzony POST z tym samym kluczem i tą samą treścią w ciągu 24 h zwraca zapisaną odpowiedź z nagłówkiem Idempotent-Replayed: true i niczego nie wykonuje drugi raz. Inna treść → 422 IDEMPOTENCY_KEY_REUSED; żądanie jeszcze trwa → 409 IDEMPOTENCY_KEY_IN_USE. 1–100 znaków ASCII (np. UUID).

Treść żądania application/vnd.allegro.public.v1+json

name string wymagane

1–50 znaków, unikalna.

personalData object wymagane
Pola obiektu
name string
address object

Adres (kształt Allegro).

Pola obiektu
name string
street string
postCode string
postalCode string
city string
countryCode string

Kod kraju ISO 3166-1 alfa-2.

phoneNumber string
email string · email
contact object

Dane kontaktowe.

Pola obiektu
email string · email
phoneNumber string
formUrl string · uri

Adres https formularza kontaktowego.

Odpowiedzi

201 Utworzono. · ResponsiblePerson
id string · uuid zawsze
name string zawsze
personalData object zawsze

Dane osoby odpowiedzialnej.

Pola obiektu
name string

Nazwa podmiotu odpowiedzialnego w UE.

address object

Adres (kształt Allegro).

Pola obiektu
name string
street string
postCode string
postalCode string
city string
countryCode string

Kod kraju ISO 3166-1 alfa-2.

phoneNumber string
email string · email
contact object

Dane kontaktowe.

Pola obiektu
email string · email
phoneNumber string
formUrl string · uri

Adres https formularza kontaktowego.

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
413PAYLOAD_TOO_LARGETreść żądania za duża (JSON 5 MB, faktura PDF 3 MB).
415UNSUPPORTED_MEDIA_TYPEZły Content-Type treści.
422JsonMappingExceptionTreść nie jest poprawnym JSON albo ma zły kształt (np. images jako obiekty).
422LIMIT_EXCEEDEDLimit wpisów osiągnięty (np. 50 warunków danego rodzaju).
422PRODUCER_NAME_HAS_TO_BE_UNIQUEWpis GPSR o tej nazwie już jest (details = jego id).
422VALIDATION_ERRORZła wartość parametru zapytania (400) albo pola treści (422); path wskazuje miejsce.
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X POST "${ALLEE_API_URL:-https://api.allee.pl}/sale/responsible-persons" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -H "Content-Type: application/vnd.allegro.public.v1+json" \
  --data-binary @- \
  -w '\nHTTP %{http_code}\n' <<'JSON'
{
  "name": "Importer UE",
  "personalData": {
    "name": "Import Filmów Sp. z o.o.",
    "address": {
      "countryCode": "PL",
      "street": "Portowa 3",
      "postalCode": "80-001",
      "city": "Gdańsk"
    },
    "contact": {
      "email": "[email protected]"
    }
  }
}
JSON
Odpowiedź (środowisko testowe)
HTTP 201 application/vnd.allegro.public.v1+json
{
  "id": "6a29e43e-96c9-4bd6-b999-82c3413fdfa1",
  "name": "Importer UE",
  "personalData": {
    "name": "Import Filmów Sp. z o.o.",
    "address": {
      "countryCode": "PL",
      "street": "Portowa 3",
      "postalCode": "80-001",
      "city": "Gdańsk"
    },
    "contact": {
      "email": "[email protected]"
    }
  }
}

Osoba odpowiedzialna

GET /sale/responsible-persons/{responsiblePersonId}

zgodna z Allegroallegro:api:sale:settings:readlimit: read

Pełny wpis. Cudzy → 403, brak → 404.

Zgodność: zgodna z Allegro REST API (ten sam kształt) — GET /sale/responsible-persons/{id}.
Uprawnienie: zakres allegro:api:sale:settings:read.
Grupa limitu: read.

Parametry ścieżki

responsiblePersonId string wymagany

Identyfikator (UUID).

Odpowiedzi

200 Wpis. · ResponsiblePerson
id string · uuid zawsze
name string zawsze
personalData object zawsze

Dane osoby odpowiedzialnej.

Pola obiektu
name string

Nazwa podmiotu odpowiedzialnego w UE.

address object

Adres (kształt Allegro).

Pola obiektu
name string
street string
postCode string
postalCode string
city string
countryCode string

Kod kraju ISO 3166-1 alfa-2.

phoneNumber string
email string · email
contact object

Dane kontaktowe.

Pola obiektu
email string · email
phoneNumber string
formUrl string · uri

Adres https formularza kontaktowego.

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
404NOT_FOUNDNie ma takiego zasobu (albo należy do innego sprzedawcy — dla wątków, zwrotów i spraw odpowiedź jest ta sama).
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X GET "${ALLEE_API_URL:-https://api.allee.pl}/sale/responsible-persons/6a29e43e-96c9-4bd6-b999-82c3413fdfa1" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -w '\nHTTP %{http_code}\n'
Odpowiedź (środowisko testowe)
HTTP 200 application/vnd.allegro.public.v1+json
{
  "id": "6a29e43e-96c9-4bd6-b999-82c3413fdfa1",
  "name": "Importer UE",
  "personalData": {
    "name": "Import Filmów Sp. z o.o.",
    "address": {
      "countryCode": "PL",
      "street": "Portowa 3",
      "postalCode": "80-001",
      "city": "Gdańsk"
    },
    "contact": {
      "email": "[email protected]"
    }
  }
}

Osoba odpowiedzialna — zmiana

PUT /sale/responsible-persons/{responsiblePersonId}

zgodna z Allegroallegro:api:sale:settings:writelimit: write

Pełna podmiana wpisu (nieznane pole → 422); karty ofert wskazujących ten wpis pokazują nowe dane w sekcji „Bezpieczeństwo produktu”.

Zgodność: zgodna z Allegro REST API (ten sam kształt) — PUT /sale/responsible-persons/{id}.
Uprawnienie: zakres allegro:api:sale:settings:write.
Grupa limitu: write.

Parametry ścieżki

responsiblePersonId string wymagany

Identyfikator (UUID).

Treść żądania application/vnd.allegro.public.v1+json

name string wymagane

1–50 znaków, unikalna.

personalData object wymagane
Pola obiektu
name string
address object

Adres (kształt Allegro).

Pola obiektu
name string
street string
postCode string
postalCode string
city string
countryCode string

Kod kraju ISO 3166-1 alfa-2.

phoneNumber string
email string · email
contact object

Dane kontaktowe.

Pola obiektu
email string · email
phoneNumber string
formUrl string · uri

Adres https formularza kontaktowego.

Odpowiedzi

200 Zmieniono. · ResponsiblePerson
id string · uuid zawsze
name string zawsze
personalData object zawsze

Dane osoby odpowiedzialnej.

Pola obiektu
name string

Nazwa podmiotu odpowiedzialnego w UE.

address object

Adres (kształt Allegro).

Pola obiektu
name string
street string
postCode string
postalCode string
city string
countryCode string

Kod kraju ISO 3166-1 alfa-2.

phoneNumber string
email string · email
contact object

Dane kontaktowe.

Pola obiektu
email string · email
phoneNumber string
formUrl string · uri

Adres https formularza kontaktowego.

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
404NOT_FOUNDNie ma takiego zasobu (albo należy do innego sprzedawcy — dla wątków, zwrotów i spraw odpowiedź jest ta sama).
413PAYLOAD_TOO_LARGETreść żądania za duża (JSON 5 MB, faktura PDF 3 MB).
415UNSUPPORTED_MEDIA_TYPEZły Content-Type treści.
422JsonMappingExceptionTreść nie jest poprawnym JSON albo ma zły kształt (np. images jako obiekty).
422PRODUCER_NAME_HAS_TO_BE_UNIQUEWpis GPSR o tej nazwie już jest (details = jego id).
422UnknownJSONPropertyPole nieznane w tym miejscu (path wskazuje które).
422VALIDATION_ERRORZła wartość parametru zapytania (400) albo pola treści (422); path wskazuje miejsce.
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X PUT "${ALLEE_API_URL:-https://api.allee.pl}/sale/responsible-persons/6a29e43e-96c9-4bd6-b999-82c3413fdfa1" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -H "Content-Type: application/vnd.allegro.public.v1+json" \
  --data-binary @- \
  -w '\nHTTP %{http_code}\n' <<'JSON'
{
  "name": "Importer UE",
  "personalData": {
    "name": "Import Filmów Sp. z o.o.",
    "address": {
      "countryCode": "PL",
      "street": "Portowa 4",
      "postalCode": "80-001",
      "city": "Gdańsk"
    },
    "contact": {
      "email": "[email protected]"
    }
  }
}
JSON
Odpowiedź (środowisko testowe)
HTTP 200 application/vnd.allegro.public.v1+json
{
  "id": "6a29e43e-96c9-4bd6-b999-82c3413fdfa1",
  "name": "Importer UE",
  "personalData": {
    "name": "Import Filmów Sp. z o.o.",
    "address": {
      "countryCode": "PL",
      "street": "Portowa 4",
      "postalCode": "80-001",
      "city": "Gdańsk"
    },
    "contact": {
      "email": "[email protected]"
    }
  }
}

Osoba odpowiedzialna — usunięcie

DELETE /sale/responsible-persons/{responsiblePersonId}

zgodna z Allegroallegro:api:sale:settings:writelimit: write

Usuwa wpis. Wskazany w ofercie → 409 IN_USE.

Zgodność: zgodna z Allegro REST API (ten sam kształt) — DELETE /sale/responsible-persons/{id}.
Uprawnienie: zakres allegro:api:sale:settings:write.
Grupa limitu: write.

Parametry ścieżki

responsiblePersonId string wymagany

Identyfikator (UUID).

Odpowiedzi

204 Usunięto.

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
404NOT_FOUNDNie ma takiego zasobu (albo należy do innego sprzedawcy — dla wątków, zwrotów i spraw odpowiedź jest ta sama).
409IN_USEWpis jest wskazany w ofercie.
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X DELETE "${ALLEE_API_URL:-https://api.allee.pl}/sale/responsible-persons/6a29e43e-96c9-4bd6-b999-82c3413fdfa1" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -w '\nHTTP %{http_code}\n'
Odpowiedź (środowisko testowe)
HTTP 204 text/html; charset=UTF-8
(0 B: text/html; charset=UTF-8)