Punto finale degli ordini (Orders)

Endpoint

Ordini v2.32.0

Leggere, creare e modificare ordini, eliminare voci della cronologia.


Panoramica

OperazioneMetodoEndpointAmbito
EsportazioneGET/xpanel/xoport/Export/JSON/ordersorders:read
CreaPOST/xpanel/xoport/Import/JSON/ordersorders:write
AggiornaPUT/xpanel/xoport/Import/JSON/ordersorders:write
Elimina voce della cronologiaDELETE/xpanel/xoport/Delete/JSON/order_status_history/{id}orders:write

Nota: l'importazione e l'eliminazione delle voci della cronologia richiedono orders:write. L'API non elimina l'ordine stesso: DELETE /Delete/JSON/orders restituisce HTTP 501 NOT_IMPLEMENTED. La registrazione in magazzino avviene automaticamente al momento della creazione. Solo DELETE /Delete/JSON/order_status_history/{id} elimina una voce della cronologia: lo stato dell’ordine viene aggiornato di conseguenza; il negozio rifiuta la voce più vecchia di un ordine (HTTP 409 FIRST_HISTORY_ENTRY). Dettagli: API di eliminazione.


Importazione (POST / PUT)

Crea o aggiorna un ordine. POST = Create, PUT con orders_id = Update. Tutti i campi vengono verificati e salvati dallo stesso servizio utilizzato anche per la creazione degli ordini nelle importazioni dal marketplace.

Payload minimo (Create)

{
  "data": [{
    "customers_id": 51,
    "payment_method": "PayPal",
    "products": [
      {"products_id": 42, "quantity": 2, "products_price": "29.99"}
    ]
  }]
}

Payload completo con tutte le opzioni

{
  "data": [{
    "customers_id": 51,
    "language_id": 2,
    "payment_method": "Stripe",
    "shipping_method": "DHL",
    "tax_flag": 1,
    "totals_mode": "auto",
    "expected_total": "59.98",
    "strict_totals": true,
    "currency": "EUR",
    "products": [
      {
        "products_id": 42,
        "quantity": 2,
        "products_price": "29.99",
        "products_tax": "19.00",
        "attributes": [
          {"option_id": 1, "value_id": 5}
        ]
      }
    ],
    "external_reference": {
      "source": "amazon",
      "external_id": "AMZ-12345"
    },
    "tracking": [
      {"service_provider": "DHL", "code": "1234567890", "link": "https://nolp.dhl.de/?piececode=1234567890"}
    ]
  }]
}

Modalità Totals (v2.21.0)

L’impostazione « totals_mode » determina le modalità di calcolo dei totali degli ordini:

ModalitàComportamentoUtilizzo
auto PredefinitaNessun valore totals nel payload → il negozio ricalcola tutto da capo. Con valori totals → questi vengono applicati.Caso standard: il chiamante non ha i totali, il negozio li calcola.
recalcCarica products_price + products_tax direttamente dal database (prezzo per gruppo di clienti + offerte speciali + sconto per categoria/cliente, in base al Paese) e ricalcola subtotale/imposta/totale. Inoltre, vengono ricaricati EK (products_ek_price) e GTIN. Le voci manuali (products_id=0) rimangono invariate.Forza il ricalcolo sicuro; parità dropship al momento del checkout.
verbatimLo shop riprende i valori totals inviati 1:1, SENZA ricalcolo.Importazioni da marketplace con importo totale fisso (Amazon, Otto, eBay).

tax_flag Derivazione automatica e interpretazione dei prezzi

Se tax_flag non è impostato esplicitamente, viene ricavato dal gruppo clienti:

  • customers_groups.show_tax = 1 + DISPLAY_PRICE_WITH_TAX = true → tax_flag = 1 (lordo)
  • customers_groups.show_tax = 0 → tax_flag = 0 (netto)
  • Gruppi esenti da imposta (ad es. partita IVA UE) → tax_flag = 2 (esente da imposta)

Interpretazione di products_price a seconda tax_flag

tax_flagproducts_price èot_subtotalot_taxot_total
0 (netto)nettoΣ(netto × quantità)Σ(netto × aliquota/100), sommatoTotale parziale + Spese di spedizione + Imposte
1 (lordo)lordoΣ(lordo × quantità)a titolo informativo ("IVA inclusa")Totale parziale + Spese di spedizione (IVA NON inclusa)
2 (Esente da imposta)netto = lordoΣ(prezzo × quantità)0Totale parziale + Spese di spedizione

