Denne artikel handler om webhooks i Shoporama. Hvordan du opretter en webhook og hvad du kan bruge dem til.
Den gennemgår:
I korte træk, så er webhooks en teknik man bruger, når man gerne vil have Shoporama til at fortælle en anden service, at der er sket noget på Shoporama. Lad os illustrere det med et eksempel fra den virkelige verden:
Forestil dig en familie, der er på kør selv-ferie til Sydfrankrig. Børnene på bagsædet spørger hele tiden "er vi der snart?".
På sådan en køretur kan det spørgsmål godt opstå en 50-100 gange. Det optimale ville være, at de ikke spurgte og i stedet, så sagde mor "nu er vi der", når bilen var fremme.
På samme måde kan man forestille sig integrationer mellem Shoporama og en anden service. Forestil dig, du har et lagerhotel (det er i tilfældet her symboliseret som børnene). Lagerhotellet skal have besked om nye ordrer og spørger derfor Shoporamas server hvert 5. minut "er der nogle nye ordrer?".
Det er jo lidt spild af internettrafik / belastning af serveren.
I stedet for kan Shoporama sige til lagerhotellet "nu er der en ny ordre" (altså ligesom moren, der siger, de er ankommet.
For at gøre netop dét, så bruger man webhooks. Et webhook er moren, der siger "vi er ankommet". På den måde behøver du ikke hele tiden spørge Shoporama om der er sket noget nyt.
I Shoporama kan du oprette et webhook. Så siger du "giv den her server besked, når der kommer en ny ordre". Og så kan den server gøre noget med ordren (det kan være statistik, sende til et økonomisystem, sende til et lagerhotel, sende en sms ud eller noget helt femte).
For at oprette et webhook i Shoporama klikker du på tandhjulet i øverste højre hjørne.
Herefter vælger du punktet API og scroller så ned til "Web hooks". Alternativt kan du også blot klikke her.
Her indsætter du den URL, som du ønsker, der skal pinges, når der sker noget i din shop.
Har du flere URL'er, der skal have besked, så adskil dem med mellemrum.
Herunder ser du et eksempel på, hvordan et webhook ser ud:
{ "order_id": 3035132, "webshop_order_id": 1126, "original_order_id": null, "customer_id": null, "basket_id": 17235049, "invoice_id": null, "shipping_id": 9215, "voucher_id": null, "voucher_code": null, "voucher_discount": null, "voucher_discount_amount": null, "payment_gateway": "onpay", "payment_gateway_id": 3513, "time": "2024-08-21 13:09:18", "status": "new", "status_changed": null, "paid": 1, "captured": null, "transaction_id": "", "responce_id": null, "card_type": "", "tracking_number": "", "price": 50, "shipping_price": 0, "vat": 10, "total_price": 50, "email": "vadskaer@shoporama.dk", "phone": "71992838", "ean_number": "", "vat_number": "", "order_company_name": "", "order_name": "Benny Bomstærk", "order_address": "Paradisæblevej 13", "order_address_2": "", "order_zipcode": "5000", "order_city": "Odense", "order_country_id": 1, "del_company_name": "", "del_name": "Benny Bomstærk", "del_address": "Paradisæblevej 13", "del_address_2": "", "del_zipcode": "5000", "comments": "Dette er en test af webhooks", "internal_comments": "", "del_city": "Odense", "del_country_id": 1, "extra": "", "note": null, "pickup_address": "", "tracking_called": 0, "shop_gateway_need_update": 0, "shop_gateway_need_booking": 0, "shop_gateway_fail": 0, "after_purchase_mail": null, "after_purchase_mail_sent": 0, "tt_status": null, "tt_data": null, "utm_source": null, "utm_medium": null, "utm_campaign": null, "utm_term": null, "utm_content": null, "http_referer": "www.shoporama.dk", "meta": "", "log": "IP: 77.213.113.177 USER-AGENT: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:128.0) Gecko/20100101 Firefox/128.0 TIME: Wed, 21 Aug 2024 13:09:18 +0200", "from_subscription": 0, "send_to_del": 0, "mailed": null, "ip": "77.213.113.177", "last_modified": "2024-08-21 13:10:05", "shipping_weight": 0, "shipping_vat_pct": "25", "currency": "DKK", "order_country_name": "Danmark", "order_country_code": "DK", "del_country_name": "Danmark", "del_country_code": "DK", "shipping_method": "GLS", "tracking_numbers": [], "payment_gateway_name": "OnPay", "labels": [], "shop_id": null, "campaign_discount": null, "discount_products_matches": [ "2453685" ], "total_discount": null, "campaign_price_model": null, "points_used": null, "currency_pr_point": 100, "products": [ { "order_product_id": 6593373, "product_id": 2453685, "name": "Bæltedyr", "amount": 1, "comment": null, "unit_price": 50, "unit_vat": 10, "own_id": "2453685", "sec_own_id": null, "from_bundle": 0, "bundle_product_id": null, "location": "123", "gtin": "", "shipping_weight": null, "is_bundle": 0, "images": [ { "image_id": "2066457", "variant_name": null, "url": "https://websmed.dk//cache/2/0/6/6/4/5/7/fit-1000x1000x100.png" }, { "image_id": "2066459", "variant_name": null, "url": "https://websmed.dk//cache/2/0/6/6/4/5/9/fit-1000x1000x100.png" } ], "attributes": [] } ] }