Przejdź do głównej zawartości

Jak odczytać dane Paczkomatu

Kiedy kupujący wybiera punkt odbioru, aplikacja zapisuje jego dane w order.customAttributes zamówienia.

  • Dane te można odczytać w panelu Shopify → Zamówienia → Szczegóły zamówienia
  • Poprzez API:
"customAttributes": [
{
"key": "PickupPointCourier",
"value": "InPost Paczkomaty"
},
{
"key": "PickupPointName",
"value": "WRO20HP"
},
{
"key": "PickupPointId",
"value": "WRO20HP"
},
{
"key": "PickupPointAddress",
"value": "Traugutta 107/1A"
},
{
"key": "PickupPointPostCode",
"value": "50-422"
},
{
"key": "PickupPointCity",
"value": "Wrocław"
}
]

Dostępne metody dostępu do danych

1. Shopify Admin API (GraphQL)

Dane punktu odbioru są dostępne przez GraphQL Admin API w polu order.customAttributes zamówienia. Aby je pobrać, możesz użyć takiego zapytania:

query GetOrder($id: ID!) {
order(id: $id) {
customAttributes {
key
value
}
}
}
{
"id": "gid://shopify/Order/1234567890"
}

2. Webhooki

Aplikacja używa standardowych webhooków Shopify. Nasłuchuj na orders/create i orders/updated, żeby reagować na nowe zamówienia oraz na zmiany danych punktu odbioru.

ostrzeżenie

Uwaga! Ponieważ na planie STARTER klient wybiera punkt odbioru dopiero po płatności, może się zdarzyć, że webhook zostanie wysłany zanim klient wybierze Paczkomat. W takim przypadku customAttributes będzie puste.

3. Szablony powiadomień Liquid

Możesz wyświetlić dane punktu odbioru w wiadomościach do klientów, edytując szablony powiadomień Shopify:

{% if attributes.PickupPointId %}
<h4>Pickup Point</h4>
<p>
{{ attributes.PickupPointCourier }}: {{ attributes.PickupPointId }}<br>
{{ attributes.PickupPointAddress }}, {{ attributes.PickupPointPostCode }} {{ attributes.PickupPointCity }}
</p>
{% endif %}

4. Zamiana adresu wysyłki na adres punktu

Opcjonalna funkcja, która nadpisuje adres wysyłki zamówienia adresem wybranego punktu odbioru. Przydaje się, jeśli Twój system odczytuje adres z pola shipping_address zamiast z customAttributes.

FAQ

Jak mogę sprawdzić czy klient wybrał już punkt odbioru?

W planie STARTER klient wybiera punkt odbioru po płatności. Możesz nasłuchiwać na webhook orders/updated i sprawdzać, czy customAttributes zawiera klucz PickupPointId. Jeśli klucz jest nieobecny, klient jeszcze nie wybrał punktu odbioru.