⚠️ Importante per le importazioni dal marketplace: se il marketplace invia prezzi netti, è NECESSARIO impostare esplicitamen tax_flag: 0; in caso contrario, i prezzi (per un gruppo di clienti lordi) verranno interpretati come lordi.

A partire dalla v2.122.8, le voci con importo fiscale negativo, come ad esempio i rimborsi, ricevono la riga fiscale come nel checkout. Quando si aggiungono voci tramite PUT, l’imposta delle voci negative viene conteggiata. Le nuove voci memorizzano al momento della creazione se si tratta di merce o di un servizio; i documenti relativi a forniture e prestazioni intracomunitarie rimangono così invariati.

Origine del prezzo

Il fatto che un importo venga letto al netto o al lordo dipende da chi lo ha determinato: l’integrazione (payload) o lo shop (database, modulo di spedizione).

Originetax_flag = 0 (Netto)tax_flag = 1 (Lordo)tax_flag = 2 (Esente da imposte)
Integrazione: prezzi nelle modalità auto e verbatim, articoli recalc senza corrispondenze nel negozio o senza products_id, articoli propri attributes[].price, totals.shippingal netto, con l’IVA in aggiuntainviato lordo, IVA inclusa. Il negozio salva la posizione e i supplementi per le caratteristiche personalizzate al netto (dalla v2.122.11)netto, nessuna imposta
Negozio: recalc-Risultati (prezzo di gruppo, prezzo speciale, sconto di categoria), caratteristiche preselezionate (apply_default_attributes), spedizione da compute_shippingal netto, più IVAal netto, calcolato: riga = al netto × (1 + aliquota/100)netto, nessuna imposta
Posizioni tramite PUT con products_mode: "append"nettonettonetto
Modificato nella v2.122.11:
  • i prezzi delle voci che il collegamento a tax_flag = 1 invia al lordo vengono salvati dal negozio al netto (÷ (1 + aliquota/100), 8 cifre decimali), come nel caso di un ordine effettuato dalla cassa. Finora nella voce era indicato il prezzo lordo, e l’editor degli ordini, il PDF della fattura, l’e-mail dell’ordine e il successivo allegato delle voci applicavano l’imposta una seconda volta.
  • orders:read Fornisce tali voci al netto (products_price, final_price, attributes[].options_values_price): da 10,00 al 19% si ottiene 8.40336134. Le integrazioni che leggono questi campi e li confrontano con i dati inviati effettuano la conversione. Le righe di totale, order_total/tax_total della risposta e il controllo di deriva rimangono invariati.
  • In due casi ora si applica il valore della cassa: il sovrapprezzo delle caratteristiche preselezionate (apply_default_attributes) su una posizione di questo tipo viene tassato insieme al resto, e una tabella di spedizione in base al valore della merce (compute_shipping) calcola sul valore netto. Di conseguenza, le spese di spedizione e l’importo totale potrebbero variare; un expected_total adattato al valore precedente segnalerà quindi TOTAL_DRIFT.
  • Gli ordini esistenti non vengono convertiti. Se si aggiunge qualcosa a un ordine precedente con voci salvate al lordo, la doppia imposta rimane in vigore.
  • La riga di spedizione di un ordine al netto (tax_flag = 0) riporta tax 0 e l’aliquota fiscale in tax2, come un ordine al netto proveniente dalla cassa; gli ordini esenti da imposta riportano 0 e 0 anche nella modalità verbatim, mentre gli ordini al lordo riportano, come in precedenza, l’aliquota in entrambe le colonne. Chi legge l’aliquota di spedizione solo da totals[].tax, per gli ordini al netto utilizza tax2. I totali rimangono gli stessi, gli ordini salvati non subiscono modifiche; la fattura elettronica di tali ordini riporta ora la spedizione con l’importo corretto.
  • Quando si aggiungono voci tramite PUT, l’imposta di spedizione di un ordine netto proveniente dalla cassa viene ora conteggiata; in precedenza mancava dal totale.

Campo voce service durante la creazione

