Menar du...


  • Kategorier för din sökning

  • Inget resultat

     Webhooks

    Integrera till Vendre och få reda på när ex. order & kunder tillkommer eller ändras 

    Få meddelande i realtid

    Vendres Webhooks-system låter dig i realtid få veta när ett event har skett i Vendre. Detta kan exempelvis vara om en order har inkommit. 

    Webhooken skickar med grundläggande information om det event som är aktuellt.

    Event som du kan lyssna på

     Event Triggas när Data som skickas med
    new_customer Kund skapas API enligt GET på kund
    updated_customer Kund uppdateras API enligt GET på kund
    new_order Ny order  API enligt GET på order
    deleted_customer Kund borttagen API enligt GET på kund
    Varukorg ändrad Inloggad kund lägger till, tar bort eller ändrar på produkt i varukorgen.

    Se nedan.

    Fält som skickas med eventet Varukorg ändrad

     Fält Data
    customer API enligt GET på kund
    customer_extra.group_name Namn på kundens kundgrupp/prislista.
    customer_extra.language_code Språkkod för kundens valda språk.
    products[].id_string Produktens id-nummer samt attribut och annat.
    products[].id Produktens id-nummer.
    products[].image_id Produktens huvudbilds id.
    products[].image_path Sökväg till bilden, domännamn tas inte med.
    products[].quantity Antal av produkten på den här produktraden i varukorgen.
    products[].model Produktens artikelnummer.
    products[].name Produktens namn.
    products[].price Produktens pris innan vissa rabatter och attributvärden.
    products[].final_price Produktens pris.
    products[].tax Produktens moms i procent.
    products[].tax_class_id Produktens momsklassid.
    products[].weight Produktens vikt i kg.
    products[].package_content Antal enheter per styck i enhetsfunktionen.
    products[].unit Förkortning av produktens enhet i enhetsfunktionen.

     

    Arbeta med webhooks i Vendre

    Du kan aktivera och arbeta med webhooks direkt i Vendres administration. Gå till Appar & Integration > Webhooks för att hitta dem.

    Valmöjligheter

    Du kan:

    • Aktivera och inaktivera webhook-typer.
    • Aktivera och inaktivera specifika webhook-länkar.
    • Aktivera och inaktivera om en specifik webhook-länk ska skicka med data.
    • Aktivera utökad data för utvalda webhooks
    • Ta bort en webhook-typ.
    • Ta bort en specifik webhook-länk.

    Skapa en webhook

    1. Gå till Appar & Integration > Webhooks
    2. Börja med att klicka på Ny Webhook och välj det event du önskar lägga till en webhook för. 
    3. Ange en URL och om du vill Skicka med data (läs mer nedan)
    4. Klicka Spara
    5. Genomför det event du lagt till för att testa. Ex. Skapa en order, en ny kund eller uppdatera en kund. 
    6. Följ anropet genom loggen längst ner på sidan

    Ta bort en webhook

    Tar du bort en webhook-länk, eller en webhook-typ, så tas alla loggar bort som tillhör den länken/typen också.

       

    Hur skickas webhooken?

    Till den URL du anger i admin skickas en webhook strax efter att eventet har triggats i Vendre. Webhooken skickas en gång och skickas inte om vid fel. 

    Anropet skickas alltid som ett GET request när vi skickar anrop utan data, annars skickas det alltid med ett POST-request med JSON-data tillhörande eventet.

    Headers

    Vi skickar med en extra header vid våra webhook anrop.

    Denna header heter "vendre-webhook-event" som innehåller namnet på händelsen kopplat till webhooken, t.ex "customer created". 

    Skicka med data

    Genom att slå på Skicka med data kan man välja om webhooken man sätter upp ska skicka med relevant data eller inte.

    Format och innehåll

    Data skickas alltid i JSON format i ett POST-request och följer samma datastruktur och information som vårt API, med undantaget att vi skickar med en parameter som heter "webhook_event", som innehåller namnet på händelsen, t.ex "webhook_event":"customer created".

    T.ex, ställer du in en webhook mot 'updated_customer'-eventet, så kommer vi att skicka med samma information som man får som respons vid anrop mot vårt kund-API(t.ex api/customers/13).

    Utökad data (extended objects)

    För vissa webhooks har ni möjlighet att skicka med utökad data. Detta rör generellt data som inte alltid är nödvändig och som ökar både belastningen på servern samt datamängden som skickas tillbaka. Oftast är det inget problem så länge det inte rör sig om onormalt stora mängder anrop eller onormalt stora datamängder, men de bör aldrig aktiveras slentrianmässigt.

    När en webhook har stöd för utökad data så finns det ett eller flera alternativ i kolumnen "Utökad data" som man kan aktivera. Varje alternativ lägger till ett fält med utökad data på det sätt som anges. Namnet på alternativet anger både namn på fältet och även eventuell path. Om man t.ex. aktiverar "products/tags" för order-webhooken så läggs det utökade data-fältet "tags" till för varje orderrad i "products"-listan.

    Den data som läggs till på respektive ställe följer systemstandard för respektive objekt i API:et. Se nedan för de vanligaste utökad data-fälten för order-webhooken.

    products/categories_data

    [
      {
        "customer_groups": [
          {
            "id": 0,
            "status": true
          }
        ],
        "description": {
          "sv": "string",
          "en": "string"
        },
        "external_id": 0,
        "extra": {
          "1": "string",
          "2": "string",
          "3": "string",
          "4": {
            "sv": "string",
            "en": "string"
          },
          "5": {
            "sv": "string",
            "en": "string"
          }
        },
        "filters": [
          {
            "id": 0,
            "type": 0,
            "names": {
              "sv": "string",
              "en": "string"
            }
          }
        ],
        "google_product_category": 0,
        "icon_image_id": 0,
        "icon_image_url": "string",
        "id": 0,
        "image_id": 0,
        "image_url": "string",
        "meta_description": {
          "sv": "string",
          "en": "string"
        },
        "meta_keywords": {
          "sv": "string",
          "en": "string"
        },
        "meta_title": {
          "sv": "string",
          "en": "string"
        },
        "name": {
          "sv": "string",
          "en": "string"
        },
        "parent_external_id": "string",
        "parent_id": 0,
        "seo_link": {
          "sv": "string",
          "en": "string"
        },
        "seo_text": {
          "sv": "string",
          "en": "string"
        },
        "seo_title": {
          "sv": "string",
          "en": "string"
        },
        "show_in_listing": true,
        "show_sub_categories": true,
        "sort_order": 0,
        "status": true
      }
    ]

    products/specifications

    {
        "generic": [
          {
            "id": 0,
            "value": "string"
          }
        ],
        "value": [
          {
            "id": 0,
            "value": "string"
          }
        ],
        "text": [
          {
            "id": 0,
            "value": {
              "sv": "string",
              "en": "string"
            },
            "short_value": {
              "sv": "string",
              "en": "string"
            }
          }
        ]
      }

    products/tags

    [
      {
        "description": {
          "sv": "string",
          "en": "string"
        },
        "external_id": 0,
        "image_id": 0,
        "image_url": "string",
        "meta_description": {
          "sv": "string",
          "en": "string"
        },
        "meta_keywords": {
          "sv": "string",
          "en": "string"
        },
        "meta_title": {
          "sv": "string",
          "en": "string"
        },
        "name": {
          "sv": "string",
          "en": "string"
        },
        "parent_id": 0,
        "seo_text": {
          "sv": "string",
          "en": "string"
        },
        "seo_title": {
          "sv": "string",
          "en": "string"
        },
        "sort_order": 0,
        "status": true
      }
    ]

    Tankesätt vid webhooks

    Vi rekommenderar att man inte förlitar sig enbart på webhooks för att hålla sig synkad med Vendre. Synka även upp mot vårt API regelbundet.

    Hantera last vid importer

    Det är viktigt att tänka på att om ditt affärssystem gör importer av kunder och du gör en import av många kunder samtidigt med uppdaterad information kan detta skapa en loop som triggar många webhooks samtidigt. Detta behöver du ta hänsyn till vid din integration och att du kan ta emot många anrop på uppdaterade och nya kunder. 

    • Vad händer om Webhooken inte går fram?

      Om webhooken inte går fram till mottagarens server (På grund av att den servern ex. är överbelastad eller inte tillgänglig) kommer ett fel att läggas in i Vendres administration. Vendre försöker däremot inte igen för att undvika att dubletter skapas vid ex. avbrutet anrop. 

      Vill man säkerställa webhooksen kan man göra nattsynkar mot Vendres API som håller samma format för ex. Order och Kunder.

    • Felsökning av webhooks

      Du kan felsöka webhooks genom att titta på loggarna längst ner på sidan.

      Dessa loggar är kategoriserade i olika tabbar baserat på de olika event-typerna du har aktiverat. På så sätt kan du enkelt får en bra översikt på de webhooks som skickas ut.

      I vyn kan man även klicka på två "Visa"-knappar. Dessa öppnar en modul-ruta som visar vad vi skickade ut i requestet, och vad vi tog emot.

       

      Via https://webhook.site/ så kan man enkelt testa och inspektera webhooks för att se hur dom fungerar utan att behöva tracea inkommande requests själv.

    • Begränsningar

      Man kan max ange 5 webhook-länkar per event-typ. 

      Webhook-länkar kan ta emot GET-parametrar av olika slag, men länken får inte innehålla några ÅÄÖ-tecken.

      Vi har en request timeout på 30 sekunder.