REST-API Dokumentation

Vollständige technische Spezifikation und Referenz der RESTful HTTP-API von commerce:SEO v6pro (Gambio GX3 Architektur). Unterstützt die Protokolle v2 und v3 mit semantischen HTTP-Methoden, JSON-Payloads und Basic/Bearer-Authentifizierung.

155
Endpunkte Gesamt
32
Ressourcengruppen
52
GET Aufrufe
37
POST Erstellen
26
PUT Aktualisieren
6
PATCH Partiell
34
DELETE Löschen

Postman Vorlage (Collection & Environment)

Vorkonfigurierte Vorlage zum sofortigen Testen aller 130 API-Endpunkte in Postman. Inklusive automatischer Basic-Authentifizierung, URL-Variablen ({{baseUrl}}), Parametern und Beispieldaten.

Import-Anleitung: In Postman oben links auf Import klicken → Beide JSON-Dateien auswählen → Oben rechts das Environment commerce:SEO v6pro (Lokal) wählen → Benutzerdaten eintragen → Sofort anfragen!
Collection v2.1 (.json) Environment (.json)

Authentifizierung & Basis-URLs

Die API nutzt standardmäßig HTTP Basic Authentication über HTTPS. Anmeldedaten müssen zu einem Admin-Konto gehören (customers_status = '0'):

Authorization: Basic base64(admin_email:passwort)
# Alternativ Bearer Token:
Authorization: Bearer <HubToken>

Endpunkt-Routen:

  • http://localhost/v6pro/api.php/v2/{resource} (API v2.6.0)
  • http://localhost/v6pro/api.php/v3/{resource} (API v3.1.0)

Paginierung, Sortierung & Filter

Listenaufrufe (GET) unterstützen einheitliche Query-Parameter:

  • page=1 & per_page=25: Seitenaufteilung
  • sort=+id,-purchaseDate: Mehrspaltige Sortierung (+ aufsteigend, - absteigend)
  • q=suchbegriff: Volltext-/Stichwortsuche
  • fields=id,statusId,customerNumber: Minimierung der Antwortdaten

Rate-Limiting & Version-Header:

X-API-Version: v2.6.0
X-Rate-Limit-Limit: 1000
X-Rate-Limit-Remaining: 998
Zeige alle 155 Endpunkte

Keine passenden Endpunkte gefunden

Versuche es mit einem anderen Suchbegriff oder ändere den Methoden-Filter.

AdditionalFields 5 Endpunkte

GET /additional_fields Get All Additional Fields
2.5.0

Retrieves all defined additional fields configured in the shop system.

Bereich Name Typ Pflicht Standard Beschreibung
Query page Number Optional 1 Current page number.
Query per_page Number Optional 25 Number of records per page.
Success 200 OK
[
    {
        "id": 1,
        "names": {
            "de": "Gravurtext",
            "en": "Engraving text"
        },
        "type": "text"
    }
]
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/additional_fields"
GET /additional_fields/:id Get Specific Additional Field
2.5.0

Retrieves a single additional field by its numeric ID.

Bereich Name Typ Pflicht Standard Beschreibung
Path id Number Pflicht — The ID of the additional field.
Success 200 OK
{
    "id": 1,
    "names": {
        "de": "Gravurtext",
        "en": "Engraving text"
    },
    "type": "text"
}
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/additional_fields/1"
POST /additional_fields Create Additional Field
2.5.0

Creates a new additional field.

Bereich Name Typ Pflicht Standard Beschreibung
Body names Object Pflicht — Localized names map {language_code: name}.
Body type String Pflicht text Type of field (text, textarea, select).
Request-Body
{
    "names": {
        "de": "Zusatzinfo",
        "en": "Extra Info"
    },
    "type": "text"
}
Success 201 Created
{
    "id": 2,
    "names": {
        "de": "Zusatzinfo",
        "en": "Extra Info"
    },
    "type": "text"
}
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/additional_fields"
PUT /additional_fields/:id Update Additional Field
2.5.0

Updates an existing additional field.

Bereich Name Typ Pflicht Standard Beschreibung
Path id Number Pflicht — Field ID to update.
Body names Object Optional — Updated localized names.
cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/additional_fields/1"
DELETE /additional_fields/:id Delete Additional Field
2.5.0

Deletes an existing additional field by ID.

Bereich Name Typ Pflicht Standard Beschreibung
Path id Number Pflicht — Field ID to delete.
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/additional_fields/1"

AdditionalProductFields 4 Endpunkte

GET /additional_product_fields Get All Additional Product Fields
2.5.0

Retrieves product values for additional fields.

Bereich Name Typ Pflicht Standard Beschreibung
Query product_id Number Optional — Filter by product ID.
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/additional_product_fields"
POST /additional_product_fields Create Additional Product Field Value
2.5.0

Creates or attaches an additional field value to a product.

cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/additional_product_fields"
PUT /additional_product_fields/:id Update Additional Product Field Value
2.5.0

Updates an additional product field value.

cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/additional_product_fields/1"
DELETE /additional_product_fields/:id Delete Additional Product Field Value
2.5.0

Deletes an additional product field value.

cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/additional_product_fields/1"

AddressFormats 1 Endpunkte

GET /address_formats Get Address Formats
2.4.0

Get all address formats or a single address format.