A partire dalla v2.122.8 ogni voce appena creata (POST e PUT con products_mode: "append") memorizza se si tratta di merce (0) o di un servizio (1). Il valore determina, sulla fattura e sulla fattura elettronica, l’indicazione fiscale per le forniture o i servizi intracomunitari e l’esclusione del diritto di recesso.

In assenza di questo campo, il negozio online determina il valore in base al prodotto, così come il carrello e l’editor degli ordini:

Posizioneservice
Campo prodotto «Servizio» selezionato1
Peso 0 (anche delle caratteristiche) e file scaricabile, se è attivo il download dei prodotti1
tutti gli altri prodotti0
voce libera senza products_id0

Novità nella v2.122.11 Con questo campo, il valore inviato prevale anche sui dati del prodotto, ad esempio per una voce di servizio libera:

curl -X POST "https://shop.de/xpanel/xoport/Import/JSON/orders" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"type":"orders","data":[{"customers_id":123,"products":[
       {"products_name":"Programmierung Schnittstelle","products_quantity":3,
        "products_price":150.00,"products_tax":0,"service":1}]}]}'
  • Sono consentiti 1, 0, true, false, "1" e "0". Qualsiasi altro valore non viene accettato: la risposta segnala service_invalid in records[].warnings, e il valore proviene dal prodotto.
  • Solo al momento della creazione. Le voci esistenti mantengono il loro valore: products_mode: "update" rifiuta service, il record fallisce con FIELD_NOT_UPDATABLE e non viene scritto nulla, nemmeno nei campi rimanenti (risposta HTTP 200 come in ogni importazione collettiva). Per correggere, annullare la voce e aggiungerla nuovamente con service.
  • I negozi fino alla versione 4.9.170 non riconoscono questo campo: viene ignorato come UNKNOWN_FIELD (con ?_strict=true e codice di stato HTTP 400), e una voce di servizio libera viene interpretata come merce. Per verificare se un negozio riconosce il campo, consultare api_version in GET /me.
  • L’esportazione fornisce il valore per ciascuna voce in products[].service: 0, 1 o null per gli ordini più vecchi senza valore memorizzato.

language_id Auto-Derive (v2.21.0)

Se language_id non è presente nel payload, viene risolto in cascata:

  1. Valore del payload (se impostato)
  2. customers.language_id dalla scheda cliente
  3. DEFAULT_LANGUAGE dalla configurazione del negozio (ricerca del codice nella tabella languages)
  4. Fallback: 1 (inglese)

Nota: nel contesto di xoPort, $_SESSION['languages_id'] NON è intenzionalmente un’opzione di fallback — altrimenti la lingua di chi effettua la chiamata all’API di amministrazione verrebbe trasferita involontariamente all’ordine del cliente.


Controllo di deriva: expected_total + strict_totals

Facoltativamente, il chiamante può inviare anche l’importo totale previsto — il negozio effettua un confronto e segnala un allarme in caso di discrepanza:

  • expected_total (decimale): importo ot_total previsto dopo il calcolo.
  • strict_totals (booleano, predefinito false):
    • false → La discrepanza viene segnalata come avviso nella risposta, ma l’ordine viene comunque creato.
    • true → L’ordine viene rifiutato se il totale calcolato ≠ expected_total (tolleranza: 0,01 €).

Utilizzo: importazioni dal marketplace, dove il marketplace conosce già l’importo finale — il negozio verifica che prezzo × quantità × imposta + spese di spedizione diano lo stesso importo anche a livello locale.


Campi di comodità e parità di checkout (v2.28.0–v2.32.0)

Per le integrazioni che conoscono solo il numero cliente, un indirizzo di consegna diverso e SKU/quantità — l’ordine viene creato in modo tale da riportare prezzi, caratteristiche, spedizione e conferma esattamente come un ordine manuale del negozio (parità dropship, ad es. SPV → SST).

