Send fysiske breve fra Shopify
Send automatisk et brev til kunden, når en ordre oprettes eller får et bestemt tag. Fx et takkekort, en betalingspåmindelse eller en returseddel til kunder uden e-mail. Det kræver ikke et plugin: Shopify kalder Postlys API direkte. Et almindeligt brev koster 55,20 kr. ekskl. moms (69 kr. inkl. moms) og trækkes fra jeres forudbetalte saldo.
Før I starter
- En Postly-erhvervskonto med API-nøgle og saldo. Se kom i gang.
- Shopify Flow med handlingen "Send HTTP request". Ifølge Shopify findes den på planerne Grow, Advanced og Plus. På Basic kan I bruge Zapier eller Make i stedet (se nederst).
- Kun danske adresser: Postly sender breve i Danmark.
1. Gem API-nøglen som secret i Flow
I Shopify Flow: Indstillinger, Secrets, opret en secret med handle postly_api_key og jeres Postly-nøgle som værdi. Så står nøglen aldrig i selve workflowet eller i loggen.
2. Opret et workflow
- Trigger: Order tags added med tagget
postbrev(så I selv vælger, hvilke ordrer der får brev), eller Order created. - Betingelse: leveringsadressens land er Danmark (
shippingAddress.countryCodeV2erDK). - Handling: Send HTTP request med metoden POST til
https://postly.dk/api/public/v1/letters.
3. Headers
Authorization: Bearer {{ secrets.postly_api_key }}
Content-Type: application/json
Idempotency-Key: shopify-{{ order.id }}Idempotency-Key sikrer, at et brev ikke sendes to gange, hvis Flow prøver kaldet igen.
4. Body
Skift afsender og tekst til jeres egne. Filtret | json sørger for, at kundens navn og adresse bliver korrekt JSON, også med anførselstegn og æ, ø og å.
{% capture brev %}Kære {{ order.shippingAddress.firstName }}
Tak for din ordre {{ order.name }}. Vi har lagt et lille kort i posten til dig.
Venlig hilsen
Din Butik{% endcapture %}
{
"letterType": "almindelig",
"sender": {
"name": "Din Butik ApS",
"address": "Butiksvej 1",
"zip": "2000",
"city": "Frederiksberg"
},
"recipient": {
"name": {{ order.shippingAddress.name | json }},
"address": {{ order.shippingAddress.address1 | json }},
"address2": {{ order.shippingAddress.address2 | default: "" | json }},
"zip": {{ order.shippingAddress.zip | json }},
"city": {{ order.shippingAddress.city | json }}
},
"text": {{ brev | strip | json }},
"reference": {{ order.name | json }}
}5. Test og fejl
- Lav en testordre med tagget og jeres egen adresse. Svarer Postly 201, er brevet sendt til print, og det kan ikke annulleres derefter.
- Vælg i Flow, at svar med 4XX ikke prøves igen: de betyder fx ugyldig adresse eller for lav saldo (402). Svar med 5XX og 429 må gerne prøves igen.
- Status kan følges i Postly under jeres konto eller via API'et.
Uden Shopify Flow: Zapier eller Make
Brug Shopify-triggeren for nye eller betalte ordrer og en webhook-handling, der sender samme POST, headers og JSON som ovenfor til Postlys API. Brug ordrens id i Idempotency-Key.
Persondata
Kundens navn og adresse sendes til Postly, som behandler dem som databehandler for jer og kun for at printe og sende brevet. Se databehandleraftalen.