Hoe werkt de API van Order2Flow ( EDI )?

Onze EDI biedt een API-interface, zodat uw klanten direct en veilig hun orders in Order2Flow kunnen plaatsen. Hiervoor hoeven zij zelf niet toegang te hebben tot de webinterface van Order2Flow.

We delen met u de documentatie om een EDI-user aan te maken. Daarna leggen we uit hoe uw klant, als user, een order aan invoeren via onze API.

Uitleg EDI algemeen

Validatie

  • Validatie gebeurt via een JWT-token.

  • Via de backend kan voor een user een token worden aangemaakt, die gebruikt moet worden als bearer token in de requests naar de EDI.

  • De EDI-endpoints zijn toegankelijk voor de rol "ediuser".

  • De gebruiker wordt opgezocht op basis van de token.

  • Er is alleen toegang tot bronnen die door die user zijn aangemaakt, en die horen bij het gekoppelde account.

  • Toegang tot EDI is toegang tot alle EDI-endpoints.

Stappen om een EDI-gebruiker toe te voegen

  1. Maak een nieuwe user aan met de rol "Edi User".

  2. Maak een account aan dat gelinkt is aan deze user. Het is mogelijk om meerdere accounts te koppelen aan één EDI user.

  3. Genereer API token vanuit het user-overzicht en kopieer deze token.

Known issues

  • De rollen van een gebruiker worden opgeslagen in het token. Als de rol van een ediuser wordt gewijzigd, blijft het oude token geldig met de oude rechten. Het is aan te raden in dat geval een nieuw token te genereren.

  • Er kan nu met "addToExistingOrder" met true/false worden toegevoegd aan de call om de standaard instellingen te overschrijven.

Uitleg velden:

  • reference (string, optioneel): Een unieke referentie voor de order. Als deze niet wordt meegegeven, genereert het systeem er een.

  • account (string, optioneel): De naam van het account waartoe de order behoort. Alleen verplicht als de EDI-gebruiker aan meer dan één account is gekoppeld.

  • orderLines (array, verplicht): Een lijst van één of meer orderregels.

    • quantity (string|integer, verplicht): Het aantal.

    • product (object, verplicht): Een object om het product te identificeren. Geef ofwel sku, ean, of id op.

    • width, length (integer, optioneel): Afmetingen in millimeters, vereist voor producten met prijsberekening per oppervlakte.

    • notes, description (string, optioneel): Extra notities of een omschrijving voor de orderregel.

    • files (array, optioneel): Een lijst van bestanden om aan deze orderregel te koppelen.

      • content (string, verplicht): De inhoud van het bestand, Base64-encoded.

      • name (string, optioneel): De bestandsnaam, inclusief extensie (bv. tekening.pdf). Indien niet opgegeven, wordt een generieke naam gebruikt.

      • label (string, optioneel): Een korte omschrijving of label voor het bestand (max 25 characters).

Uitleg order-EDI Order aanmaken

url: /edi/v3/catalog/ordersmethod: 
POST authorization: bearer tokenheader: 
Content-Type: application/jsonbody (json):
{
    "reference": "unieke_order_referentie",
    "account": "account_naam",
    "addToExistingOrder": false,
    "orderLines": [
        {
            "quantity": "2",
            "width": 1000,
            "length": 1000,
            "notes": "notitie voor orderregel",
            "description": "omschrijving voor orderregel",
            "product": {
                "sku": "Product-SKU-123"
            },
            "files": [
                {
                    "name": "tekening.pdf",
                    "content": "JVBERi0xLjQKJe...",
                    "label": "Technische tekening"
                },
                {
                    "content": "iVBORw0KGgoAAA...",
                    "label": "Referentiefoto"
                }
            ]
        },
        {
            "quantity": "1",
            "product": {
                "ean": "1234567890123"
            }
        }
    ]
}

Bovenstaande request zal een response/ resultaat geven soortgelijk aan onderstaande:

{
    "_data": {
        "orderId": 22,
        "reference": "unieke_order_referentie",
        "success": true
    }
}

Order ophalen

url: /edi/v3/catalog/orders/[order id]
method: GET
authorization: bearer token

Aan onderstaande kan een optionele parameter worden toegevoegd, namelijk: expand (voorbeeld url suffix: ?expand=orderLine,fulfilment,transport). Dit zal een response/resultaat geven soortgelijk aan onderstaande:

{
    "_data": {
        "id": 21,
        "shippingMethod": null,
        "paymentMethod": null,
    }
}

Last updated