Campo / ComportamentoTipoDescrizione
Compilazione automatica dell’indirizzoautoIn caso di customers_id > 0 e di billing mancante o incompleto, viene caricato l'indirizzo di fatturazione predefinito del cliente. I campi forniti esplicitamente hanno la precedenza. delivery, in caso di campi obbligatori mancanti, ricade su billing. v2.28.0
Risoluzione SKU/products_modelautoLe voci possono fornire solo l'{products_model, quantity} — products_id e il nome vengono ricavati dal database del negozio. Modello sconosciuto → Avviso PRODUCT_MODEL_NOT_FOUND. v2.28.0
apply_default_attributesbool (impostazione predefinita: false)Per ogni posizione priva di un proprio attributes, recupera i valori delle opzioni preselezionate, compreso il sovrapprezzo con segno — comprese le caratteristiche di visualizzazione (tipo di opzione 5, ad es. «Versione»/«Grado di protezione»), così come riportate nel checkout. v2.28.0 / v2.30.0
compute_shippingbool ( false predefinito)In assenza di un’ totals.shipping esplicita, la spedizione più conveniente viene calcolata «headless» tramite il calcolo delle spese di spedizione del frontend per l’indirizzo di consegna e salvata come ot_shipping. Best-effort: errore → avviso SHIPPING_AUTO_FAILED / SHIPPING_AUTO_EMPTY, l’ordine rimane invariato. v2.30.0 A partire dalla v2.122.9, la riga relativa alle spese di spedizione viene generata anche in caso di valore della merce pari a 0 (aliquota fiscale: l’aliquota più alta degli articoli; in assenza di tale aliquota, viene applicata quella del metodo di spedizione).
send_confirmation_emailbool (impostazione predefinita false)Una volta creato con successo l’ordine, viene inviata al cliente la conferma d’ordine standard (comprese le copie da SEND_EXTRA_ORDER_EMAILS_TO). Risultato come confirmation_email_sent (true/false) nel record. v2.29.0
Sconto per categoria/cliente nel recalcautoLa modalità recalc applica, oltre al prezzo di gruppo e alle offerte speciali, anche lo sconto per categoria/cliente (customers_discount + customers_groups_discount, inclusa l’ereditarietà delle sottocategorie) — prevale il prezzo effettivo più conveniente. Caso problematico → Avviso CATEGORY_DISCOUNT_UNAVAILABLE. v2.31.0
additional_addressstringAggiunta all’indirizzo per blocco di indirizzi — viene applicata dopo customers_additional_address, delivery_additional_address e billing_additional_address. v2.32.0

Riga fiscale per ogni voce (v2.32.0): ot_tax viene inserita per ogni aliquota con una dicitura che specifica l’aliquota esatta nel formato frontend — «più IVA al 19%» (netto) oppure «IVA al 19% inclusa» (lordo), a condizione che MODULE_ORDER_TOTAL_PREFIX=true.


Risorse secondarie

external_reference — Integrazione con il marketplace

Collega l’ordine a una fonte esterna. Campi consentiti:

  • source (stringa, obbligatorio): ad es. amazon, ebay, otto, kaufland.
  • external_id (stringa, obbligatorio): ID/numero sul Marketplace.
  • marketplace_id (int, facoltativo): ID interno del Marketplace XONIC.

tracking — Tracciamento delle spedizioni

Array di voci di tracciamento. Per ogni voce è consentito:

  • service_provider (alias: method): nome del corriere (DHL, DPD, UPS, …).
  • code (alias: tracking_number): numero di spedizione.
  • link: URL di tracciamento.
  • label_link: URL dell’etichetta di spedizione (PDF).
  • external_id: ID presso il corriere.
  • is_retoure (bool): spedizione di reso anziché spedizione in uscita.

status_history — Cronologia degli stati

Log di audit di sola aggiunta. Per ogni voce: orders_status_id, comments, customer_notified (0/1), date_added.

customer_notified A livello di ordine

Booleano, controlla se, in caso di cambiamento di stato, viene attivato l’invio dell’e-mail di conferma.


Richiesta di esempio (Create)

curl -X POST "https://shop.de/xpanel/xoport/Import/JSON/orders" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "data": [{
      "customers_id": 51,
      "payment_method": "PayPal",
      "tax_flag": 0,
      "expected_total": "71.38",
      "products": [{"products_id": 42, "quantity": 2, "products_price": "29.99", "products_tax": "19.00"}]
    }]
  }'

Risposta di esempio (Successo)

{
  "success": true,
  "api_version": "2.32.0",
  "type": "orders",
  "operation": "create",
  "data": [{
    "orders_id": 46482,
    "customers_id": 51,
    "ot_subtotal": "59.98",
    "ot_tax": "11.40",
    "ot_total": "71.38",
    "totals_mode": "auto",
    "tax_flag": 0,
    "language_id": 2
  }],
  "warnings": []
}