Success-Response
[
Success-Response
{
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/address_formats"

Addresses 4 Endpunkte

POST /addresses Create Address
2.2.0
Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Request-Body
Body customerId int Pflicht — The customer's record ID to whom the address belong.
Body gender string Pflicht — Provide either "m" or "f" for male and female.
Body company string Pflicht — The address company name.
Body firstname string Pflicht — The address firstname.
Body lastname string Pflicht — The address lastname.
Body street string Pflicht — The address street.
Body houseNumber string Pflicht — The address house number.
Body additionalAddressInfo string Pflicht — Additional information about the address.
Body suburb string Pflicht — The address suburb.
Body postcode string Pflicht — The address postcode.
Body city string Pflicht — The address city.
Body countryId int Pflicht — Provide an existing "countryId", if it does not exist create it through the
Body zoneId int Pflicht — Provide an existing "countryId", if it does not exist create it through the "zones" API
Body class string Pflicht — The address class can be any string used for distinguishing the address from other
Body b2bStatus bool Pflicht — Defines the Business-to-Business status of the address.
Request-Body
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/addresses"
PUT /addresses/:id Update Address
2.1.0

Update an existing address record by providing new data. You do not have to provide the full
presentation of the address in the JSON string of the request, rather just the fields to be
updated. The address ID will be taken from the URI of the request so it is not required that
it is included withing the request JSON.

cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/addresses/1"
DELETE /addresses/:id Delete Address
2.1.0

Remove an address record from the system. This method will always return success even if the address record
does not exist (due to internal architecture decisions, which strive to avoid unnecessary failures).

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/addresses/1"
GET /addresses/:id Get Address
2.1.0

Get multiple or a single address records through a GET requets. This method supports all the GET parameters
that are mentioned in the "Introduction" section of this documentation.

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/addresses/1"

Cache 1 Endpunkte

DELETE /cache/ Delete Cached data
2.7.0

All cached data is removed/renewed. This method will always return success.

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/cache/"

Categories 12 Endpunkte

POST /categories Create Category
2.1.0

Creates new category in the system. To see an example usage take a look at
docs/REST/samples/category-service/create_category.php

cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/categories"
PUT /categories/:id Update Category
2.1.0

Use this method to update an existing category record. Take a look in the POST method for more detailed
explanation on every resource property. To see an example usage take a look at
docs/REST/samples/category-service/update_category.php

cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/categories/1"
DELETE /categories/:id Delete Category
2.1.0

Removes a category record from the database. The products that are assigned to this category will not
be removed. To see an example usage take a look at
docs/REST/samples/category-service/remove_category.php

cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/categories/1"
GET /categories/:id Get Categories
2.4.0

Get multiple or a single category records through a GET request. Use recursive GET-parameter flag to include all
child categories. All categories in the result will be amound themselves, so there is no nesting. This method
supports all the GET parameters that are mentioned in the "Introduction" section of this documentation.
To see an example usage take a look at docs/REST/samples/category-service/fetch_category.php

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/categories/1"
POST /category_icons Upload Category Icon
2.1.0

Upload an icon image for the categories. Make this request without the "Content-Type: application/json". Except
from the file the POST request must also contain a "filename" value with the final file name.

Success-Response
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/category_icons"
PUT /category_icons Rename Icon File
2.1.0

Use this method to rename an existing icon file.

Response-Body
{
cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/category_icons"
DELETE /category_icon Delete Category Icon
2.1.0

Removes the category icon file from the server. This method will always provide a successful response even if
the image file was not found.

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/category_icon"
GET /category_icon Get Category Icons
2.1.0

Returns a list of all category icon files which exists in the server's filesystem through a GET request.

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/category_icon"
POST /category_images Upload Category Image
2.1.0

Uploads an icon image for the categories. Make this request without the "Content-Type: application/json". Except
from the file the POST request must also contain a "filename" value with the final file name.

Success-Response
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/category_images"
PUT /category_images Rename Image File
2.1.0

Use this method to rename an existing image file.

Response-Body
{
cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/category_images"
DELETE /category_images Delete Category Image
2.1.0

Removes the category image file from the server. This method will always provide a successful response even if
the image file was not found.

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/category_images"
GET /category_images Get Category Images
2.1.0

Get a list of all category image files which exists in the server's filesystem through a GET request.

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/category_images"

Countries 1 Endpunkte

GET /countries/:id Get Countries
2.1.0

Get a single country or a specific country's zones. This method is currently limited to
only fetching a single country resource so make sure that you provide the country ID in
the request URI.

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/countries/1"

Cronjobs 1 Endpunkte

POST /cronjobs/ Do cronjob specific tasks
2.7.0

Set trigger for ImageProcessing cronjob. This method will always return success.

Success-Response
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/cronjobs/"

Currencies 2 Endpunkte

GET /currencies Get Currencies
2.6.0

Retrieves all active currencies configured in the shop. Supports filtering by search keyword (?q=),
pagination (?page=1&per_page=25), multi-field sorting (?sort=+code) and field selection (?fields=id,code,value).

Bereich Name Typ Pflicht Standard Beschreibung
Body page Number Optional 1 Current page number.
Body per_page Number Optional 25 Number of records per page.
Body sort String Optional +code Sort fields (+ on ascending, - on descending).
Body q String Optional — Search keyword matching currency title or code.
Body fields String Optional — Comma-separated list of fields to include.
Success 200 OK
[
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/currencies"
GET /currencies/:code Get Single Currency
2.6.0

Retrieves details of a single currency by ISO code (e.g. EUR, USD) or database ID.

Bereich Name Typ Pflicht Standard Beschreibung
Body code String Pflicht — Currency ISO 4217 code (EUR, USD, GBP, CHF) or numeric ID.
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/currencies/1"

CustomerGroups 4 Endpunkte

GET /customer_groups/:id Get customer groups
2.5.0

Get multiple or a single customer groups record through the GET method

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/customer_groups/1"
POST /customer_groups Create CustomerGroups
2.5.0

This method enables the creation of a new CustomerGroups into the system.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} CustomerGroups entity
Body names Object Pflicht — Object with language code as keys and name as values.
Body settings Object Pflicht — Object with customer group settings, visit the example for further information.
Body configurations Object Pflicht — Object with customer group configurations, visit the example for further
CustomerGroups entity
{
Success-Response
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/customer_groups"
PATCH /customer_groups/:id Updates CustomerGroup entity
2.5.0

Use this method if you want to update an existing customer groups record.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} CustomerGroups entity
Body names Object Pflicht — Object with language code as keys and name as values.
Body settings Object Pflicht — Object with customer group settings, visit the example for further information.
Body configurations Object Pflicht — Object with customer group configurations, visit the example for further
CustomerGroups entity
{
Success-Response
{
cURL Anfrage
curl -X PATCH \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/customer_groups/1"
DELETE /customer_groups/:id Delete CustomerGroups
2.5.0

Removes a customer groups record from the system. This method will always return success
even if the customer group does not exist.

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/customer_groups/1"

Customers 10 Endpunkte

GET /customers/:customerId/memos Get Customer Memos
2.6.0

Retrieves all admin memos / notes for a specific customer.

Success 200 OK
[
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/customers/1/memos"
POST /customers/:customerId/memos Create Customer Memo
2.6.0

Creates a new admin memo for the customer.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Request Body
Request Body
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/customers/1/memos"
PUT /customers/:customerId/memos/:memoId Update Customer Memo
2.6.0
cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/customers/1/memos/1"
DELETE /customers/:customerId/memos/:memoId Delete Customer Memo
2.6.0
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/customers/1/memos/1"
POST /customers Create Customer
2.3.0

This method enables the creation of a new customer (whether registree or a guest). Additionally
the user can provide new address information or just set the id of an existing one. Check the
examples bellow. An example script to demonstrate the creation of a new customer is located under
./docs/REST/samples/customer-service/create_account.php in the git clone, another one to demonstrate the
creation of a guest customer is located under ./docs/REST/samples/customer-service/create_guest_account.php.

cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/customers"
POST /customers/register Register Customer
2.6.0

Registers a new non-guest customer account. Forces isGuest to false.

Bereich Name Typ Pflicht Standard Beschreibung
Body email String Pflicht — Customer email address.
Body password String Pflicht — Customer clear-text password.
Body firstname String Optional — Customer first name.
Body lastname String Optional — Customer last name.
Body gender String Optional — Customer gender ('m', 'f').
Body dateOfBirth String Optional — Date of birth (YYYY-MM-DD).
Body telephone String Optional — Customer phone number.
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/customers/register"
PUT /customers/:id Update Customer
2.3.0

This method will update the information of an existing customer record. You will
need to provide all the customer information with the request (except from password
and customer id). Also note that you only have to include the "addressId" property.
An example script to demonstrate how to update the admin accounts telephone number
is located under ./docs/REST/samples/customer-service/update_admin_telephone.php
in the git clone.

cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/customers/1"
DELETE /customers/:id Delete Customer
2.1.0

Remove a customer record from the system. This method will always return success
even if the customer does not exist (due to internal CustomerWriteService architecture
decisions, which strive to avoid unnecessary failures).
An example script to demonstrate how to delete a customer is located under
./docs/REST/samples/customer-service/remove_account.php in the git clone.

cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/customers/1"
DELETE /customers/guests Delete Inactive Guest Accounts
2.6.0

Deletes guest accounts that are older than the specified number of days (default: 30 days).

Bereich Name Typ Pflicht Standard Beschreibung
Query days Number Optional 30 Cutoff threshold in days.
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/customers/guests"
GET /customers/:id Get Customers
2.3.0

Get multiple or a single customer record through the GET method. This resource supports
the following GET parameters as described in the first section of documentation: sorting
minimization, search, pagination and links. Additionally you can filter customers by providing
the GET parameter "type=guest" or "type=registree". Sort and pagination GET parameters do not
apply when a single customer record is selected (e.g. api.php/v2/customers/84).
An example script to demonstrate how to fetch customer data is located under
./docs/REST/samples/customer-service/get_admin_data.php in the git clone

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/customers/1"

Emails 5 Endpunkte

POST /attachments Upload Attachment
2.1.0

If an email contains an attachment this must be uploaded before the email is sent. This
method accepts the upload of one file at a time. It will return its temporary path which can
be used as the attachment path in the email JSON data. The name of the file form field is not
taken into concern (can be whatever). The important rule is that only one file will be uploaded
at a time.

Success-Response
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/attachments"
POST /emails/:id Send Email
2.1.0

This method will send and save a new or an existing email to the system. If you include mail attachments
then they must already exist in the server. You will need to provide the full path to the file. To see an
example usage take a look at
docs/REST/samples/email-service/send_email.php

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Request-Body
Body id Number Optional — If provided then an existing email will be resend (only applies to URL).
Body subject String Optional — Email subject to be sent.
Body sender Object Pflicht — Contains the sender contact data.
Body sender.emailAddress String Pflicht — Sender's email address.
Body sender.contactName String Optional — Sender display name.
Body recipient Object Pflicht — Contains the recipient contact data.
Body recipient.emailAddress String Pflicht — Recipient's email address.
Body recipient.contactName String Optional — Recipient's display name.
Body replyTo Object Pflicht — Contains the reply to contact data.
Body replyTo.emailAddress String Pflicht — Email address of the 'Reply-To' contact.
Body replyTo.contactName String Pflicht — Name of the 'Reply-To' contact.
Body contentHtml String Optional — Email plain content.
Body contentPlain String Optional — Email HTML content.
Body bcc Array Optional — Contains the BCC contacts of the email.
Body cc Array Optional — Contains the CC contacts of the email.
Body attachments Array Optional — Contains the attachment data.
Body attachments[].path String Pflicht — The path to the attachments (the file must already exist in the server).
Body attachments[ String Optional — .name] Set a display name for the attachment file (must also contain
Request-Body
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/emails/1"
PUT /emails Queue Email
2.1.0

This method will queue a new email so that it can be send later (with the POST method). See
the "post" method for parameter description. To see an example usage take a look at
docs/REST/samples/email-service/queue_email.php

cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/emails"
DELETE /emails/:id Delete Email
2.1.0

Delete an email record from database. To see an example usage take a look at
docs/REST/samples/email-service/remove_email.php.

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/emails/1"
GET /emails/:id Get Emails
2.1.0

Get multiple or a single email record through the GET method. This resource supports
the following GET parameters as described in the first section of documentation: sorting
minimization, search, pagination. Additionally you can filter emails by providing the
GET parameter "state=pending" or "state=sent". These filter parameters do not apply when
a single emails record is selected (e.g. api.php/v2/emails/84) or when the emails are searched
by the "q" parameter. To see an example usage take a look at
docs/REST/samples/email-service/fetch_email.php

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/emails/1"

Languages 1 Endpunkte

GET /languages Get All Languages
2.6.0

Retrieves all available languages in the shop. Supports search by keyword, sorting, pagination, and field minimization.

Bereich Name Typ Pflicht Standard Beschreibung
Query q String Optional — Search term to filter languages.
Query sort String Optional +id Sort fields (e.g. +name, -code).
Query page Number Optional 1 Pagination page number.
Query per_page Number Optional 25 Number of records per page.
Success 200 OK
[
    {
        "id": 1,
        "code": "de",
        "name": "German",
        "image": "icon.gif",
        "directory": "german",
        "status": true
    },
    {
        "id": 2,
        "code": "en",
        "name": "English",
        "image": "icon.gif",
        "directory": "english",
        "status": true
    }
]
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/languages"

Manufacturers 4 Endpunkte

GET /manufacturers/:id Get manufacturers
2.5.0

Get multiple or a single manufacturers record through the GET method

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/manufacturers/1"
POST /manufacturers Create Manufacturers
2.6.0

This method enables the creation of a new Manufacturers into the system.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Manufacturers entity
Body name String Pflicht — Name of manufacturer.
Body image String Pflicht — Path to manufacturers image.
Body urls Object Pflicht — Object with language code as key and the language specific url as value.
Manufacturers entity
{
Success-Response
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/manufacturers"
PATCH /manufacturers/:id Updates Manufacturers
2.6.0

Use this method if you want to update an existing manufacturers record.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Manufacturers entity
Body name String Pflicht — Name of manufacturer.
Body image String Pflicht — Path to manufacturers image.
Body urls Object Pflicht — Object with language code as key and the language specific url as value.
Manufacturers entity
{
Success-Response
{
cURL Anfrage
curl -X PATCH \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/manufacturers/1"
DELETE /manufacturers/:id Delete Manufacturers
2.5.0

Removes a manufacturers record from the system. This method will always return success
even if the manufacturers does not exist (due to internal ManufacturersWriteService architecture
decisions, which strive to avoid unnecessary failures).

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/manufacturers/1"

Options 10 Endpunkte

GET /options Get Product Options
2.6.0

Retrieves all product options with multilingual names.

Bereich Name Typ Pflicht Standard Beschreibung
Query page Number Optional 1 Page number.
Query per_page Number Optional 20 Records per page.
Query sort String Optional — Sort field and direction.
Query search String Optional — Search keyword.
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/options"
GET /options/:id Get Single Product Option
2.6.0

Retrieves details of a single product option by ID.

Bereich Name Typ Pflicht Standard Beschreibung
Body id Number Pflicht — Product Option ID.
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/options/1"
GET /options/:id/values Get Option Values
2.6.0

Retrieves all option values for a specific product option.

Bereich Name Typ Pflicht Standard Beschreibung
Body id Number Pflicht — Product Option ID.
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/options/1/values"
GET /options/:id/values/:valueId Get Single Option Value
2.6.0

Retrieves a single option value for a product option.

Bereich Name Typ Pflicht Standard Beschreibung
Body id Number Pflicht — Product Option ID.
Body valueId Number Pflicht — Option Value ID.
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/options/1/values/1"
POST /options Create Product Option
2.6.0

Creates a new product option.

Bereich Name Typ Pflicht Standard Beschreibung
Body names Object Pflicht — Multilingual option names (e.g. {"de": "Farbe", "en": "Color"}).
Body sortOrder Number Optional 0 Sort order.
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/options"
POST /options/:id/values Create Option Value
2.6.0

Creates a new option value for the specified product option.

Bereich Name Typ Pflicht Standard Beschreibung
Body id Number Pflicht — Product Option ID.
Body names Object Pflicht — Multilingual value names (e.g. {"de": "Rot", "en": "Red"}).
Body sortOrder Number Optional 0 Sort order.
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/options/1/values"
PUT /options/:id Update Product Option
2.6.0

Updates an existing product option.

Bereich Name Typ Pflicht Standard Beschreibung
Body id Number Pflicht — Product Option ID.
Body names Object Optional — Multilingual option names.
Body sortOrder Number Optional — Sort order.
cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/options/1"
PUT /options/:id/values/:valueId Update Option Value
2.6.0

Updates an existing option value.

Bereich Name Typ Pflicht Standard Beschreibung
Body id Number Pflicht — Product Option ID.
Body valueId Number Pflicht — Option Value ID.
Body names Object Optional — Multilingual value names.
Body sortOrder Number Optional — Sort order.
cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/options/1/values/1"
DELETE /options/:id Delete Product Option
2.6.0

Deletes a product option and all its associated values.

Bereich Name Typ Pflicht Standard Beschreibung
Body id Number Pflicht — Product Option ID.
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/options/1"
DELETE /options/:id/values/:valueId Delete Option Value
2.6.0

Deletes a single option value.

Bereich Name Typ Pflicht Standard Beschreibung
Body id Number Pflicht — Product Option ID.
Body valueId Number Pflicht — Option Value ID.
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/options/1/values/1"

OrderStatus 4 Endpunkte

GET /order_statuses/:id Get order statuses
2.4.0

Get a single order status entry. This method is currently limited to
only fetching a single order status resource so make sure that you provide the order status ID in
the request URI.

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/order_statuses/1"
POST /order_statuses Create Order Status
2.4.0

This method creates a new order status in the database.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Create new order status
Body names object Pflicht — Language related order status names. Provide the language id as object key.
Body color string Pflicht — Label color of order status.
Create new order status
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/order_statuses"
PUT /order_statuses/:id Update Order Status
2.4.0

This method updates a order status in the database.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Create new order status
Body names object Pflicht — Language related order status names. Provide the language id as object key.
Body color string Pflicht — Label color of order status.
Create new order status
{
cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/order_statuses/1"
DELETE /order_statuses/:id Delete Order Status
2.4.0

Removes a order status record from the system. This method will always return success.

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/order_statuses/1"

Orders 21 Endpunkte

POST /orders Create Order
2.2.0

This method enables the creation of a new order into the system. The order can be bound to an existing
customer or be standalone as implemented in the OrderService. Make sure that you check the Order resource
representation. To see an example usage take a look at docs/REST/samples/order-service/create_order.php.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Request-Body
Body statusId String Pflicht — Order status ID, use one of the existing statuses IDs.
Body purchaseDate String Pflicht — Must have the 'Y-m-d H:i:s' format.
Body currencyCode String Pflicht — Order's currency code, use one of the existing currency codes.
Body languageCode String Pflicht — Use one of the existing language codes.
Body totalWeight Number Pflicht — The total weight of the order items.
Body comment String Pflicht — Order's comments.
Body paymentType Object Pflicht — Contains information about the payment type, use values that match with the
Body paymentType.title String Pflicht — The payment title.
Body paymentType.module String Pflicht — The payment module name.
Body shippingType Object Pflicht — Contains information about the shipping type, use values that match with the
Body shippingType.title String Pflicht — The shipping title.
Body shippingType.module String Pflicht — The shipping module name.
Body customer Object Pflicht — Contains the order's customer information.
Body customer.number String Pflicht — Customer's number (often referred as CID).
Body customer.email String Pflicht — Customer's email address.
Body customer.phone String Pflicht — Customer's telephone number.
Body customer.vatId String Pflicht — Customer's VAT ID number.
Body customer.status Object Pflicht — Contains information about the customer's status on the system.
Body customer.status.id Number Pflicht — The customer's status ID must be one of the existing statuses in the shop.
Body customer.status.name String Pflicht — The customer-status name.
Body customer.status.image String Pflicht — The customer-status image (check the value from the shop).
Body customer.status.discount Number Pflicht — The discount that is made to this customer status.
Body customer.status.isGuest Boolean Pflicht — Defines whether the customer is a guest.
Body addresses Object Pflicht — Contains the address information of the order. There are three different kind of
Body addresses.customer Object Pflicht — Contains the customer-address data.
Body addresses.customer.gender String Pflicht — The gender value can be either "m" or "f".
Body addresses.customer.firstname String Pflicht — First name of the address block.
Body addresses.customer.lastname String Pflicht — Last name of the address block.
Body addresses.customer.company String Pflicht — Company name of the address block.
Body addresses.customer.street String Pflicht — Street of the address block.
Body addresses.customer.houseNumber string Pflicht — The house number of the address block.
Body addresses.customer.additionalAddressInfo string Pflicht — Additional information of the address block.
Body addresses.customer.suburb String Pflicht — Suburb of the address block.
Body addresses.customer.postcode String Pflicht — Postcode of the address block.
Body addresses.customer.city String Pflicht — City of the address block.
Body addresses.customer.countryId String Pflicht — Country ID of the address block. You can use the "countries"
Body addresses.customer.zoneId String Pflicht — Zone ID of the address block. You can use the "zones" resource of
Body addresses.customer.b2bStatus Boolean Pflicht — Whether the customer has the b2bStatus.
Body addresses.billing{...} Object Pflicht — Contains the address block for the billing. It expects the same value
Body addresses.delivery{...} Object Pflicht — Contains the address block for the billing. It expects the same value
Body items Array Pflicht — Every order contains a list of order items which can also have their own attributes.
Body items.model String Pflicht — Item's model value.
Body items.name String Pflicht — Item's name value.
Body items.quantity Number Pflicht — Quantity of the purchase.
Body items.price Number Pflicht — The initial price of the order item.
Body items.finalPrice Number Pflicht — The final price of the order item.
Body items.tax Number Pflicht — The tax applied to the value.
Body items.isTaxAllowed Boolean Pflicht — Whether tax is allowed.
Body items.discount Number Pflicht — Percentage of the discount made for this order.
Body items.shippingTimeInformation String Pflicht — Include shipping information to the order.
Body items.checkoutInformation String Pflicht — Include checkout information to the order.
Body items.quantityUnitName String Pflicht — The Quantity unit name of the order item.
Body items.attributes Array Pflicht — Contains some attributes or properties of the order item. The difference
Body items.attributes.name String Pflicht — Attribute's name.
Body items.attributes.value String Pflicht — Attribute's value.
Body items.attributes.price Number Pflicht — Give the attributes price.
Body items.attributes.priceType String Pflicht — Make sure that you use one of the existing price types of the
Body items.attributes.optionId Number Pflicht — Only-attributes need this value.
Body items.attributes.optionValueId Number Pflicht — Only-attributes need this value.
Body items.attributes.combisId Number Pflicht — Only-properties need this value.
Body items.downloadInformation Array Pflicht — Contains the downloads of the order item.
Body items.downloadInformation.filename String Pflicht — Contains a non empty filename.
Body items.downloadInformation.maxDaysAllowed Number Pflicht — Contains the number of days where downloads are
Body items.downloadInformation.countAvailable Number Pflicht — Contains the number of possible downloads.
Body items.addonValues Object Pflicht — (Optional) Contains key value pairs of additional order item data.
Body totals Array Pflicht — Contains the order totals. The order totals are entries that display analytic
Body totals.title String Pflicht — Order total's title.
Body totals.value Number Pflicht — The value stands for the money.
Body totals.valueText String Pflicht — String representation of the value containing the currency code.
Body totals.class String Pflicht — Internal order-total class. A list of possible values can be seen in the
Body totals.sortOrder Number Pflicht — Defines the order of the totals list as they are being displayed.
Body addonValues Object Pflicht — (Optional) Contains key value pairs of additional order data.
Request-Body
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/orders"
PUT /orders/:id Update Order
2.2.0

Use this method to update an existing order record. It uses the complete order JSON resource so
it might be useful to fetch it through a GET request, alter its values and PUT it back in order
to perform the update operation. Take a look in the POST method for more detailed explanation on
every resource property. To see an example usage take a look at
docs/REST/samples/order-service/update_order.php

cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/orders/1"
PATCH /orders/:id/status Update Order Status
2.3.0

Use this method if you want to update the status of an existing order and create an order history entry. The
status history entry must also contain extra information as shown in the JSON example.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Order Status History
Body statusId Number Pflicht — The new status ID will also be set in the order record.
Body comment String Pflicht — Assign a comment to the status history entry.
Body customerNotified Boolean Pflicht — Defines whether the customer was notified by this change.
Body customerId Number Pflicht — The customer ID of the admin account.
Order Status History
{
Success-Response
{
cURL Anfrage
curl -X PATCH \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/orders/1/status"
DELETE /orders/:id Delete Order
2.1.0

Remove an entire Order record from the database. This method will also remove the order-items along with
their attributes and the order-total records. To see an example usage take a look at
docs/REST/samples/order-service/remove_order.php

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/orders/1"
GET /orders/:id Get Orders
2.3.0

Get multiple or a single order record through a GET request. This method supports all the GET parameters
that are mentioned in the "Introduction" section of this documentation.

Important: Whenever you make requests that will return multiple orders the response will contain a smaller
version of each order record called order-list-item. This is done for better performance because the creation
of a complete order record takes significant time (many objects are involved). If you still need the complete
data of an order record you will have to make an extra GET request with the ID provided.

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/orders/1"
GET /orders/:id/history/:id Get Order History
2.1.0

Returns multiple or a single order status history records. This method supports all the GET parameters that are
mentioned in the "Introduction" section of this documentation.

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/orders/1/history/1"
POST /orders/:id/items Create Order Item
2.1.0

Use this method to create a new order item to an existing order. The order item JSON format must be the
same with the "items" entries in the original order item.

cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/orders/1/items"
PUT /orders/:id/items/:id Update Order Item
2.1.0

Use this method to update an existing order item. Use the same order item JSON format as in the POST method.

cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/orders/1/items/1"
DELETE /orders/:id/items/:id Delete Order Item
2.1.0

Use this method to remove an order item from an existing order.

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/orders/1/items/1"
GET /orders/:id/items/:id Get Order Item
2.4.0

Get all or just a single order item from an existing orders. All the GET manipulation parameters are applied
with this method (search, sort, minimize, paginate etc).

Bereich Name Typ Pflicht Standard Beschreibung
Body id Number Optional — Record ID of resource to be returned. If omitted all records
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/orders/1/items/1"
POST /orders/:id/items/:id/attributes Create Order Item Attribute
2.1.0

Use this method to create a new order item attribute to an existing order item. The order item attribute JSON
object is the same as the one included in the full order representation. There are two different order item
variation systems in the shop, the "attributes" and the "properties". Both of them define a variation of an
order item (e.g. color, size etc). You must always use only one of them for a single order item.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Request-Example
Body name String Pflicht — Attribute Name.
Body value String Pflicht — Attribute Value.
Body price Number Pflicht — Attribute Price as float.
Body priceType String Pflicht — Must contain one of the existing price types of the shop.
Body optionId Number Pflicht — Only attribute-records need this value.
Body optionValueId Number Pflicht — Only attribute-records need this value.
Body combisId Number Pflicht — Only property-records need this value.
Request-Example
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/orders/1/items/1/attributes"
PUT /orders/:id/items/:id/attributes/:id Update Order Item Attribute/Property
2.1.0

Use this method to update an existing order item attribute record. It uses the same attribute JSON format
as in the "Create Order Item Attribute" method.

cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/orders/1/items/1/attributes/1"
DELETE /orders/:id/items/:id/attributes/:id Delete Order Item Attribute/Property
2.1.0

Removes a single order item attribute/property entry from an existing order item record.

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/orders/1/items/1/attributes/1"
GET /orders/:id/items/:id/attributes/:id Get Order Item Attribute/Property
2.1.0

Returns multiple or a single order item attribute/property records through a GET request. This method supports
all the GET parameters that are mentioned in the "Introduction" section of this documentation.

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/orders/1/items/1/attributes/1"
POST /orders/:id/totals Create Order Total
2.1.0

Creates a new order total entry to the existing order. The order total JSON format must be the same with the
"totals" entries in the original order total.

cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/orders/1/totals"
PUT /orders/:id/totals/:id Update Order Total
2.1.0

Use this method to update an existing order total. Use the same order total JSON format as in the POST method.

cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/orders/1/totals/1"
DELETE /orders/:id/totals/:id Delete Order Total
2.1.0

Use this method to remove an order total from an existing order.

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/orders/1/totals/1"
GET /orders/:id/totals/:id Get Order Total
2.1.0

Returns all or just a single order total from an existing orders. All the GET manipulation parameters are applied
with this method (search, sort, minimize, paginate etc).

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/orders/1/totals/1"
GET /orders/:id/payment_details Get Order Payment Details
2.5.0

Get details regarding the payment associated with an order.

Bereich Name Typ Pflicht Standard Beschreibung
Body id Number Optional — Order ID
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/orders/1/payment_details"
POST /orders/:order_id/tracking_code Add Tracking Code
2.6.0

Adds a new parcel tracking code to the order resource.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Request-Body
Body Example Pflicht — {json} Request-Body
Body Example Pflicht — {json} Request-Body
Body parcelServiceId int Pflicht — Id of parcel service, must be an existing parcel service ID.
Body trackingCode String Pflicht — Parcel tracking code of order.
Body parcelServiceName String Pflicht — Custom name of parcel service, used for lightweight entity.
Body url String Pflicht — Parcel tracking url of order.
Body comment String Pflicht — Optional comment for orders tracking code.
Request-Body
{
Request-Body
{
Request-Body
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/orders/1/tracking_code"
POST /orders/search Search Orders (Structured Query)
2.3.0

Searches orders with a complex JSON search condition in the request body, supporting multi-field filtering, date ranges, and status IDs.

Bereich Name Typ Pflicht Standard Beschreibung
Body condition Object Pflicht — Order search condition object.
Search Condition Example
{
    "statusId": 1,
    "currency": "EUR"
}
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/orders/search"

ParcelServices 6 Endpunkte

GET /parcel_services Get All Parcel Services
2.5.0

Retrieves all configured parcel services (shipping carriers like DHL, DPD, UPS, Hermes). Supports keyword search (?q=), pagination, and sorting.

Bereich Name Typ Pflicht Standard Beschreibung
Query q String Optional — Search term.
Query page Number Optional 1 Page number.
Query per_page Number Optional 25 Records per page.
Success 200 OK
[
    {
        "id": 1,
        "name": "DHL",
        "trackingUrl": "https://www.dhl.de/de/privatkunden/pakete-empfangen/verfolgen.html?piececode={TRACKING_CODE}",
        "default": true
    }
]
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/parcel_services"
GET /parcel_services/:id Get Parcel Service by ID
2.5.0

Retrieves a single parcel service by its ID.

Bereich Name Typ Pflicht Standard Beschreibung
Path id Number Pflicht — Parcel service ID.
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/parcel_services/1"
POST /parcel_services Create Parcel Service
2.5.0

Creates a new parcel service record.

Bereich Name Typ Pflicht Standard Beschreibung
Body name String Pflicht — Name of the shipping service.
Body trackingUrl String Optional — Tracking URL pattern with {TRACKING_CODE} placeholder.
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/parcel_services"
POST /parcel_services/search Search Parcel Services
2.5.0

Searches parcel services matching structured search conditions sent in the JSON body.

cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/parcel_services/search"
PUT /parcel_services/:id Update Parcel Service
2.5.0

Updates an existing parcel service entity.

Bereich Name Typ Pflicht Standard Beschreibung
Path id Number Pflicht — Parcel service ID.
cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/parcel_services/1"
DELETE /parcel_services/:id Delete Parcel Service
2.5.0

Deletes a parcel service by ID.

Bereich Name Typ Pflicht Standard Beschreibung
Path id Number Pflicht — Parcel service ID.
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/parcel_services/1"

ProductPrices 4 Endpunkte

GET /product_prices/:product_id Get Product Prices
2.5.0

Retrieves all pricing information for a specified product, including customer group prices, tiered / graduated prices, and tax rates.

Bereich Name Typ Pflicht Standard Beschreibung
Path product_id Number Pflicht — The ID of the product.
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/product_prices/1"
GET /product_prices/:product_id/customer_groups/:customer_group_id/:quantity Get Graduated Price for Customer Group & Quantity
2.5.0

Calculates and returns the specific product price for a given customer group and quantity tier.

Bereich Name Typ Pflicht Standard Beschreibung
Path product_id Number Pflicht — Product ID.
Path customer_group_id Number Pflicht — Customer Group ID.
Path quantity Number Pflicht — Order quantity.
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/product_prices/1/customer_groups/1/1"
PUT /product_prices/:product_id Update Product Prices
2.5.0

Updates the prices and customer group prices for a product.

Bereich Name Typ Pflicht Standard Beschreibung
Path product_id Number Pflicht — Product ID to update prices for.
cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/product_prices/1"
DELETE /product_prices/:product_id Delete Product Prices / Graduated Prices
2.5.0

Deletes or resets custom prices for a product.

Bereich Name Typ Pflicht Standard Beschreibung
Path product_id Number Pflicht — Product ID.
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/product_prices/1"

Products 16 Endpunkte

POST /product_images Upload Product Image
2.1.0

Uploads an image file for the products. Make this request without the "Content-Type: application/json". Except
from the file the POST request must also contain a "filename" value with the final file name.

Success-Response
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/product_images"
PUT /product_images Rename Image File
2.1.0

Use this method to rename an existing image file.

Response-Body
{
cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/product_images"
DELETE /product_images Delete Product Image
2.1.0

Remove the product image file from the server. This method will always provide a successful response even if
the image file was not found.

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/product_images"
GET /product_images Get Product Images
2.1.0

Get a list of all product image files which exists in the server's filesystem through a GET request.

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/product_images"
GET /products/:id/reviews/:id Get reviews or average rating for single product
2.6.0

Get multiple, a single review record or the average rating for a single product through the GET method.
Use optional lang (e.g.: lang=en) GET-parameter flag to filter based on the provided language code.

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/products/1/reviews/1"
POST /products/:id/reviews Create review for single product
2.6.0

This method enables the creation of a new review into the system for the product with the ID that is provided in
the request URI. The productId in the request URI will override the productId of the request body.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Review entity
Body productId Number Pflicht — The ID of the reviewed product.
Body rating Number Pflicht — The numeric rating value. All integers from 1 to 5 are valid.
Body languageId Number Pflicht — The language ID.
Body text String Pflicht — The review content.
Body customer Object Pflicht — Contains various customer specific information.
Body customer.customerId Number Pflicht — Customer's ID.
Body customer.customerName String Pflicht — Customer's name.
Review entity
{
Success-Response
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/products/1/reviews"
PUT /products/:id/reviews/:id Update review for single product
2.6.0

Use this method to update an existing review record. Take a look in the POST method for more detailed
explanation on every resource property.

cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/products/1/reviews/1"
DELETE /products/:1/reviews/:id Delete review
2.6.0

Removes a review record from the system. Assuming that the provided product-to-review association (product ID
and review Id in request URI) is correct this method will always return success even if the review does not
exist (due to internal ReviewWriteService architecture decisions, which strive to avoid unnecessary failures).

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/products/1/reviews/1"
POST /products Create Product
2.6.0

Creates a new product record or multiple new product records in the system. To see an example usage take a look
at
docs/REST/samples/product-service/create_product.php

cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/products"
PUT /products/:id Update Product
2.1.0

Use this method to update an existing product record. Take a look in the POST method for more detailed
explanation on every resource property. To see an example usage consider
docs/REST/samples/product-service/update_product.php

cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/products/1"
DELETE /products/:id Delete Product
2.1.0

Removes a product record from the database. To see an example usage take a look at
docs/REST/samples/product-service/remove_product.php

cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/products/1"
GET /products/:id Get Products
2.6.0

Get multiple or a single product records through a GET request. This method supports all the GET parameters
that are mentioned in the "Introduction" section of this documentation. To see an example usage take a look at
docs/REST/samples/product-service/remove_product.php

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/products/1"
POST /products/:id/links Create Product Link
2.1.0

Creates a new 'product to category' record in the system.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Request-Body
Request-Body
{
Success-Response
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/products/1/links"

ProductsVariants 2 Endpunkte

GET /products/:product_id/variants Get Product Variants (Combinations)
2.6.0

Retrieves all variant combinations (properties combis) for a given product ID, including option combinations, stock, model number, price adjustments, and weight.

Bereich Name Typ Pflicht Standard Beschreibung
Path product_id Number Pflicht — The ID of the master product.
Success 200 OK
{
    "data": [
        {
            "id": 101,
            "combination": [
                {
                    "optionId": 1,
                    "optionValueId": 5
                }
            ],
            "sortOrder": 1,
            "modelNumber": "TSHIRT-RED-XL",
            "stock": 50,
            "weight": 0.25,
            "price": 19.99,
            "priceType": "calc"
        }
    ]
}
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/products/1/variants"
GET /products/:product_id/variants/:variant_id Get Specific Product Variant
2.6.0

Retrieves a single variant combination by product ID and variant combination ID.

Bereich Name Typ Pflicht Standard Beschreibung
Path product_id Number Pflicht — Master product ID.
Path variant_id Number Pflicht — Variant combination ID.
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/products/1/variants/1"

QuantityUnits 5 Endpunkte

PATCH /products/id/variants/:id * @apiVersion 2.5.0
2.5.0

Use this method if you want to update an existing quantity units record.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} QuantityUnits entity
Body names Object Pflicht — Object with language code as keys and name as values.
QuantityUnits entity
{
Success-Response
{
cURL Anfrage
curl -X PATCH \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/products/id/variants/1"
GET /quantity_units/:id Get quantity units
2.5.0

Get multiple or a single quantity units record through the GET method

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/quantity_units/1"
POST /quantity_units Create QuantityUnits
2.5.0

This method enables the creation of a new QuantityUnits into the system.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} QuantityUnits entity
Body names Object Pflicht — Object with language code as keys and name as values.
QuantityUnits entity
{
Success-Response
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/quantity_units"
PATCH /quantity_units/:id Updates QuantityUnit entity
2.5.0

Use this method if you want to update an existing quantity units record.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} QuantityUnits entity
Body names Object Pflicht — Object with language code as keys and name as values.
QuantityUnits entity
{
Success-Response
{
cURL Anfrage
curl -X PATCH \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/quantity_units/1"
DELETE /quantity_units/:id Delete QuantityUnits
2.5.0

Removes a quantity units record from the system. This method will always return success
even if the quantity unit does not exist.

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/quantity_units/1"

Reviews 4 Endpunkte

GET /reviews/:id Get reviews
2.6.0

Get multiple or a single review record through the GET method

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/reviews/1"
POST /reviews Create review
2.6.0

This method enables the creation of a new review into the system.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Review entity
Body productId Number Pflicht — The ID of the reviewed product.
Body rating Number Pflicht — The numeric rating value. All integers from 1 to 5 are valid.
Body languageId Number Pflicht — The language ID.
Body text String Pflicht — The review content.
Body customer Object Pflicht — Contains various customer specific information.
Body customer.customerId Number Pflicht — Customer's ID.
Body customer.customerName String Pflicht — Customer's name.
Review entity
{
Success-Response
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/reviews"
PUT /reviews/:id Update review
2.6.0

Use this method to update an existing review record. Take a look in the POST method for more detailed
explanation on every resource property.

cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/reviews/1"
DELETE /reviews/:id Delete review
2.6.0

Removes a review record from the system. This method will always return success
even if the review does not exist (due to internal ReviewWriteService architecture
decisions, which strive to avoid unnecessary failures).

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/reviews/1"

ShopInformation 1 Endpunkte

GET /shop_information Get Shop Information
2.4.0

Returns shop information like shop url, shop name, shop owner address data, shop template name and shop version.

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/shop_information"

SpecialOffers 6 Endpunkte

GET /special_offers Get All Special Offers
2.4.0

Retrieves all active special offers / discounts configured in the shop. Supports pagination and sorting.

Bereich Name Typ Pflicht Standard Beschreibung
Query page Number Optional 1 Page number.
Query per_page Number Optional 25 Records per page.
Query sort String Optional +id Sort fields.
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/special_offers"
GET /special_offers/:id Get Special Offer by ID
2.4.0

Retrieves details of a single special offer by its ID.

Bereich Name Typ Pflicht Standard Beschreibung
Path id Number Pflicht — Special offer ID.
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/special_offers/1"
POST /special_offers Create Special Offer
2.4.0

Creates a new special offer for a product.

Bereich Name Typ Pflicht Standard Beschreibung
Body productId Number Pflicht — Target product ID.
Body specialPrice Number Pflicht — Offer price.
Body specialQuantity Number Optional — Quantity allocated for offer.
Body expiresDate String Optional — Expiration date (YYYY-MM-DD).
Body status Boolean Optional true Active status.
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/special_offers"
POST /special_offers/search Search Special Offers
2.4.0

Searches special offers by complex JSON search condition criteria.

cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/special_offers/search"
PUT /special_offers/:id Update Special Offer
2.4.0

Updates an existing special offer record.

Bereich Name Typ Pflicht Standard Beschreibung
Path id Number Pflicht — Special offer ID.
cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/special_offers/1"
DELETE /special_offers/:id Delete Special Offer
2.4.0

Deletes an existing special offer by ID.

Bereich Name Typ Pflicht Standard Beschreibung
Path id Number Pflicht — Special offer ID.
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/special_offers/1"

TaxClasses 1 Endpunkte

GET /tax_classes Get Tax Classes
2.4.0

Get all tax classes or a single tax class including tax rates.

Success-Response
[
Success-Response
{
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/tax_classes"

TaxRates 2 Endpunkte

GET /tax_rates Get Tax Rates
2.4.0

Get all tax rates or a single tax rate.

Success-Response
[
Success-Response
{
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/tax_rates"
GET /tax_zones Get Tax Zones
2.4.0

Get all tax zones or a single tax zone.

Success-Response
[
Success-Response
{
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/tax_zones"

TrackingCode 2 Endpunkte

GET /tracking_code Get parcel tracking codes
2.6.0

Returns a list with all parcel tracking code entities. You can fetch a single resource by providing the tracking
code id in the request URI.

Response-Body
[
Response-Body
{
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/tracking_code"
DELETE /tracking_code/:id Delete tracking code
2.6.0

Removes an order parcel tracking code entry from the database.

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/tracking_code/1"

VPE 4 Endpunkte

GET /vpe/:id Get Customers
2.5.0

Get multiple or a single vpe record through the GET method

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/vpe/1"
PATCH /vpe/:id Updates VPE
2.5.0

Use this method if you want to update an existing vpe record.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} VPE entity
Body name Object Pflicht — Object that contains the language codes as key and the vpe name as value.
VPE entity
{
Success-Response
{
cURL Anfrage
curl -X PATCH \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/vpe/1"
DELETE /vpe/:id Delete VPE
2.5.0

Removes a vpe record from the system. This method will always return success
even if the vpe does not exist (due to internal VPEWriteService architecture
decisions, which strive to avoid unnecessary failures).

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/vpe/1"
POST /vpe Create VPE
2.5.0

This method enables the creation of a new VPE into the system.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Request-Body
Body name Object Pflicht — Object that contains the language codes as key and the vpe name as value.
Request-Body
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/vpe"

Variants 7 Endpunkte

GET /products/:productId/variants Get Product Variants
2.6.0

Returns a list of all variants (property combinations) for the specified product.

Bereich Name Typ Pflicht Standard Beschreibung
Body productId Number Pflicht — Product ID.
Query page Number Optional 1 Page number for pagination.
Query per_page Number Optional 20 Number of items per page.
Query sort String Optional — Sorting field and direction (e.g. sortOrder:asc).
Query search String Optional — Search keyword.
Success-Response:
HTTP/1.1 200 OK
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/products/1/variants"
GET /products/:productId/variants/:variantId Get Single Product Variant
2.6.0

Returns the details of a single product variant.

Bereich Name Typ Pflicht Standard Beschreibung
Body productId Number Pflicht — Product ID.
Body variantId Number Pflicht — Variant ID (combi ID).
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/products/1/variants/1"
POST /products/:productId/variants Create Product Variant
2.6.0

Creates a new variant combination for the specified product.

Bereich Name Typ Pflicht Standard Beschreibung
Body productId Number Pflicht — Product ID.
Body combination Object[] Pflicht — Array of option and value pairs or array of value IDs.
Body modelNumber String Optional — Variant model number.
Body stock Number Optional 0 Stock quantity.
Body stockType String Optional 'not-managed' Stock management type.
Body price Number Optional 0 Variant price / surcharge.
Body priceType String Optional 'calc' Price calculation type ('calc' or 'fix').
Body weight Number Optional 0 Variant weight.
Body weightType String Optional 'calc' Weight calculation type.
Body sortOrder Number Optional — Sort order.
Body ean String Optional — EAN barcode.
Body gtin String Optional — GTIN.
Body asin String Optional — ASIN.
Body deliveryTimeId Number Optional — Shipping/delivery status ID.
Body vpeScalarValue Number Optional — VPE scalar value.
Body vpeUnitId Number Optional — VPE unit ID.
Success-Response:
HTTP/1.1 201 Created
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/products/1/variants"
POST /products/:productId/variants/_generate Generate Product Combinations
2.6.0

Automatically generates combinatorial product variants (Cartesian product) from assigned property values or provided property groups.

Bereich Name Typ Pflicht Standard Beschreibung
Body productId Number Pflicht — Product ID.
Body properties Object[] Optional — Optional property groups to generate from. If omitted, uses properties assigned to product in admin select.
Body properties.optionId Number Pflicht — Option (property) ID.
Body properties.values Number[] Pflicht — Array of option value IDs.
Body defaults Object Optional — Default values for generated variants (stock, price, priceType, weight).
Success-Response:
HTTP/1.1 201 Created
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/products/1/variants/_generate"
PUT /products/:productId/variants/:variantId Update Product Variant
2.6.0

Updates an existing product variant.

Bereich Name Typ Pflicht Standard Beschreibung
Body productId Number Pflicht — Product ID.
Body variantId Number Pflicht — Variant ID.
Body combination Object[] Optional — Updated combination pairs or value IDs.
Body modelNumber String Optional — Updated model number.
Body stock Number Optional — Updated stock quantity.
Body stockType String Optional — Updated stock management type.
Body price Number Optional — Updated price / surcharge.
Body priceType String Optional — Updated price calculation type.
Body weight Number Optional — Updated weight.
Body weightType String Optional — Updated weight calculation type.
Body sortOrder Number Optional — Updated sort order.
Body ean String Optional — Updated EAN.
Body gtin String Optional — Updated GTIN.
Body asin String Optional — Updated ASIN.
Body deliveryTimeId Number Optional — Updated shipping status ID.
Body vpeScalarValue Number Optional — Updated VPE value.
Body vpeUnitId Number Optional — Updated VPE unit ID.
cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/products/1/variants/1"
DELETE /products/:productId/variants/:variantId Delete Product Variant
2.6.0

Deletes a single product variant.

Bereich Name Typ Pflicht Standard Beschreibung
Body productId Number Pflicht — Product ID.
Body variantId Number Pflicht — Variant ID.
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/products/1/variants/1"
DELETE /products/:productId/variants Delete All Product Variants
2.6.0

Deletes all variants (property combinations) for the specified product.

Bereich Name Typ Pflicht Standard Beschreibung
Body productId Number Pflicht — Product ID.
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/products/1/variants"

Withdrawals 4 Endpunkte

GET /withdrawals/:id Get withdrawals
2.6.0

Get multiple or a single withdrawal record through the GET method

cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/withdrawals/1"
POST /withdrawals Create withdrawal
2.6.0

This method enables the creation of a new withdrawal into the system.

Bereich Name Typ Pflicht Standard Beschreibung
Body Example Pflicht — {json} Withdrawal entity
Body withdrawalDate String Pflicht — The withdrawal date. Must have the 'Y-m-d H:i:s' format.
Body content String Pflicht — The withdrawal content.
Body order Object Pflicht — Contains various order specific information.
Body order.orderId Number Pflicht — Order ID.
Body order.customerId Number Pflicht — Customer's ID.
Body order.customerGender String Pflicht — Customer's gender.
Body order.customerFirstName String Pflicht — Customer's first name.
Body order.customerLastName String Pflicht — Customer's last name.
Body order.customerStreetAddress String Pflicht — Customer's street address with house number.
Body order.customerPostCode String Pflicht — Customer's post code.
Body order.customerCity String Pflicht — Customer's city.
Body order.customerCountry String Pflicht — Customer's country.
Body order.customerEmail String Pflicht — Customer's email address.
Body order.orderDate String Pflicht — Order date. Must have the 'Y-m-d H:i:s' format.
Body order.deliveryDate String Pflicht — Delivery date. Must have the 'Y-m-d H:i:s' format.
Body createdByAdmin Boolean Pflicht — Whether the withdrawal was created by customer or by an admin.
Withdrawal entity
{
Success-Response
{
cURL Anfrage
curl -X POST \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/withdrawals"
PUT /withdrawals/:id Update withdrawal
2.6.0

Use this method to update an existing withdrawal record. Take a look in the POST method for more detailed
explanation on every resource property.

cURL Anfrage
curl -X PUT \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://example.org/api.php/v2/withdrawals/1"
DELETE /withdrawals/:id Delete withdrawal
2.6.0

Removes a withdrawal record from the system. This method will always return success
even if the withdrawal does not exist (due to internal WithdrawalWriteService architecture
decisions, which strive to avoid unnecessary failures).

Success-Response
{
cURL Anfrage
curl -X DELETE \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/withdrawals/1"

Zones 1 Endpunkte

GET /zones/:id Get Zones
2.1.0

Get a single registered zone resource. This method is currently limited to only fetching
a single zone and might be updated in a future version of the API.

Bereich Name Typ Pflicht Standard Beschreibung
Body id int Pflicht — (required) The zone record ID to be returned.
cURL Anfrage
curl -X GET \
  --user "admin@example.org:passwort" \
  -H "Accept: application/json" \
  "https://example.org/api.php/v2/zones/1"