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.

  • Er is op dit moment geen rechtenbeheer per user. 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 user roles worden opgeslagen in het token. Als de rol van de EDI-user wordt aangepast, dan heeft de user nog steeds toegang tot dezelfde bronnen zolang het token nog geldig is. 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 order-EDIOrder 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 onder line",
            "description": "omschrijving voor order line",
            "product": {
                "sku": "Product 16"
            }
        },
        {
            "quantity": "1",
            "width": 1000,
            "length": 1000,
            "product": {
                "ean": "34324324234"
            }
        }
    ]
}

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

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

De volgende velden zijn niet verplicht:

  • "reference"

  • "account" (tenzij de gebruiker meerder accounts gekoppeld heeft)

  • "width" (orderline)

  • "length" (orderline)

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