Risposta di esempio (controllo della deriva fallito, strict_totals=true)

{
  "success": false,
  "api_version": "2.32.0",
  "error": {
    "code": "TOTAL_DRIFT",
    "message": "Calculated ot_total 71.38 differs from expected_total 70.00 (diff: 1.38).",
    "details": {"expected": "70.00", "calculated": "71.38", "tolerance": "0.01"}
  }
}

Codici di errore

CodiceSignificato
INVALID_PAYLOADCampi obbligatori mancanti o tipo di dati errato.
CUSTOMER_NOT_FOUNDcustomers_id Non esiste.
PRODUCT_NOT_FOUNDproducts_id Non esiste.
TOTAL_DRIFTexpected_total ≠ totale calcolato e strict_totals=true.
STOCK_INSUFFICIENTLe scorte non sono sufficienti (se auto_stock=true).
DUPLICATE_EXTERNAL_REFERENCELa combinazione source + external_id esiste già.

Avvisi non critici (l’ordine viene comunque creato, restituzione in warnings[]): PRODUCT_MODEL_NOT_FOUND, RECALC_PRODUCT_NOT_FOUND, CATEGORY_DISCOUNT_UNAVAILABLE, SHIPPING_AUTO_FAILED, SHIPPING_AUTO_EMPTY, TOTAL_DRIFT (tranne nel caso di strict_totals=true), UNKNOWN_FIELD.


Esportazione (GET)

Lettura degli ordini con GET /orders, ambito orders:read.

ParametriTipoDescrizione
statusintStato dell'ordine
date_from, date_toDataData dell'ordine da o fino a
sinceDataConfronto: modificato o ordinato a partire dall'ora
last_modifiedDataNovità nella v2.122.10: diversa sintassi di since (nota FILTER_ALIAS); entrambe con date diverse generano un errore HTTP 400
customer_idintOrdini di un cliente
products_id, products_model, categories_idint / string / intOrdini che contengono questo articolo o un articolo della categoria
marketplace_idintPiattaforma su cui è stato effettuato l'ordine
external_id, sourcestringNumero d'ordine o fonte dell'integrazione con il marketplace
po_numberstringRiferimento dell'ordine
delivery_countrystringaNovità nella versione v2.122.9: paese di consegna come codice ISO, a due o tre cifre, più di uno indicato come elenco separato da virgole; un codice sconosciuto genera un errore HTTP 400
sort, orderstringOrdinamento dell’elenco (impostazione predefinita: in ordine crescente in base a orders_id)
limit, offset, pageintScorrimento

Tipi di percorso

  • /order/{id}, /orders/{von}:{bis}, /orders/{von}: e /orders/new:{datum} (ordinati in base alla data).
  • A partire dalla v2.122.9 i filtri agiscono in aggiunta alla forma del percorso. Fino alla versione 2.122.8 un filtro sostituiva la forma del percorso: /order/{id}?status=3 restituiva tutti gli ordini con stato 3.
  • A partire dalla v2.122.10, le forme di percorso scorrono il database in ordine crescente per ID. Senza ?limit=, la risposta rimane non ordinata fino al limite massimo; oltre tale limite, viene restituita in formato standard con has_more. new:{datum} viene verificato (YYYY-MM-DD, YYYY-MM-DD HH:MM o YYYY-MM-DD HH:MM:SS); in caso contrario, viene restituito un errore HTTP 400 INVALID_RANGE.
  • v2.122.12 Il segmento successivo a /order o /orders è un numero intero con un massimo di 18 cifre, un intervallo con limiti interi oppure new:{datum} con due punti non codificati; in caso contrario viene restituito un errore HTTP 400 INVALID_RANGE. Gli spazi vuoti ai margini non vengono conteggiati: /order/42%20 corrisponde all'ordine 42.
Modificato nella v2.122.12:
  • /orders/new%3A2026-10-01 (i due punti codificati, ad esempio con urlencode()) fino alla v2.122.11 restituiva con codice HTTP 200 l’elenco completo anziché il delta, quindi il confronto veniva effettuato sull’intero inventario. Ora restituisce codice HTTP 400: inviare i due punti non codificati dopo new.
  • /order/42x, /order/42%2B e /orders/5%3A10 fornivano l’elenco, mentre /order/42.0, /order/+5 e /orders/100.0:200.0 fornivano il record o l’intervallo specificato. Ora tutti restituiscono un codice di stato HTTP 400. Inviare l’ID come numero intero senza decimali, come avviene tipicamente per i valori provenienti da tabelle.
  • /order/42%20 e /order/42%0A hanno fornito l’elenco e ora corrispondono all’ordine 42.

