18 września 2018
Nowe zasoby - Dyskusje
Udostępniliśmy zasoby, które pozwolą ci korzystać z dyskusji za pomocą REST API na koncie zautoryzowanego sprzedawcy.
Przygotowaliśmy następujące metody:
- GET /sale/disputes - chcę pobrać wszystkie dyskusje na danym koncie.
- GET /sale/disputes?checkoutForm.id={checkoutForm.id} - chcę pobrać wszystkie dyskusje dla danego zamówienia.
- GET /sale/disputes/{dispute.Id} - chcę pobrać szczegółowe informacje o danej dyskusji.
- GET/sale/disputes/{dispute.Id}/messages - chcę pobrać wiadomości z dyskusji.
- GET /sale/dispute-attachments/{attachment.Id} - chcę pobrać załącznik.
- POST /sale/disputes/{dispute.id}/messages - chcę dodać wiadomość w dyskusji.
- POST /sale/dispute-attachments/ - chcę dodać deklarację załącznika w dyskusji.
- PUT https://upload.allegro.pl/dispute-attachments/{attachment.Id} - chcę dodać załącznik do dyskusji.
GET /sale/disputes
Ten zasób pozwoli ci, jako zalogowanemu sprzedawcy, pobrać wszystkie dyskusje na danym koncie. Aby zawęzić listę wyszukiwania, możesz skorzystać z parametrów:
- limit by określić liczbę wiadomości na liście (min. 1, max. 100)
- offset by wskazać miejsce, od którego chcesz pobrać kolejną porcję danych (min. 0).
Np. GET /sale/disputes?limit=4&offset=5
Przykładowy request:
curl -X GET \
https://api.allegro.pl/sale/disputes \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}'
Przykładowy response:
{
"disputes": [
{
"id": "a38812fa-6fef-4c9c-ac06-a0952b67ba78", -- identyfikator danej dyskusji
"subject": {
"name": "przedmiot jest uszkodzony" -- powód rozpoczęcia dyskusji,
dostępne wartości
},
"status": "ONGOING", -- status dyskusji,
dostępne wartości:
“ONGOING” (w toku),
“CLOSED” (zakończona),
“UNRESOLVED” (nierozwiązana)
"buyer": {
"id": "3952032", -- identyfikator kupującego
"login": "Buyer_login1" -- login kupującego
},
"checkoutForm": {
"id": "31fc03c3-9ebc-11e8-8885-2bfbcd0aa7ab", -- identyfikator zamówienia
"createdAt": "2018-08-13T05:46:56.000Z" -- data utworzenia zamówienia
},
"message": { -- pierwsza wiadomość w dyskusji
"id": "e75d97ba-18a7-4d1b-a7ee-d02ba1a21bba", -- identyfikator wiadomości
"text": "Niestety towar jest uszkodzony.", -- treść wiadomości
"attachment": { -- załącznik w dyskusji
"fileName": "Zrzut ekranu.png", -- nazwa pliku
"url": "https://upload.allegro.pl/sale/ -- adres pliku
dispute-attachments/731f2401-7b79-4212-be9e-591464526cfe"
},
"author": {
"login": "Buyer_login1",
"role": "BUYER" -- rola autora wiadomości:
BUYER, ADMIN
},
"createdAt": "2018-09-14T06:34:24.258Z" -- data utworzenia dyskusji
},
"messagesCount": 5 -- liczba wiadomości w dyskusji
},
{
"id": "a6f45545-16a6-4ede-b689-aa105b184229",
"subject": {
"name": "przedmiot jest uszkodzony"
},
"status": "UNRESOLVED",
"buyer": {
"id": "42334554",
"login": "Buyer_login2"
},
"checkoutForm": {
"id": "3add96b0-734f-11e6-9999-2be182b71611",
"createdAt": "2016-09-05T09:58:01.000Z"
},
"message": {
"id": "8de2dd79-75c6-4f35-ba5f-5ddf2c4f699a",
"text": "dostałem nadgryziony produkt",
"author": {
"login": "Buyer_login2",
"role": "BUYER"
},
"createdAt": "2016-09-20T11:09:20.659Z"
},
"messagesCount": 6
}
]
}
GET /sale/disputes?checkoutForm.id={checkoutForm.id}
Ten zasób pozwoli ci jako zalogowanemu sprzedawcy, pobrać dyskusję dla danego zamówienia. Nr zamówienia uzyskasz np. metodą GET /order/checkout-forms.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/disputes?checkoutForm.id=31fc03c3-9ebc-11e8-8885-2bfbcd0aa7ab' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}'
Przykładowy response:
{
"disputes": [
{
"id": "a38812fa-6fef-4c9c-ac06-a0952b67ba78", -- identyfikator danej dyskusji
"subject": {
"name": "przedmiot jest uszkodzony" -- powód rozpoczęcia dyskusji,
dostępne wartości
},
"status": "ONGOING", -- status dyskusji,
dostępne wartości:
“ONGOING” (w toku),
“CLOSED” (zakończona),
“UNRESOLVED” (nierozwiązana)
"buyer": {
"id": "3952032", -- identyfikator kupującego
"login": "Buyer_login1" -- login kupującego
},
"checkoutForm": {
"id": "31fc03c3-9ebc-11e8-8885-2bfbcd0aa7ab", -- identyfikator zamówienia
"createdAt": "2018-08-13T05:46:56.000Z" -- data utworzenia zamówienia
},
"message": { -- pierwsza wiadomość w dyskusji
"id": "e75d97ba-18a7-4d1b-a7ee-d02ba1a21bba", -- identyfikator wiadomości
"text": "Niestety towar jest uszkodzony.", -- treść wiadomości
"attachment": { -- załącznik w dyskusji
"fileName": "Zrzut ekranu.png", -- nazwa pliku
"url": "https://upload.allegro.pl/sale/ -- adres pliku
dispute-attachments/731f2401-7b79-4212-be9e-591464526cfe"
},
"author": {
"login": "Buyer_login1",
"role": "BUYER" -- rola autora wiadomości:
BUYER, ADMIN
},
"createdAt": "2018-09-14T06:34:24.258Z" -- data utworzenia dyskusji
},
"messagesCount": 5 -- liczba wiadomości w dyskusji
}
]
}
GET /sale/disputes/{dispute.Id}
Ten zasób pozwoli ci jako zalogowanemu sprzedawcy pobrać informacje o danej dyskusji. {dispute.Id} to id dyskusji, które znajdziesz w zakładce Dyskusje lub pobierzesz metodą GET /sale/disputes.
Przykładowy request:
curl -X GET \
https://api.allegro.pl/sale/disputes/a38812fa-6fef-4c9c-ac06-a0952b67ba78 \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}'
Przykładowy response:
{
"id": "a38812fa-6fef-4c9c-ac06-a0952b67ba78", -- identyfikator danej dyskusji
"subject": {
"name": "przedmiot jest uszkodzony" -- powód rozpoczęcia dyskusji,
dostępne wartości
},
"status": "ONGOING", -- status dyskusji, dostępne wartości:
“ONGOING” (w toku), “CLOSED” (zakończona),
“UNRESOLVED” (nierozwiązana)
"buyer": {
"id": "3952032", -- identyfikator kupującego
"login": "Buyer_login1" -- login kupującego
},
"checkoutForm": {
"id": "31fc03c3-9ebc-11e8-8885-2bfbcd0aa7ab", -- identyfikator zamówienia
"createdAt": "2018-08-13T05:46:56.000Z" -- data utworzenia zamówienia
},
"message": { -- pierwsza wiadomość w dyskusji
"id": "e75d97ba-18a7-4d1b-a7ee-d02ba1a21bba", -- identyfikator wiadomości
"text": "Niestety towar jest uszkodzony.", -- treść wiadomości
"attachment": { -- załącznik w dyskusji
"fileName": "Zrzut ekranu.png", -- nazwa pliku
"url": "https://upload.allegro.pl/sale/ -- adres pliku
dispute-attachments/731f2401-7b79-4212-be9e-591464526cfe"
},
"author": {
"login": "Buyer_login1",
"role": "BUYER" -- rola autora wiadomości:
BUYER, ADMIN
},
"createdAt": "2018-09-14T06:34:24.258Z" -- data utworzenia dyskusji
},
"messagesCount": 5 -- liczba wiadomości w dyskusji
}
GET/sale/disputes/{dispute.Id}/messages
Ten zasób pozwoli ci jako zalogowanemu sprzedawcy pobrać wszystkie wiadomości z dyskusji. Wiadomości zwracamy w kolejności od najnowszej do najstarszej.
Aby zawęzić listę wyszukiwania, możesz skorzystać z parametrów:
- limit by określić liczbę wiadomości na liście (min. 1, max. 100)
- offset by wskazać miejsce, od którego chcesz pobrać kolejną porcję danych (min. 0). Np. GET /sale/disputes/{dispute.Id}/messages?limit=4&offset=5
Przykładowy request:
curl -X GET \
https://api.allegro.pl/sale/disputes/a38812fa-6fef-4c9c-ac06-a0952b67ba78/messages \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}'
Przykładowy response:
{
"messages": [
{
"id": "657fc2c1-addf-416a-8129-e2b55740248b", -- identyfikator wiadomości
"text": "Vestibulum eu interdum ex, p...", -- treść wiadomości
"author": {
"login": "Seller_login1", -- login autora wiadomości
"role": "SELLER" -- rola autora wiadomości:
BUYER, ADMIN, SELLER
},
"createdAt": "2018-09-14T06:36:55.332Z" -- data utworzeia
},
{
"id": "8586fa58-ff19-4713-8b3e-9c0c3ff73e1b",
"text": "Lorem ipsum ...",
"author": {
"login": "Buyer_login1",
"role": "BUYER"
},
"createdAt": "2018-09-14T06:36:40.100Z"
},
{
"id": "3f730fe3-f2d4-4548-a722-b81c27acd282",
"text": "Proszę o szczegóły...",
"author": {
"login": "Seller_login1",
"role": "SELLER"
},
"createdAt": "2018-09-14T06:36:14.270Z"
},
{
"id": "10d392e2-6ea7-4347-9baf-5fe54a9580e8",
"text": "Czy mogę prosić o wymianę?",
"author": {
"login": "Buyer_login1",
"role": "BUYER"
},
"createdAt": "2018-09-14T06:34:44.439Z"
},
{
"id": "e75d97ba-18a7-4d1b-a7ee-d02ba1a21bba",
"text": "Niestety towar jest uszkodzony.",
"attachment": { -- załącznik w dyskusji
"fileName": "Zrzut ekranu.png", -- nazwa pliku
"url": "https://upload.allegro.pl/sale/ -- adres pliku
dispute-attachments/731f2401-7b79-4212-be9e-591464526cfe"
},
"author": {
"login": "Buyer_login1",
"role": "BUYER"
},
"createdAt": "2018-09-14T06:34:24.258Z"
}
]
}
GET /sale/dispute-attachments/{attachment.Id}
Tym zasobem, jako zalogowany sprzedawca, pobierzesz załącznik z dyskusji. {attachment.Id} znajdziesz w danych o dyskusji - w polu attachment.
Przykładowy request:
curl -X GET \
https://api.allegro.pl/sale/dispute-attachments/66377da8-eee2-4094-8dcf-3540e51c307f \
-H 'Authorization: Bearer {token}'
POST /sale/disputes/{dispute.id}/messages
Tym zasobem, jako zalogowany sprzedawca, dodasz wiadomość w dyskusji. ID dyskusji uzyskasz w zakładce Dyskusje lub metodą GET /sale/disputes.
Wiadomość może mieć dwa typy:
- REGULAR to standardowa wiadomość. Może zawierać tekst, załącznik lub oba.
- END_REQUEST to odpowiednik opcji POPROŚ O ZAKOŃCZENIE DYSKUSJI.
Przykładowy request:
curl -X POST \
https://api.allegro.pl/sale/disputes/a38812fa-6fef-4c9c-ac06-a0952b67ba78/messages \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-d '{
"text": "Lorem ipsum dolor sit amet, -- wymagane (jeśli nie przesyłasz załącznika)
consectetur adipiscing elit.\n\n\n
Pellentesque tincidunt, lacus nec interdum pellentesque.",
"attachment":{
"id": "77b2f474-0b87-4b68-9297-56676bc84a6c" -- wymagane (jeśli nie przesyłasz pola text);
id załącznika, który uzyskasz metodą
POST /sale/dispute-attachments/
},
"type": "REGULAR" -- wymagane, typ wiadomości:
REGULAR i END_REQUEST
}'
Przykładowy response:
{
"id": "962e051e-2509-4ccf-910d-5e5179b975b9",
"text": "Lorem ipsum dolor sit amet,
consectetur adipiscing elit.\n\n\n
Pellentesque tincidunt, lacus nec interdum pellentesque.",
"author": {
"login": "Seller_login1",
"role": "SELLER"
},
"createdAt": "2018-09-17T05:20:56.692Z"
}
POST /sale/dispute-attachments/
Tym zasobem, jako zalogowany sprzedawca, prześlesz deklarację załącznika, czyli zdefiniujesz jego rozmiar i nazwę. W odpowiedzi otrzymasz:
- w nagłówku (header) - Location, która zawiera url https://upload.allegro.pl/sale/dispute-attachments/{attachmentId}, na który wyślesz załącznik metodą PUT na zasobie https://upload.allegro.pl/dispute-attachments/{attachmentId}
- w body - id do załącznika {attachmentId}.
Przykładowy request:
curl -X POST \
https://api.allegro.pl/sale/dispute-attachments \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-d '{
"size": 2549, -- wymagane, rozmiar pliku
"fileName": "Zrzut_ekranu.png" -- wymagane, nazwa pliku
}'
Przykładowy response:
{
"id": "77b2f474-0b87-4b68-9297-56676bc84a6c"
}
PUT https://upload.allegro.pl/sale/dispute-attachments/{attachment.Id}
Tym zasobem, jako zalogowany sprzedawca, prześlesz załącznik na nasze serwery. W wywołaniu podaj id załącznika {attachmentId}. {attachmentId} otrzymałeś metodą POST /sale/dispute-attachments. Jako content-type podaj rodzaj pliku jaki chcesz dodać:
- image/png
- image/gif
- image/bmp
- image/tiff
- image/jpeg
- application/pdf
Przykładowy request:
curl -X PUT \
https://upload.allegro.pl/sale/dispute-attachments/66377da8-eee2-4094-8dcf-3540e51c307f \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
-H 'Content-Type: image/png'