Valori non validi

  • A partire dalla v2.122.10, le date sono ammesse solo in formati fissi: YYYY-MM-DD, YYYY-MM-DD HH:MM o YYYY-MM-DD HH:MM:SS, facoltativamente con fuso orario (Z o ±HH:MM; inviare il segno più come %2B ). Indicazioni come yesterday o 01.10.2026 restituiscono un errore HTTP 400 INVALID_FILTER_VALUE.
  • A partire dalla versione v2.122.10, valori sotto forma di elenco come ?customer_id[]=5, nonché un elenco separato da virgole, un testo o un numero decimale inviati a status, customer_id, marketplace_id, products_id e categories_id generano un errore HTTP 400 INVALID_FILTER_VALUE con details[]. In precedenza, un filtro di questo tipo veniva ignorato e la risposta conteneva tutti gli ordini. Solo delivery_country accetta valori multipli.
  • Un valore vuoto è considerato come non impostato. I parametri sconosciuti vengono segnalati da warnings[] come UNKNOWN_FILTER, mentre con ?_strict=true viene restituito un errore HTTP 400.

Dati anagrafici dello stato dell’ordine (order_statuses)

Novità nella v2.122.10: tutti gli stati dell’ordine con il nome per ciascuna lingua e il relativo significato, ambito orders:read. Finora uno stato veniva indicato solo nell’ordine, come ID e con il nome in una sola lingua.

curl "https://shop.de/xpanel/xoport/Export/JSON/order_statuses" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
{
  "success": true,
  "api_version": "2.122.10",
  "type": "order_statuses",
  "data": [
    {
      "orders_status_id": 5,
      "orders_status_label": "secondary",
      "orders_status_label_bg": "#000000",
      "orders_status_label_color": "#ffffff",
      "orders_status_sort_order": 0,
      "is_default": false,
      "is_cancelled": true,
      "is_offer": false,
      "counts_as_revenue": false,
      "is_paid": false,
      "is_shipped": false,
      "languages": {
        "en": { "language_id": 1, "language_code": "en", "orders_status_name": "Returned/Cancelled" },
        "de": { "language_id": 2, "language_code": "de", "orders_status_name": "Retoure/Storniert" }
      }
    }
  ],
  "stats": { "total": 1, "count": 1, "timestamp": "2026-10-15 10:00:00" }
}

Indicatori

IndicatoriSignificato
is_defaultStato dei nuovi ordini
is_cancelledAnnullamento: il negozio riaccredita le scorte di magazzino
is_offerOfferta (scheda dedicata «Offerte» nel backend)
counts_as_revenuené annullamento né offerta; stessa distinzione di order_stats.orders_count_valid a /customers. Non fornisce informazioni sul pagamento o sulla spedizione
is_paidpagato (pagamento ricevuto)
is_shippedspedito; gli stati di annullamento non sono mai is_shipped, anche se il negozio li riporta nel proprio elenco delle spedizioni (impostazione predefinita della serie 4.9: 3,5)

I contrassegni seguono le impostazioni di stato del negozio. Un’impostazione vuota non indica alcuno stato. Non presenti nel record: «restituito», «completato» e pagamento parziale.

Formati dei percorsi e parametri

  • /order_statuses: tutti gli stati, in ordine crescente secondo orders_status_id.
  • /order_status/{id} e /order_statuses/{id}: esattamente questo stato; in caso di mancata corrispondenza, HTTP 404 NOT_FOUND.
  • /order_statuses/{von}:{bis} e /order_statuses/{von}:: intervallo; vuoto = HTTP 200 con data vuoto.
  • Nessun filtro; ?language= non cambia nulla, vengono sempre visualizzate tutte le lingue. new:{datum} restituisce HTTP 400 INVALID_RANGE.

orders_status_label è la classe di colori dell’elenco del backend (custom = colori personalizzati da orders_status_label_bg e orders_status_label_color), orders_status_sort_order è l’ordine degli elenchi di selezione. Viene restituita la riga della lingua tedesca, come su /orders.