enfore ERP API (1.19.2)

Download OpenAPI specification:Download

enfore API for managing products, invoices and credit memos

Products

Products are things that are sold by the organization. They are identified by a unique ID but may have additional identifiers such as a GTIN or ASIN.

Load the list of all products

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

article_id
string

When specified, only products with the specified article id are returned.

Responses

200

Product list is successfully returned

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products

Production

https://external.apis.enfore.com/erp/org/{org-id}/products

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Add a new product to the organisation

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters

The name of the product.

external_id
string [ 1 .. 256 ] characters
Deprecated

An identifier for use by the external system. Can also be used to address the product via the "/products/external-id/{external-id}" resource.

sales_types
Array of strings (ProductSalesType)
Items Enum: "OTC" "PICKUP" "DELIVERY"
variant_group_id
string [ 1 .. 256 ] characters

The ID of the variant group this product belongs to.

article_id
string [ 1 .. 256 ] characters

The identifier by which the article is addressed by the business when communicating internally or with customers or suppliers.

Once specified, the article ID cannot be modified anymore. Otherwise, business documents such as invoices or packaging lists created at different points in time may list the same article ID for different products.

management_unit
required
string (UnitOfMeasure)
Enum: "ENERGY_JOULES" "ENERGY_GIGAJOULES" "ENERGY_MEGAJOULES" "ENERGY_KILOJOULES" "ENERGY_CENTIJOULES" "ENERGY_MILLIJOULES" "ENERGY_MICROJOULES" "ENERGY_CALORIES" "ENERGY_KILOCALORIES" "ENERGY_WATTHOURS" "ENERGY_GIGAWATTHOURS" "ENERGY_MEGAWATTHOURS" "ENERGY_KILOWATTHOURS" "ENERGY_CENTIWATTHOURS" "ENERGY_MILLIWATTHOURS" "ENERGY_MICROWATTHOURS" "LENGTH_KILOMETERS" "LENGTH_METERS" "LENGTH_DECIMETERS" "LENGTH_CENTIMETERS" "LENGTH_MILLIMETERS" "LENGTH_POINTS" "LENGTH_INCHES" "LENGTH_FEET" "LENGTH_YARDS" "MASS_TONS" "MASS_KILOGRAMS" "MASS_GRAMS" "MASS_MILLIGRAMS" "MASS_POUNDS" "QUANTITY_PIECES" "TIME_SECONDS" "TIME_MINUTES" "TIME_HOURS" "TIME_DAYS" "TIME_WEEKS" "DIGITALINFORMATION_BYTES" "DIGITALINFORMATION_KILOBYTES" "DIGITALINFORMATION_KIBIBYTES" "DIGITALINFORMATION_MEGABYTES" "DIGITALINFORMATION_MEBIBYTES" "DIGITALINFORMATION_GIGABYTES" "DIGITALINFORMATION_GIBIBYTES" "DIGITALINFORMATION_TERABYTES" "DIGITALINFORMATION_TEBIBYTES" "DIGITALINFORMATION_PETABYTES" "DIGITALINFORMATION_PEBIBYTES" "TIME_MONTHS" "TIME_YEARS" "VOLUME_CUBIC_MILLIMETERS" "VOLUME_CUBIC_CENTIMETERS" "VOLUME_CUBIC_DECIMETERS" "VOLUME_CUBIC_METERS" "VOLUME_MILLILITERS" "VOLUME_CENTILITERS" "VOLUME_DECILITERS" "VOLUME_LITERS" "VOLUME_HECTOLITERS" "VOLUME_FLUID_OUNCES" "VOLUME_PINTS" "VOLUME_QUARTS" "VOLUME_GALLONS" "VOLUME_BARRELS"

Describes a unit of measure. Commonly uses as part of Quantity values.

alternative_units
Array of objects (AlternativeUnit)

Definition of alternative units for the product.

Alternative units define quantities of the product than can be used as a "unit" in business operations (e.g., GoodsIns) related to the produt. The "unit" is then multiplied by a "number of units" to determine the total quantity affected by the operation.

sales_quantity
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

enabled_sales_quantity_sources
Array of strings (SalesQuantitySource)
Items Enum: "NONE" "API" "MANUAL" "BARCODE"

The list of sources where the sales quantityunit of the resource is allowed to come from.

For example, when the set is [ BARCODE, MANUAL ], the sales quantity can be scanned from a barcode or entered manually but not provided via API.

When not set/empty, the platform defaults to:

  • [ API ] for resources tracked in a UnitOfQuantity
  • [ API, MANUAL ] for resources tracked in any unit of measure other than UnitOfQuantity
sales_price_and_quantity
object (ProductSalesPriceAndQuantity)

The set of information defining the sales price of a product.

This is very similar to ProductPriceAndQuantity (from "shared") with the addition of an optional take-away price (via take_away_price).

When a product has a take_away_price and is sold as "take-away", that price is used instead of the regular price. When the product does not have a take_away_price, the price is used even when the product is sold as "take-away".

enabled_sales_price_sources
Array of strings (SalesPriceSource)
Items Enum: "NONE" "API" "MANUAL" "BARCODE"

The list of sources where the sales price of the resource is allowed to come from.

For example, when the set is [ BARCODE, API ], the sales price can be scanned from a barcode or provided via API but not entered manually.

When not set/empty, the platform defaults to:

  • [ API ] for resources where a sales price is configured (at resource or resource/channel)
  • [ API, MANUAL ] for resources where no sales price is configured
reference_price_quantity
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

reference_price_conversion_quantity
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

block_sales
boolean

If this optional flag is set to true, selling of the product is blocked.

exclude_from_discounts
boolean

If this optional flag is set to true, discounts are not applied to this product.

disable_manual_sales_price_adjustment
boolean
Default: false

Controls whether the sales price for the product can be manually modified when creating a sales order line item for the product.

maximum_manual_price_per_unit
object (Money)

A Money represents a monetary value (i.e., a currency and an amount), for example "120 EUR" or "2,500.75 USD".

product_identifiers
Array of objects (ProductIdentifier)

Additional identifiers such as GTIN or ASIN assigned to the product. Note that it is possible to have multiple identifiers of the same type.

tax_category
required
string (TaxCategory)
Enum: "STANDARD" "REDUCED" "REDUCED_SPECIAL" "REDUCED_TAKE_AWAY" "ACCOMMODATION" "NO_TAX"

Represents the locale-independent representation of a specific type of tax.

The category does not represent a specifix tax. This is needed as taxes are a) different depending on country (and sometimes even within a single country) and b) tax rates may change over time but the actual Tax objects must not change as they are referenced by existing invoices.

For example, the tax category STANDARD is mapped to currently mapped to "DE/19%" for Germany and to "UK/20%" for the UK. If Germany would increase the standard tax rate to 21%, the mapping for Germany would be updated, but the products would still use the same STANDARD category as before.

Additional factors may also influcence the mapping, for example the category REDUCED_TAKE_AWAY normally gets mapped to "DE/19%" for Germany. But when the sale is flagged as "to go", the category is mapped to "DE/7%" instead.

tax_exemption_reason
string (TaxExemptionReason)
Enum: "UNIVERSAL_POSTAL_SERVICE_DE" "INTRA_COMMUNITY_TRADE_EU" "THIRD_PARTY_COUNTRY_DELIVERY_EU" "REVERSE_CHARGE_EU" "INTER_COMPANY_SALE_EU"

Reasons for not applying tax on a product sale.

not_taxable
boolean
custom_workflow_config
object (ProductCustomWorkflowConfig)

Holds information about the custom workflows defined for a product and the line items of orders/invoices that reference the product.

sales_category
string [ 1 .. 256 ] characters

The ID of the sales category that the product belongs to.

brand
string [ 1 .. 256 ] characters

id of brand

variant_ranking_pKey
string

Optional string determining user-defined ordering among sibling variants.

browse_nodes
Array of strings

The IDs of the browse nodes that the product belongs to.

track_inventory
boolean
Default: false

Flag that specifies if inventory (per storage location) is tracked for the product.

manufacturer
string [ 1 .. 256 ] characters

The name of the manufacturer of the product.

lot_configuration
object (ProductLotConfiguration)

Defines that the product uses lots and provides the settings on how lots are used.

extra_charge_type
string (ExtraChargeType)
Enum: "DEPOSIT" "WRAPPING" "TRANSPORT_PACKAGING" "SHIPPING" "HANDLING" "OTHER" "NONE"

Defines the various types of extra charge supported by the platform. Extra charges are charged for the sale of other sales items (the "main" sales item so to speak).

  • DEPOSIT: Denotes a deposit that is "sold" when its main sales item is sold. The deposit item can be returned later and the extra charge is refunded. Examples for deposits are bottle deposits or returnable covering boxes. Deposits are taxed with the same tax rate as their main item.
  • WRAPPING: Denotes an extra charge for wrapping a single main sales item. This could be a shrink wrap or a non-returnable covering box. Wrapping extra charge resources are taxed with the same tax rate as their main item.
  • TRANSPORT_PACKAGING: Denotes a container used for the transport of one or several sales items. They are taxed with their own tax rate (usually full tax). They maybe returnable or non-returnable.
  • SHIPPING: Denotes a shipping fee for one or several sales items. They are taxed as the shipped sales items, in case the shipped items use different tax rates, more than one extra charge has to be used, each of them with the tax rate of the shipped items.
  • HANDLING: Denotes a handling fee for one or several sales items. They are taxed as the handled sales items, in case the handled items use different tax rates, more than one extra charge has to be used, each of them with the tax rate of the handled items.
  • OTHER: Any other extra charge not supported by the Enfore platform explicitly. They are taxed with their own tax rate (usually full tax).
intended_use
Array of strings (IntendedUse)
Items Enum: "SELL" "INTERNAL_USE" "SOURCE_MATERIAL" "PACKAGING_MATERIAL" "INVENTORY"
product_dimensions
object (PhysicalDimensions)
shipping_dimensions
object (PhysicalDimensions)
manual_rough_stock_indicator
string (RoughStockIndicator)
Enum: "RED" "ORANGE" "GREEN"
product_details_configuration_id
string [ 1 .. 256 ] characters

The ID of the product details configuration to use for the product.

sold_on_behalf_of
string [ 1 .. 256 ] characters

Sales can be made on behalf of someone else. In that case the merchant that executes the sale becomes an "agent" and the organization contact pointed to by "sold_on_behalf_of" the "principal" of the sale. If not present, the product is assumed to be sold on behalf of the merchant himself.

Responses

201

Product has successfully been added

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

409

When payload contains an external ID and a product with the same external ID already exists

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/products

Production

https://external.apis.enfore.com/erp/org/{org-id}/products

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "external_id": "string",
  • "sales_types":
    [
    ],
  • "variant_group_id": "string",
  • "article_id": "string",
  • "management_unit": "ENERGY_JOULES",
  • "alternative_units":
    [
    ],
  • "sales_quantity":
    {
    },
  • "enabled_sales_quantity_sources":
    [
    ],
  • "sales_price_and_quantity":
    {
    },
  • "enabled_sales_price_sources":
    [
    ],
  • "reference_price_quantity":
    {
    },
  • "reference_price_conversion_quantity":
    {
    },
  • "block_sales": true,
  • "exclude_from_discounts": true,
  • "disable_manual_sales_price_adjustment": false,
  • "maximum_manual_price_per_unit":
    {
    },
  • "product_identifiers":
    [
    ],
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "custom_workflow_config":
    {},
  • "sales_category": "string",
  • "brand": "string",
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "track_inventory": false,
  • "manufacturer": "string",
  • "lot_configuration":
    {
    },
  • "extra_charge_type": "DEPOSIT",
  • "intended_use":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "manual_rough_stock_indicator": "RED",
  • "product_details_configuration_id": "string",
  • "sold_on_behalf_of": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "type": "INVENTORY_PRODUCT",
  • "name": "string",
  • "external_id": "string",
  • "sales_types":
    [
    ],
  • "variant_group_id": "string",
  • "article_id": "string",
  • "management_unit": "ENERGY_JOULES",
  • "alternative_units":
    [
    ],
  • "sales_quantity":
    {
    },
  • "enabled_sales_quantity_sources":
    [
    ],
  • "sales_price_and_quantity":
    {
    },
  • "enabled_sales_price_sources":
    [
    ],
  • "reference_price_quantity":
    {
    },
  • "reference_price_conversion_quantity":
    {
    },
  • "block_sales": true,
  • "exclude_from_discounts": true,
  • "disable_manual_sales_price_adjustment": false,
  • "maximum_manual_price_per_unit":
    {
    },
  • "product_identifiers":
    [
    ],
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "custom_workflow_config":
    {},
  • "sales_category": "string",
  • "brand": "string",
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "track_inventory": false,
  • "manufacturer": "string",
  • "lot_configuration":
    {
    },
  • "extra_charge_type": "DEPOSIT",
  • "intended_use":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "manual_rough_stock_indicator": "RED",
  • "product_details_configuration_id": "string",
  • "sold_on_behalf_of": "string"
}

Load a product by its identifier

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Responses

200

Product is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/{product-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "type": "INVENTORY_PRODUCT",
  • "name": "string",
  • "external_id": "string",
  • "sales_types":
    [
    ],
  • "variant_group_id": "string",
  • "article_id": "string",
  • "management_unit": "ENERGY_JOULES",
  • "alternative_units":
    [
    ],
  • "sales_quantity":
    {
    },
  • "enabled_sales_quantity_sources":
    [
    ],
  • "sales_price_and_quantity":
    {
    },
  • "enabled_sales_price_sources":
    [
    ],
  • "reference_price_quantity":
    {
    },
  • "reference_price_conversion_quantity":
    {
    },
  • "block_sales": true,
  • "exclude_from_discounts": true,
  • "disable_manual_sales_price_adjustment": false,
  • "maximum_manual_price_per_unit":
    {
    },
  • "product_identifiers":
    [
    ],
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "custom_workflow_config":
    {},
  • "sales_category": "string",
  • "brand": "string",
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "track_inventory": false,
  • "manufacturer": "string",
  • "lot_configuration":
    {
    },
  • "extra_charge_type": "DEPOSIT",
  • "intended_use":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "manual_rough_stock_indicator": "RED",
  • "product_details_configuration_id": "string",
  • "sold_on_behalf_of": "string"
}

Full update of a product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters

The name of the product.

external_id
string [ 1 .. 256 ] characters
Deprecated

An identifier for use by the external system. Can also be used to address the product via the "/products/external-id/{external-id}" resource.

sales_types
Array of strings (ProductSalesType)
Items Enum: "OTC" "PICKUP" "DELIVERY"
variant_group_id
string [ 1 .. 256 ] characters

The ID of the variant group this product belongs to.

article_id
string [ 1 .. 256 ] characters

The identifier by which the article is addressed by the business when communicating internally or with customers or suppliers.

Once specified, the article ID cannot be modified anymore. Otherwise, business documents such as invoices or packaging lists created at different points in time may list the same article ID for different products.

management_unit
required
string (UnitOfMeasure)
Enum: "ENERGY_JOULES" "ENERGY_GIGAJOULES" "ENERGY_MEGAJOULES" "ENERGY_KILOJOULES" "ENERGY_CENTIJOULES" "ENERGY_MILLIJOULES" "ENERGY_MICROJOULES" "ENERGY_CALORIES" "ENERGY_KILOCALORIES" "ENERGY_WATTHOURS" "ENERGY_GIGAWATTHOURS" "ENERGY_MEGAWATTHOURS" "ENERGY_KILOWATTHOURS" "ENERGY_CENTIWATTHOURS" "ENERGY_MILLIWATTHOURS" "ENERGY_MICROWATTHOURS" "LENGTH_KILOMETERS" "LENGTH_METERS" "LENGTH_DECIMETERS" "LENGTH_CENTIMETERS" "LENGTH_MILLIMETERS" "LENGTH_POINTS" "LENGTH_INCHES" "LENGTH_FEET" "LENGTH_YARDS" "MASS_TONS" "MASS_KILOGRAMS" "MASS_GRAMS" "MASS_MILLIGRAMS" "MASS_POUNDS" "QUANTITY_PIECES" "TIME_SECONDS" "TIME_MINUTES" "TIME_HOURS" "TIME_DAYS" "TIME_WEEKS" "DIGITALINFORMATION_BYTES" "DIGITALINFORMATION_KILOBYTES" "DIGITALINFORMATION_KIBIBYTES" "DIGITALINFORMATION_MEGABYTES" "DIGITALINFORMATION_MEBIBYTES" "DIGITALINFORMATION_GIGABYTES" "DIGITALINFORMATION_GIBIBYTES" "DIGITALINFORMATION_TERABYTES" "DIGITALINFORMATION_TEBIBYTES" "DIGITALINFORMATION_PETABYTES" "DIGITALINFORMATION_PEBIBYTES" "TIME_MONTHS" "TIME_YEARS" "VOLUME_CUBIC_MILLIMETERS" "VOLUME_CUBIC_CENTIMETERS" "VOLUME_CUBIC_DECIMETERS" "VOLUME_CUBIC_METERS" "VOLUME_MILLILITERS" "VOLUME_CENTILITERS" "VOLUME_DECILITERS" "VOLUME_LITERS" "VOLUME_HECTOLITERS" "VOLUME_FLUID_OUNCES" "VOLUME_PINTS" "VOLUME_QUARTS" "VOLUME_GALLONS" "VOLUME_BARRELS"

Describes a unit of measure. Commonly uses as part of Quantity values.

alternative_units
Array of objects (AlternativeUnit)

Definition of alternative units for the product.

Alternative units define quantities of the product than can be used as a "unit" in business operations (e.g., GoodsIns) related to the produt. The "unit" is then multiplied by a "number of units" to determine the total quantity affected by the operation.

sales_quantity
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

enabled_sales_quantity_sources
Array of strings (SalesQuantitySource)
Items Enum: "NONE" "API" "MANUAL" "BARCODE"

The list of sources where the sales quantityunit of the resource is allowed to come from.

For example, when the set is [ BARCODE, MANUAL ], the sales quantity can be scanned from a barcode or entered manually but not provided via API.

When not set/empty, the platform defaults to:

  • [ API ] for resources tracked in a UnitOfQuantity
  • [ API, MANUAL ] for resources tracked in any unit of measure other than UnitOfQuantity
sales_price_and_quantity
object (ProductSalesPriceAndQuantity)

The set of information defining the sales price of a product.

This is very similar to ProductPriceAndQuantity (from "shared") with the addition of an optional take-away price (via take_away_price).

When a product has a take_away_price and is sold as "take-away", that price is used instead of the regular price. When the product does not have a take_away_price, the price is used even when the product is sold as "take-away".

enabled_sales_price_sources
Array of strings (SalesPriceSource)
Items Enum: "NONE" "API" "MANUAL" "BARCODE"

The list of sources where the sales price of the resource is allowed to come from.

For example, when the set is [ BARCODE, API ], the sales price can be scanned from a barcode or provided via API but not entered manually.

When not set/empty, the platform defaults to:

  • [ API ] for resources where a sales price is configured (at resource or resource/channel)
  • [ API, MANUAL ] for resources where no sales price is configured
reference_price_quantity
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

reference_price_conversion_quantity
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

block_sales
boolean

If this optional flag is set to true, selling of the product is blocked.

exclude_from_discounts
boolean

If this optional flag is set to true, discounts are not applied to this product.

disable_manual_sales_price_adjustment
boolean
Default: false

Controls whether the sales price for the product can be manually modified when creating a sales order line item for the product.

maximum_manual_price_per_unit
object (Money)

A Money represents a monetary value (i.e., a currency and an amount), for example "120 EUR" or "2,500.75 USD".

product_identifiers
Array of objects (ProductIdentifier)

Additional identifiers such as GTIN or ASIN assigned to the product. Note that it is possible to have multiple identifiers of the same type.

tax_category
required
string (TaxCategory)
Enum: "STANDARD" "REDUCED" "REDUCED_SPECIAL" "REDUCED_TAKE_AWAY" "ACCOMMODATION" "NO_TAX"

Represents the locale-independent representation of a specific type of tax.

The category does not represent a specifix tax. This is needed as taxes are a) different depending on country (and sometimes even within a single country) and b) tax rates may change over time but the actual Tax objects must not change as they are referenced by existing invoices.

For example, the tax category STANDARD is mapped to currently mapped to "DE/19%" for Germany and to "UK/20%" for the UK. If Germany would increase the standard tax rate to 21%, the mapping for Germany would be updated, but the products would still use the same STANDARD category as before.

Additional factors may also influcence the mapping, for example the category REDUCED_TAKE_AWAY normally gets mapped to "DE/19%" for Germany. But when the sale is flagged as "to go", the category is mapped to "DE/7%" instead.

tax_exemption_reason
string (TaxExemptionReason)
Enum: "UNIVERSAL_POSTAL_SERVICE_DE" "INTRA_COMMUNITY_TRADE_EU" "THIRD_PARTY_COUNTRY_DELIVERY_EU" "REVERSE_CHARGE_EU" "INTER_COMPANY_SALE_EU"

Reasons for not applying tax on a product sale.

not_taxable
boolean
custom_workflow_config
object (ProductCustomWorkflowConfig)

Holds information about the custom workflows defined for a product and the line items of orders/invoices that reference the product.

sales_category
string [ 1 .. 256 ] characters

The ID of the sales category that the product belongs to.

brand
string [ 1 .. 256 ] characters

id of brand

variant_ranking_pKey
string

Optional string determining user-defined ordering among sibling variants.

browse_nodes
Array of strings

The IDs of the browse nodes that the product belongs to.

track_inventory
boolean
Default: false

Flag that specifies if inventory (per storage location) is tracked for the product.

manufacturer
string [ 1 .. 256 ] characters

The name of the manufacturer of the product.

lot_configuration
object (ProductLotConfiguration)

Defines that the product uses lots and provides the settings on how lots are used.

extra_charge_type
string (ExtraChargeType)
Enum: "DEPOSIT" "WRAPPING" "TRANSPORT_PACKAGING" "SHIPPING" "HANDLING" "OTHER" "NONE"

Defines the various types of extra charge supported by the platform. Extra charges are charged for the sale of other sales items (the "main" sales item so to speak).

  • DEPOSIT: Denotes a deposit that is "sold" when its main sales item is sold. The deposit item can be returned later and the extra charge is refunded. Examples for deposits are bottle deposits or returnable covering boxes. Deposits are taxed with the same tax rate as their main item.
  • WRAPPING: Denotes an extra charge for wrapping a single main sales item. This could be a shrink wrap or a non-returnable covering box. Wrapping extra charge resources are taxed with the same tax rate as their main item.
  • TRANSPORT_PACKAGING: Denotes a container used for the transport of one or several sales items. They are taxed with their own tax rate (usually full tax). They maybe returnable or non-returnable.
  • SHIPPING: Denotes a shipping fee for one or several sales items. They are taxed as the shipped sales items, in case the shipped items use different tax rates, more than one extra charge has to be used, each of them with the tax rate of the shipped items.
  • HANDLING: Denotes a handling fee for one or several sales items. They are taxed as the handled sales items, in case the handled items use different tax rates, more than one extra charge has to be used, each of them with the tax rate of the handled items.
  • OTHER: Any other extra charge not supported by the Enfore platform explicitly. They are taxed with their own tax rate (usually full tax).
intended_use
Array of strings (IntendedUse)
Items Enum: "SELL" "INTERNAL_USE" "SOURCE_MATERIAL" "PACKAGING_MATERIAL" "INVENTORY"
product_dimensions
object (PhysicalDimensions)
shipping_dimensions
object (PhysicalDimensions)
manual_rough_stock_indicator
string (RoughStockIndicator)
Enum: "RED" "ORANGE" "GREEN"
product_details_configuration_id
string [ 1 .. 256 ] characters

The ID of the product details configuration to use for the product.

sold_on_behalf_of
string [ 1 .. 256 ] characters

Sales can be made on behalf of someone else. In that case the merchant that executes the sale becomes an "agent" and the organization contact pointed to by "sold_on_behalf_of" the "principal" of the sale. If not present, the product is assumed to be sold on behalf of the merchant himself.

Responses

200

Product was successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/products/{product-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "external_id": "string",
  • "sales_types":
    [
    ],
  • "variant_group_id": "string",
  • "article_id": "string",
  • "management_unit": "ENERGY_JOULES",
  • "alternative_units":
    [
    ],
  • "sales_quantity":
    {
    },
  • "enabled_sales_quantity_sources":
    [
    ],
  • "sales_price_and_quantity":
    {
    },
  • "enabled_sales_price_sources":
    [
    ],
  • "reference_price_quantity":
    {
    },
  • "reference_price_conversion_quantity":
    {
    },
  • "block_sales": true,
  • "exclude_from_discounts": true,
  • "disable_manual_sales_price_adjustment": false,
  • "maximum_manual_price_per_unit":
    {
    },
  • "product_identifiers":
    [
    ],
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "custom_workflow_config":
    {},
  • "sales_category": "string",
  • "brand": "string",
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "track_inventory": false,
  • "manufacturer": "string",
  • "lot_configuration":
    {
    },
  • "extra_charge_type": "DEPOSIT",
  • "intended_use":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "manual_rough_stock_indicator": "RED",
  • "product_details_configuration_id": "string",
  • "sold_on_behalf_of": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "type": "INVENTORY_PRODUCT",
  • "name": "string",
  • "external_id": "string",
  • "sales_types":
    [
    ],
  • "variant_group_id": "string",
  • "article_id": "string",
  • "management_unit": "ENERGY_JOULES",
  • "alternative_units":
    [
    ],
  • "sales_quantity":
    {
    },
  • "enabled_sales_quantity_sources":
    [
    ],
  • "sales_price_and_quantity":
    {
    },
  • "enabled_sales_price_sources":
    [
    ],
  • "reference_price_quantity":
    {
    },
  • "reference_price_conversion_quantity":
    {
    },
  • "block_sales": true,
  • "exclude_from_discounts": true,
  • "disable_manual_sales_price_adjustment": false,
  • "maximum_manual_price_per_unit":
    {
    },
  • "product_identifiers":
    [
    ],
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "custom_workflow_config":
    {},
  • "sales_category": "string",
  • "brand": "string",
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "track_inventory": false,
  • "manufacturer": "string",
  • "lot_configuration":
    {
    },
  • "extra_charge_type": "DEPOSIT",
  • "intended_use":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "manual_rough_stock_indicator": "RED",
  • "product_details_configuration_id": "string",
  • "sold_on_behalf_of": "string"
}

Delete a product by its identifier (if the option is in use the deletion will fail)

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Responses

204

Product is successfully deleted

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/products/{product-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Products: Images

All routes that are related to product images.

Returns IDs of all the images that are attached to this product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product that is the subject of the request

Responses

200

Successfully returns the list of identifiers

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/{product-id}/images

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/images

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ids":
    [
    ]
}

Add a new image to the product.

This method appends a new image to the list of images that are attached to a given product. Note that every time you add an image, it is appended to the front of the list such that it becomes the default image. Note that at the moment only JPEG and PNG images are supported. A request size restriction may also be imposed by the gateway. Typically, the gateway limits requests over 12 Megabytes.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product that is the subject of the request

Request Body schema: application/json
data
required
string

A Base64 encoded string containing the image binary

Responses

200

Successfully added the image to the product

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/products/{product-id}/images

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/images

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string"
}

Delete an image by it's identifier on a given product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product that is the subject of the request

image-id
required
string

ID of the image that needs to be deleted

Responses

204

Successfully removed the image that was to be removed

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/products/{product-id}/images/{image-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/images/{image-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Products: Generic Tags

All routes that are related to a product's generic tags.

Load all tags of a product identified by its ID

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Responses

200

Tags are successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/{product-id}/tags

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/tags

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ]
}

Add a tag to a product identified by its ID. If the tag is not already in the system, it will be created.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters

Tag name as shown in the UI.

Responses

200

Tag which has been successfully added to the product

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/products/{product-id}/tags

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string"
}

Delete a tag with given tag-id from a product identified by its product-id

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

tag-id
required
string

ID of the tag to delete

Responses

204

Tag was successfully removed from the product

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/products/{product-id}/tags/{tag-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/tags/{tag-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Products: Assortment Tags

All routes that are related to a product's assortment tags.

Get the assortment tags of a product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Responses

200

Assortment tags are successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/{product-id}/assortment-tags

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/assortment-tags

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "assortment_tags":
    [
    ]
}

Set the assortment tags of a product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Request Body schema: application/json
assortment_tags
required
Array of objects (AssortmentTagReference)

The assortment tags of the resource.

Those tags control what sales channel the resource is "listed on". A resource is considered listed on a sales channel when the intersection of the resource's and the sales channel's assortment tags is not empty.

Responses

200

Assortment tags successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/products/{product-id}/assortment-tags

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/assortment-tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "assortment_tags":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "assortment_tags":
    [
    ]
}

Delete the assortment tags of a product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Responses

204

Assortment tags successfully removed

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/products/{product-id}/assortment-tags

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/assortment-tags

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Products: Sales Channels

All routes that are related to the product relationship to a sales channel.

Load all sales channel-specific information of a product identified by its ID

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Responses

200

Sales Channel Informations are successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/{product-id}/sales-channels

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/sales-channels

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Create a product's relation to a sales channel

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Request Body schema: application/json
sales_channel_id
required
string [ 1 .. 256 ] characters

The technical identifier of the sales channel.

sales_quantity
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

sales_price_and_quantity
object (ProductSalesPriceAndQuantity)

The set of information defining the sales price of a product.

This is very similar to ProductPriceAndQuantity (from "shared") with the addition of an optional take-away price (via take_away_price).

When a product has a take_away_price and is sold as "take-away", that price is used instead of the regular price. When the product does not have a take_away_price, the price is used even when the product is sold as "take-away".

block_sales
boolean

Whether sales of the product are allowed on the sales channel. When not specified, the product's configuration is used instead.

exclude_from_discounts
boolean

Whether discounts may be applied when the product is sold on the sales channel. When not specified, the product's configuration is used instead.

disable_manual_sales_price_adjustment
boolean

Controls whether the sales price for the product can be manually modified when the product is sold on the sales channel. When not specified, the product's configuration is used instead.

sold_on_behalf_of
string [ 1 .. 256 ] characters

Sales can be made on behalf of someone else. In that case the merchant that executes the sale becomes an "agent" and the organization contact pointed to by "sold_on_behalf_of" the "principal" of the sale. If not present, the product is assumed to be sold on behalf of the merchant himself.

manual_rough_stock_indicator
string (RoughStockIndicator)
Enum: "RED" "ORANGE" "GREEN"

Responses

200

Sales channeel was successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/products/{product-id}/sales-channels

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/sales-channels

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "sales_channel_id": "string",
  • "sales_quantity":
    {
    },
  • "sales_price_and_quantity":
    {
    },
  • "block_sales": true,
  • "exclude_from_discounts": true,
  • "disable_manual_sales_price_adjustment": true,
  • "sold_on_behalf_of": "string",
  • "manual_rough_stock_indicator": "RED"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "sales_channel_id": "string",
  • "sales_quantity":
    {
    },
  • "sales_price_and_quantity":
    {
    },
  • "block_sales": true,
  • "exclude_from_discounts": true,
  • "disable_manual_sales_price_adjustment": true,
  • "sold_on_behalf_of": "string",
  • "manual_rough_stock_indicator": "RED"
}

Load product sales channel information by ID

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

product-sales-channel-information-id
required
string

ID of the product's sales channel information

Responses

200

Sales channel is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/{product-id}/sales-channels/{product-sales-channel-information-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/sales-channels/{product-sales-channel-information-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "sales_channel_id": "string",
  • "sales_quantity":
    {
    },
  • "sales_price_and_quantity":
    {
    },
  • "block_sales": true,
  • "exclude_from_discounts": true,
  • "disable_manual_sales_price_adjustment": true,
  • "sold_on_behalf_of": "string",
  • "manual_rough_stock_indicator": "RED"
}

Update a product's relation to a sales channel

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

product-sales-channel-information-id
required
string

ID of the product's sales channel information

Request Body schema: application/json
sales_price_and_quantity
object (ProductSalesPriceAndQuantity)

The set of information defining the sales price of a product.

This is very similar to ProductPriceAndQuantity (from "shared") with the addition of an optional take-away price (via take_away_price).

When a product has a take_away_price and is sold as "take-away", that price is used instead of the regular price. When the product does not have a take_away_price, the price is used even when the product is sold as "take-away".

block_sales
boolean

Whether sales of the product are allowed on the sales channel. When not specified, the product's configuration is used instead.

exclude_from_discounts
boolean

Whether discounts may be applied when the product is sold on the sales channel. When not specified, the product's configuration is used instead.

disable_manual_sales_price_adjustment
boolean

Controls whether the sales price for the product can be manually modified when the product is sold on the sales channel. When not specified, the product's configuration is used instead.

sales_quantity
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

sold_on_behalf_of
string [ 1 .. 256 ] characters

Sales can be made on behalf of someone else. In that case the merchant that executes the sale becomes an "agent" and the organization contact pointed to by "sold_on_behalf_of" the "principal" of the sale. If not present, the product is assumed to be sold on behalf of the merchant himself.

manual_rough_stock_indicator
string (RoughStockIndicator)
Enum: "RED" "ORANGE" "GREEN"

Responses

200

Product sales channel information was successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/products/{product-id}/sales-channels/{product-sales-channel-information-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/sales-channels/{product-sales-channel-information-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "sales_price_and_quantity":
    {
    },
  • "block_sales": true,
  • "exclude_from_discounts": true,
  • "disable_manual_sales_price_adjustment": true,
  • "sales_quantity":
    {
    },
  • "sold_on_behalf_of": "string",
  • "manual_rough_stock_indicator": "RED"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "sales_channel_id": "string",
  • "sales_quantity":
    {
    },
  • "sales_price_and_quantity":
    {
    },
  • "block_sales": true,
  • "exclude_from_discounts": true,
  • "disable_manual_sales_price_adjustment": true,
  • "sold_on_behalf_of": "string",
  • "manual_rough_stock_indicator": "RED"
}

Remove a product from a sales channel.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

product-sales-channel-information-id
required
string

ID of the product's sales channel information

Responses

204

Product was successfully removed from sales channel

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/products/{product-id}/sales-channels/{product-sales-channel-information-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/sales-channels/{product-sales-channel-information-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Products: Suppliers

All routes that are related to the product relationship to a supplier.

Load all supplier-specific information of a product identified by its ID

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Responses

200

List of Supplier Informations are successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/{product-id}/suppliers

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/suppliers

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Create a product's relation to a supplier

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Request Body schema: application/json
supplier_contact_id
required
any (ContactRef)
purchase_price_and_quantity
object (NetPriceAndQuantity)

The set of information defining the net price of a product. A product's price is always relative to a specific quantity of the product. For example, if a single bottle of water costs 1€, 5 bottles cost 5€. Therefore, the NetPriceAndQuantity is a combination of a quantity and a price.

supplier_side_article_id
string [ 1 .. 256 ] characters

The external article ID for the resource from this supplier. This is typically set when importing catalog data.

lead_time_in_days
object (ProductSupplierLeadTime)

The lead time required by a supplier for a specific product. For example 1 to 3 days or up to 2 days if the minimum lead time is not specified.

is_supplier_for_on_demand_procurement
boolean
Default: false

Flag indicating whether this supplier is the supplier to be used for on-demand procurements.

Note that only zero or one of the suppliers for a specific product may have this flag set to true. Trying to set this flag for a second supplier (via POST/PUT) will reset the flag for all other suppliers of that product.

Responses

200

Supplier was successfully created

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/products/{product-id}/suppliers

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/suppliers

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "supplier_contact_id":
    {
    },
  • "purchase_price_and_quantity":
    {
    },
  • "supplier_side_article_id": "string",
  • "lead_time_in_days":
    {
    },
  • "is_supplier_for_on_demand_procurement": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "supplier_contact_id":
    {
    },
  • "purchase_price_and_quantity":
    {
    },
  • "supplier_side_article_id": "string",
  • "lead_time_in_days":
    {
    },
  • "is_supplier_for_on_demand_procurement": false
}

Load product supplier information by ID

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

product-supplier-information-id
required
string

ID of the product's supplier information

Responses

200

Supplier is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/{product-id}/suppliers/{product-supplier-information-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/suppliers/{product-supplier-information-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "supplier_contact_id":
    {
    },
  • "purchase_price_and_quantity":
    {
    },
  • "supplier_side_article_id": "string",
  • "lead_time_in_days":
    {
    },
  • "is_supplier_for_on_demand_procurement": false
}

Update a product's relation to a supplier

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

product-supplier-information-id
required
string

ID of the product's supplier information

Request Body schema: application/json
purchase_price_and_quantity
object (NetPriceAndQuantity)

The set of information defining the net price of a product. A product's price is always relative to a specific quantity of the product. For example, if a single bottle of water costs 1€, 5 bottles cost 5€. Therefore, the NetPriceAndQuantity is a combination of a quantity and a price.

supplier_side_article_id
string [ 1 .. 256 ] characters

The external article ID for the resource from this supplier. This is typically set when importing catalog data.

lead_time_in_days
object (ProductSupplierLeadTime)

The lead time required by a supplier for a specific product. For example 1 to 3 days or up to 2 days if the minimum lead time is not specified.

is_supplier_for_on_demand_procurement
boolean
Default: false

Flag indicating whether this supplier is the supplier to be used for on-demand procurements.

Note that only zero or one of the suppliers for a specific product may have this flag set to true. Trying to set this flag for a second supplier (via POST/PUT) will reset the flag for all other suppliers of that product.

Responses

200

Product supplier information was successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/products/{product-id}/suppliers/{product-supplier-information-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/suppliers/{product-supplier-information-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "purchase_price_and_quantity":
    {
    },
  • "supplier_side_article_id": "string",
  • "lead_time_in_days":
    {
    },
  • "is_supplier_for_on_demand_procurement": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "supplier_contact_id":
    {
    },
  • "purchase_price_and_quantity":
    {
    },
  • "supplier_side_article_id": "string",
  • "lead_time_in_days":
    {
    },
  • "is_supplier_for_on_demand_procurement": false
}

Remove a supplier from a product.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

product-supplier-information-id
required
string

ID of the product's supplier information

Responses

204

Supplier was successfully removed from product

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/products/{product-id}/suppliers/{product-supplier-information-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/suppliers/{product-supplier-information-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Products: Features

Load all features of a product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Responses

200

Features are successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/{product-id}/features

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/features

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Replace the features of a product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Request Body schema: application/json
items
required
Array of objects (ProductFeature)

The features of the product

Responses

200

Product features have been successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/products/{product-id}/features

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/features

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Add a feature to a product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Request Body schema: application/json
template_id
required
string [ 1 .. 256 ] characters

The identifier of the feature template this feature was derived from.

value
any (FeatureValue)
display_configuration
object (FeatureDisplayConfiguration)

The various display contexts that features can be shown in.

  • PRODUCT_LISTING_IN_REGISTER: Product selection views (list/card modes only) in the register.
  • LINE_ITEMS_IN_ACTIVE_ORDERS: Line items in orders in the register or invoicing module.
  • LINE_ITEMS_IN_ORDER_MANAGEMENT_AND_HISTORY: Line items in orders in sales history and order management views.
  • PRODUCT_INFO_VIEW: Product info view in register an invoicing.
  • SALES_ORDER_BUSINESS_DOCUMENTS: Line items in business documents, e.g. the invoice document.

Responses

200

Feature which has been successfully added to the product

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/products/{product-id}/features

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/features

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "template_id": "string",
  • "value":
    {
    },
  • "display_configuration":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "template_id": "string",
  • "value":
    {
    },
  • "display_configuration":
    {
    }
}

Load a product feature

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

product-feature-id
required
string

ID of the produt feature to load, create or update

Responses

200

Product feature is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/{product-id}/features/{product-feature-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/features/{product-feature-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "template_id": "string",
  • "value":
    {
    },
  • "display_configuration":
    {
    }
}

Delete a feature from a product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

product-feature-id
required
string

ID of the produt feature to load, create or update

Responses

204

Feature was successfully removed from the product

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/products/{product-id}/features/{product-feature-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/features/{product-feature-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Update a product feature

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

product-feature-id
required
string

ID of the produt feature to load, create or update

Request Body schema: application/json
value
any (FeatureValue)
display_configuration
object (FeatureDisplayConfiguration)

The various display contexts that features can be shown in.

  • PRODUCT_LISTING_IN_REGISTER: Product selection views (list/card modes only) in the register.
  • LINE_ITEMS_IN_ACTIVE_ORDERS: Line items in orders in the register or invoicing module.
  • LINE_ITEMS_IN_ORDER_MANAGEMENT_AND_HISTORY: Line items in orders in sales history and order management views.
  • PRODUCT_INFO_VIEW: Product info view in register an invoicing.
  • SALES_ORDER_BUSINESS_DOCUMENTS: Line items in business documents, e.g. the invoice document.

Responses

200

Product feature is successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

patch/org/{org-id}/products/{product-id}/features/{product-feature-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/features/{product-feature-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "value":
    {
    },
  • "display_configuration":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "template_id": "string",
  • "value":
    {
    },
  • "display_configuration":
    {
    }
}

Products: Descriptions

Load the descriptions of a product identified by its ID

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Responses

200

Product descriptions are successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/{product-id}/descriptions

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/descriptions

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "short_description": "string",
  • "long_description": "string"
}

Set a product's description. Fully replaces the product descriptions

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Request Body schema: application/json
short_description
string non-empty

The short description of the product.

long_description
string non-empty

The description of the product, which is shown e.g. on the product details page of the shop.

Responses

200

Product descriptions were successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/products/{product-id}/descriptions

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/descriptions

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "short_description": "string",
  • "long_description": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "short_description": "string",
  • "long_description": "string"
}

Products: Valid from-prices

Load the list of base "valid from"-prices configured for the product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Responses

200

List of base "valid from"-prices for the product

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

get/org/{org-id}/products/{product-id}/valid-from-prices/base

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/valid-from-prices/base

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "prices":
    [
    ]
}

Set the list of base "valid from"-prices configured for the product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Request Body schema: application/json
prices
required
Array of any (ValidFromPrice)

Responses

200

List was successfully set

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

put/org/{org-id}/products/{product-id}/valid-from-prices/base

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/valid-from-prices/base

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "prices":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "prices":
    [
    ]
}

Delete the list of base "valid from"-prices configured for the product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Responses

204

List was successfully deleted

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

delete/org/{org-id}/products/{product-id}/valid-from-prices/base

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/valid-from-prices/base

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Load the list of "valid from"-prices configured for the product/sales channel combination

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

sales-channel-id
required
string

ID of the sales channel to act upon

Responses

200

List of "valid from"-prices for the product/sales channel combination

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

get/org/{org-id}/products/{product-id}/valid-from-prices/sales-channels/{sales-channel-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/valid-from-prices/sales-channels/{sales-channel-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "prices":
    [
    ]
}

Set the list of "valid from"-prices configured for the product/sales channel combination

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

sales-channel-id
required
string

ID of the sales channel to act upon

Request Body schema: application/json
prices
required
Array of any (ValidFromPrice)

Responses

200

List was successfully set

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

put/org/{org-id}/products/{product-id}/valid-from-prices/sales-channels/{sales-channel-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/valid-from-prices/sales-channels/{sales-channel-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "prices":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "prices":
    [
    ]
}

Delete the list of "valid from"-prices configured for the product/sales channel combination

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

sales-channel-id
required
string

ID of the sales channel to act upon

Responses

204

List was successfully deleted

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

delete/org/{org-id}/products/{product-id}/valid-from-prices/sales-channels/{sales-channel-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/valid-from-prices/sales-channels/{sales-channel-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Products: Extra Charges

All routes that are related to a product's extra charges.

Get the extra charges configured for a product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Responses

200

Extra charges are successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/{product-id}/extra-charges

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/extra-charges

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Replace the extra charges of a product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Request Body schema: application/json
items
required
Array of objects (ProductExtraCharge)

The extra charges of the product

Responses

200

Extra charges have been successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/products/{product-id}/extra-charges

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/extra-charges

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Add an extra charge to a product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

Request Body schema: application/json
resource
required
any (ExtraChargeResourceReference)
price_and_quantity
required
object (ProductPriceAndQuantity)

The set of information defining the price of a product. A product's price is always relative to a specific quantity of the product. For example, if a single bottle of water costs 1€, 5 bottles cost 5€. Additionally, a given price might be including tax or not. Therefore, the ProductPriceAndQuantity is a combination of a quantity, a price and a "price is gross"-flag.

Responses

200

Extra charge which has been successfully added to the product

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/products/{product-id}/extra-charges

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/extra-charges

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "resource":
    {
    },
  • "price_and_quantity":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "resource":
    {
    },
  • "price_and_quantity":
    {
    }
}

Load an extra charge of a product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

extra-charge-id
required
string

ID of the extra charge to load, create or update

Responses

200

Extra charge is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/{product-id}/extra-charges/{extra-charge-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/extra-charges/{extra-charge-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "resource":
    {
    },
  • "price_and_quantity":
    {
    }
}

Delete an extra charge from a product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

extra-charge-id
required
string

ID of the extra charge to load, create or update

Responses

204

Extra charge was successfully removed from the product

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/products/{product-id}/extra-charges/{extra-charge-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/extra-charges/{extra-charge-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Update an extra charge of a product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-id
required
string

ID of the product to load, create or update

extra-charge-id
required
string

ID of the extra charge to load, create or update

Request Body schema: application/json
price_and_quantity
required
object (ProductPriceAndQuantity)

The set of information defining the price of a product. A product's price is always relative to a specific quantity of the product. For example, if a single bottle of water costs 1€, 5 bottles cost 5€. Additionally, a given price might be including tax or not. Therefore, the ProductPriceAndQuantity is a combination of a quantity, a price and a "price is gross"-flag.

Responses

200

Extra charge is successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

patch/org/{org-id}/products/{product-id}/extra-charges/{extra-charge-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/{product-id}/extra-charges/{extra-charge-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "price_and_quantity":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "resource":
    {
    },
  • "price_and_quantity":
    {
    }
}

BTO Products

Query BTO products

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

BTO products are successfully returned

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/bto-products

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Add a new BTO product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters

The name of the product.

intended_use
Array of strings (IntendedUse)
Items Enum: "SELL" "INTERNAL_USE" "SOURCE_MATERIAL" "PACKAGING_MATERIAL" "INVENTORY"
management_unit
required
string (UnitOfMeasure)
Enum: "ENERGY_JOULES" "ENERGY_GIGAJOULES" "ENERGY_MEGAJOULES" "ENERGY_KILOJOULES" "ENERGY_CENTIJOULES" "ENERGY_MILLIJOULES" "ENERGY_MICROJOULES" "ENERGY_CALORIES" "ENERGY_KILOCALORIES" "ENERGY_WATTHOURS" "ENERGY_GIGAWATTHOURS" "ENERGY_MEGAWATTHOURS" "ENERGY_KILOWATTHOURS" "ENERGY_CENTIWATTHOURS" "ENERGY_MILLIWATTHOURS" "ENERGY_MICROWATTHOURS" "LENGTH_KILOMETERS" "LENGTH_METERS" "LENGTH_DECIMETERS" "LENGTH_CENTIMETERS" "LENGTH_MILLIMETERS" "LENGTH_POINTS" "LENGTH_INCHES" "LENGTH_FEET" "LENGTH_YARDS" "MASS_TONS" "MASS_KILOGRAMS" "MASS_GRAMS" "MASS_MILLIGRAMS" "MASS_POUNDS" "QUANTITY_PIECES" "TIME_SECONDS" "TIME_MINUTES" "TIME_HOURS" "TIME_DAYS" "TIME_WEEKS" "DIGITALINFORMATION_BYTES" "DIGITALINFORMATION_KILOBYTES" "DIGITALINFORMATION_KIBIBYTES" "DIGITALINFORMATION_MEGABYTES" "DIGITALINFORMATION_MEBIBYTES" "DIGITALINFORMATION_GIGABYTES" "DIGITALINFORMATION_GIBIBYTES" "DIGITALINFORMATION_TERABYTES" "DIGITALINFORMATION_TEBIBYTES" "DIGITALINFORMATION_PETABYTES" "DIGITALINFORMATION_PEBIBYTES" "TIME_MONTHS" "TIME_YEARS" "VOLUME_CUBIC_MILLIMETERS" "VOLUME_CUBIC_CENTIMETERS" "VOLUME_CUBIC_DECIMETERS" "VOLUME_CUBIC_METERS" "VOLUME_MILLILITERS" "VOLUME_CENTILITERS" "VOLUME_DECILITERS" "VOLUME_LITERS" "VOLUME_HECTOLITERS" "VOLUME_FLUID_OUNCES" "VOLUME_PINTS" "VOLUME_QUARTS" "VOLUME_GALLONS" "VOLUME_BARRELS"

Describes a unit of measure. Commonly uses as part of Quantity values.

tax_category
required
string (TaxCategory)
Enum: "STANDARD" "REDUCED" "REDUCED_SPECIAL" "REDUCED_TAKE_AWAY" "ACCOMMODATION" "NO_TAX"

Represents the locale-independent representation of a specific type of tax.

The category does not represent a specifix tax. This is needed as taxes are a) different depending on country (and sometimes even within a single country) and b) tax rates may change over time but the actual Tax objects must not change as they are referenced by existing invoices.

For example, the tax category STANDARD is mapped to currently mapped to "DE/19%" for Germany and to "UK/20%" for the UK. If Germany would increase the standard tax rate to 21%, the mapping for Germany would be updated, but the products would still use the same STANDARD category as before.

Additional factors may also influcence the mapping, for example the category REDUCED_TAKE_AWAY normally gets mapped to "DE/19%" for Germany. But when the sale is flagged as "to go", the category is mapped to "DE/7%" instead.

tax_exemption_reason
string (TaxExemptionReason)
Enum: "UNIVERSAL_POSTAL_SERVICE_DE" "INTRA_COMMUNITY_TRADE_EU" "THIRD_PARTY_COUNTRY_DELIVERY_EU" "REVERSE_CHARGE_EU" "INTER_COMPANY_SALE_EU"

Reasons for not applying tax on a product sale.

not_taxable
boolean
variant_group_id
string [ 1 .. 256 ] characters

The ID of the variant group this BTO belongs to.

article_id
string [ 1 .. 256 ] characters

The identifier by which the article is addressed by the business when communicating internally or with customers or suppliers.

Once specified, the article ID cannot be modified anymore. Otherwise, business documents such as invoices or packaging lists created at different points in time may list the same article ID for different products.

product_identifiers
Array of objects (ProductIdentifier)

Additional identifiers such as GTIN or ASIN assigned to the product. Note that it is possible to have multiple identifiers of the same type.

variant_ranking_pKey
string

Optional string determining user-defined ordering among sibling variants.

browse_nodes
Array of strings

The IDs of the browse nodes that the product belongs to.

product_dimensions
object (PhysicalDimensions)
shipping_dimensions
object (PhysicalDimensions)
sales_config
object (ProductSalesConfig)

Holds sales-related information and configuration for a product

custom_workflow_config
object (ProductCustomWorkflowConfig)

Holds information about the custom workflows defined for a product and the line items of orders/invoices that reference the product.

production_config
object (BTOProductionConfig)

Holds production-related information and configuration for a BTO product

product_details_configuration_id
string [ 1 .. 256 ] characters

The ID of the product details configuration to use for the product.

Responses

201

BTO product has successfully been added

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/bto-products

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "intended_use":
    [
    ],
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "variant_group_id": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "production_config":
    {
    },
  • "product_details_configuration_id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "intended_use":
    [
    ],
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "variant_group_id": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "production_config":
    {
    },
  • "product_details_configuration_id": "string"
}

Load a BTO product by its identifier

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

bto-product-id
required
string

ID of the BTO produt to load, create or update

Responses

200

BTO product is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/bto-products/{bto-product-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products/{bto-product-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "intended_use":
    [
    ],
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "variant_group_id": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "production_config":
    {
    },
  • "product_details_configuration_id": "string"
}

Full update of a BTO product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

bto-product-id
required
string

ID of the BTO produt to load, create or update

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters

The name of the product.

intended_use
Array of strings (IntendedUse)
Items Enum: "SELL" "INTERNAL_USE" "SOURCE_MATERIAL" "PACKAGING_MATERIAL" "INVENTORY"
management_unit
required
string (UnitOfMeasure)
Enum: "ENERGY_JOULES" "ENERGY_GIGAJOULES" "ENERGY_MEGAJOULES" "ENERGY_KILOJOULES" "ENERGY_CENTIJOULES" "ENERGY_MILLIJOULES" "ENERGY_MICROJOULES" "ENERGY_CALORIES" "ENERGY_KILOCALORIES" "ENERGY_WATTHOURS" "ENERGY_GIGAWATTHOURS" "ENERGY_MEGAWATTHOURS" "ENERGY_KILOWATTHOURS" "ENERGY_CENTIWATTHOURS" "ENERGY_MILLIWATTHOURS" "ENERGY_MICROWATTHOURS" "LENGTH_KILOMETERS" "LENGTH_METERS" "LENGTH_DECIMETERS" "LENGTH_CENTIMETERS" "LENGTH_MILLIMETERS" "LENGTH_POINTS" "LENGTH_INCHES" "LENGTH_FEET" "LENGTH_YARDS" "MASS_TONS" "MASS_KILOGRAMS" "MASS_GRAMS" "MASS_MILLIGRAMS" "MASS_POUNDS" "QUANTITY_PIECES" "TIME_SECONDS" "TIME_MINUTES" "TIME_HOURS" "TIME_DAYS" "TIME_WEEKS" "DIGITALINFORMATION_BYTES" "DIGITALINFORMATION_KILOBYTES" "DIGITALINFORMATION_KIBIBYTES" "DIGITALINFORMATION_MEGABYTES" "DIGITALINFORMATION_MEBIBYTES" "DIGITALINFORMATION_GIGABYTES" "DIGITALINFORMATION_GIBIBYTES" "DIGITALINFORMATION_TERABYTES" "DIGITALINFORMATION_TEBIBYTES" "DIGITALINFORMATION_PETABYTES" "DIGITALINFORMATION_PEBIBYTES" "TIME_MONTHS" "TIME_YEARS" "VOLUME_CUBIC_MILLIMETERS" "VOLUME_CUBIC_CENTIMETERS" "VOLUME_CUBIC_DECIMETERS" "VOLUME_CUBIC_METERS" "VOLUME_MILLILITERS" "VOLUME_CENTILITERS" "VOLUME_DECILITERS" "VOLUME_LITERS" "VOLUME_HECTOLITERS" "VOLUME_FLUID_OUNCES" "VOLUME_PINTS" "VOLUME_QUARTS" "VOLUME_GALLONS" "VOLUME_BARRELS"

Describes a unit of measure. Commonly uses as part of Quantity values.

tax_category
required
string (TaxCategory)
Enum: "STANDARD" "REDUCED" "REDUCED_SPECIAL" "REDUCED_TAKE_AWAY" "ACCOMMODATION" "NO_TAX"

Represents the locale-independent representation of a specific type of tax.

The category does not represent a specifix tax. This is needed as taxes are a) different depending on country (and sometimes even within a single country) and b) tax rates may change over time but the actual Tax objects must not change as they are referenced by existing invoices.

For example, the tax category STANDARD is mapped to currently mapped to "DE/19%" for Germany and to "UK/20%" for the UK. If Germany would increase the standard tax rate to 21%, the mapping for Germany would be updated, but the products would still use the same STANDARD category as before.

Additional factors may also influcence the mapping, for example the category REDUCED_TAKE_AWAY normally gets mapped to "DE/19%" for Germany. But when the sale is flagged as "to go", the category is mapped to "DE/7%" instead.

tax_exemption_reason
string (TaxExemptionReason)
Enum: "UNIVERSAL_POSTAL_SERVICE_DE" "INTRA_COMMUNITY_TRADE_EU" "THIRD_PARTY_COUNTRY_DELIVERY_EU" "REVERSE_CHARGE_EU" "INTER_COMPANY_SALE_EU"

Reasons for not applying tax on a product sale.

not_taxable
boolean
variant_group_id
string [ 1 .. 256 ] characters

The ID of the variant group this BTO belongs to.

article_id
string [ 1 .. 256 ] characters

The identifier by which the article is addressed by the business when communicating internally or with customers or suppliers.

Once specified, the article ID cannot be modified anymore. Otherwise, business documents such as invoices or packaging lists created at different points in time may list the same article ID for different products.

product_identifiers
Array of objects (ProductIdentifier)

Additional identifiers such as GTIN or ASIN assigned to the product. Note that it is possible to have multiple identifiers of the same type.

variant_ranking_pKey
string

Optional string determining user-defined ordering among sibling variants.

browse_nodes
Array of strings

The IDs of the browse nodes that the product belongs to.

product_dimensions
object (PhysicalDimensions)
shipping_dimensions
object (PhysicalDimensions)
sales_config
object (ProductSalesConfig)

Holds sales-related information and configuration for a product

custom_workflow_config
object (ProductCustomWorkflowConfig)

Holds information about the custom workflows defined for a product and the line items of orders/invoices that reference the product.

production_config
object (BTOProductionConfig)

Holds production-related information and configuration for a BTO product

product_details_configuration_id
string [ 1 .. 256 ] characters

The ID of the product details configuration to use for the product.

Responses

200

BTO product was successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/bto-products/{bto-product-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products/{bto-product-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "intended_use":
    [
    ],
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "variant_group_id": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "production_config":
    {
    },
  • "product_details_configuration_id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "intended_use":
    [
    ],
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "variant_group_id": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "production_config":
    {
    },
  • "product_details_configuration_id": "string"
}

Delete a BTO product by its identifier (if the option is in use the deletion will fail)

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

bto-product-id
required
string

ID of the BTO produt to load, create or update

Responses

204

BTO product is successfully deleted

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/bto-products/{bto-product-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products/{bto-product-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

BTO Products: Options

Load option groups of a BTO product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

bto-product-id
required
string

ID of the BTO produt to load, create or update

Responses

200

ProductOption groups are successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/bto-products/{bto-product-id}/option-groups

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products/{bto-product-id}/option-groups

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Add an option group to a BTO product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

bto-product-id
required
string

ID of the BTO produt to load, create or update

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters
group_number
string [ 1 .. 256 ] characters
min_selection_count
required
integer
Default: 0
max_selection_count
integer

Responses

200

ProductOption group which has been successfully added

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/bto-products/{bto-product-id}/option-groups

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products/{bto-product-id}/option-groups

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "group_number": "string",
  • "min_selection_count": 0,
  • "max_selection_count": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "group_number": "string",
  • "min_selection_count": 0,
  • "max_selection_count": 0
}

Load an option group from a BTO product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

bto-product-id
required
string

ID of the BTO produt to load, create or update

option-group-id
required
string

ID of the option group to load, create or update

Responses

200

ProductOption group is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "group_number": "string",
  • "min_selection_count": 0,
  • "max_selection_count": 0
}

Update the option group of a BTO product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

bto-product-id
required
string

ID of the BTO produt to load, create or update

option-group-id
required
string

ID of the option group to load, create or update

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters
group_number
string [ 1 .. 256 ] characters
min_selection_count
required
integer
Default: 0
max_selection_count
integer

Responses

200

ProductOption group was successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "group_number": "string",
  • "min_selection_count": 0,
  • "max_selection_count": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "group_number": "string",
  • "min_selection_count": 0,
  • "max_selection_count": 0
}

Delete an option group from a BTO product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

bto-product-id
required
string

ID of the BTO produt to load, create or update

option-group-id
required
string

ID of the option group to load, create or update

Responses

204

ProductOption group is successfully deleted

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Load all options of an option group of a BTO product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

bto-product-id
required
string

ID of the BTO produt to load, create or update

option-group-id
required
string

ID of the option group to load, create or update

Responses

200

ProductOptions are successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}/options

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}/options

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Add a option to an option group of a BTO product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

bto-product-id
required
string

ID of the BTO produt to load, create or update

option-group-id
required
string

ID of the option group to load, create or update

Request Body schema: application/json
resource
required
object (ResourceRef)
price_and_quantity
required
object (ProductPriceAndQuantity)

The set of information defining the price of a product. A product's price is always relative to a specific quantity of the product. For example, if a single bottle of water costs 1€, 5 bottles cost 5€. Additionally, a given price might be including tax or not. Therefore, the ProductPriceAndQuantity is a combination of a quantity, a price and a "price is gross"-flag.

respect_tax_category_from_option
boolean
Default: false
exclude_option_from_root_item_discount_computation
boolean
Default: false
do_not_apply_option_discounts
boolean
Default: false
pricing_mode
string (OptionPricingMode)
Enum: "STANDARD" "CANNOT_USE_CREDIT"

This enumeration defines how the total price of a resource changes when an option is selected whose price is not included in the total price.

default_option_config
object (DefaultOptionConfig)
can_be_selected_multiple_times
boolean
Default: false

Responses

200

ProductOption which has been successfully added

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}/options

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}/options

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "resource":
    {
    },
  • "price_and_quantity":
    {
    },
  • "respect_tax_category_from_option": false,
  • "exclude_option_from_root_item_discount_computation": false,
  • "do_not_apply_option_discounts": false,
  • "pricing_mode": "STANDARD",
  • "default_option_config":
    {
    },
  • "can_be_selected_multiple_times": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "resource":
    {
    },
  • "price_and_quantity":
    {
    },
  • "respect_tax_category_from_option": false,
  • "exclude_option_from_root_item_discount_computation": false,
  • "do_not_apply_option_discounts": false,
  • "pricing_mode": "STANDARD",
  • "default_option_config":
    {
    },
  • "can_be_selected_multiple_times": false
}

Load an option for an option group of a BTO product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

bto-product-id
required
string

ID of the BTO produt to load, create or update

option-group-id
required
string

ID of the option group to load, create or update

option-group-option-id
required
string

ID of the option (of an option group) to load, create or update

Responses

200

ProductOption is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}/options/{option-group-option-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}/options/{option-group-option-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "resource":
    {
    },
  • "price_and_quantity":
    {
    },
  • "respect_tax_category_from_option": false,
  • "exclude_option_from_root_item_discount_computation": false,
  • "do_not_apply_option_discounts": false,
  • "pricing_mode": "STANDARD",
  • "default_option_config":
    {
    },
  • "can_be_selected_multiple_times": false
}

Delete an option from an option group of a BTO product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

bto-product-id
required
string

ID of the BTO produt to load, create or update

option-group-id
required
string

ID of the option group to load, create or update

option-group-option-id
required
string

ID of the option (of an option group) to load, create or update

Responses

204

ProductOption was successfully removed from the option group

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}/options/{option-group-option-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}/options/{option-group-option-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Update an option in an option group of a BTO product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

bto-product-id
required
string

ID of the BTO produt to load, create or update

option-group-id
required
string

ID of the option group to load, create or update

option-group-option-id
required
string

ID of the option (of an option group) to load, create or update

Request Body schema: application/json
price_and_quantity
required
object (ProductPriceAndQuantity)

The set of information defining the price of a product. A product's price is always relative to a specific quantity of the product. For example, if a single bottle of water costs 1€, 5 bottles cost 5€. Additionally, a given price might be including tax or not. Therefore, the ProductPriceAndQuantity is a combination of a quantity, a price and a "price is gross"-flag.

respect_tax_category_from_option
boolean
Default: false
exclude_option_from_root_item_discount_computation
boolean
Default: false
do_not_apply_option_discounts
boolean
Default: false
pricing_mode
string (OptionPricingMode)
Enum: "STANDARD" "CANNOT_USE_CREDIT"

This enumeration defines how the total price of a resource changes when an option is selected whose price is not included in the total price.

default_option_config
object (DefaultOptionConfig)
can_be_selected_multiple_times
boolean
Default: false

Responses

200

ProductOption is successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

patch/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}/options/{option-group-option-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/bto-products/{bto-product-id}/option-groups/{option-group-id}/options/{option-group-option-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "price_and_quantity":
    {
    },
  • "respect_tax_category_from_option": false,
  • "exclude_option_from_root_item_discount_computation": false,
  • "do_not_apply_option_discounts": false,
  • "pricing_mode": "STANDARD",
  • "default_option_config":
    {
    },
  • "can_be_selected_multiple_times": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "resource":
    {
    },
  • "price_and_quantity":
    {
    },
  • "respect_tax_category_from_option": false,
  • "exclude_option_from_root_item_discount_computation": false,
  • "do_not_apply_option_discounts": false,
  • "pricing_mode": "STANDARD",
  • "default_option_config":
    {
    },
  • "can_be_selected_multiple_times": false
}

ProductOptions

Query options

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

ProductOptions are successfully returned

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/options

Production

https://external.apis.enfore.com/erp/org/{org-id}/options

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Add a new option

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters
management_unit
required
string (UnitOfMeasure)
Enum: "ENERGY_JOULES" "ENERGY_GIGAJOULES" "ENERGY_MEGAJOULES" "ENERGY_KILOJOULES" "ENERGY_CENTIJOULES" "ENERGY_MILLIJOULES" "ENERGY_MICROJOULES" "ENERGY_CALORIES" "ENERGY_KILOCALORIES" "ENERGY_WATTHOURS" "ENERGY_GIGAWATTHOURS" "ENERGY_MEGAWATTHOURS" "ENERGY_KILOWATTHOURS" "ENERGY_CENTIWATTHOURS" "ENERGY_MILLIWATTHOURS" "ENERGY_MICROWATTHOURS" "LENGTH_KILOMETERS" "LENGTH_METERS" "LENGTH_DECIMETERS" "LENGTH_CENTIMETERS" "LENGTH_MILLIMETERS" "LENGTH_POINTS" "LENGTH_INCHES" "LENGTH_FEET" "LENGTH_YARDS" "MASS_TONS" "MASS_KILOGRAMS" "MASS_GRAMS" "MASS_MILLIGRAMS" "MASS_POUNDS" "QUANTITY_PIECES" "TIME_SECONDS" "TIME_MINUTES" "TIME_HOURS" "TIME_DAYS" "TIME_WEEKS" "DIGITALINFORMATION_BYTES" "DIGITALINFORMATION_KILOBYTES" "DIGITALINFORMATION_KIBIBYTES" "DIGITALINFORMATION_MEGABYTES" "DIGITALINFORMATION_MEBIBYTES" "DIGITALINFORMATION_GIGABYTES" "DIGITALINFORMATION_GIBIBYTES" "DIGITALINFORMATION_TERABYTES" "DIGITALINFORMATION_TEBIBYTES" "DIGITALINFORMATION_PETABYTES" "DIGITALINFORMATION_PEBIBYTES" "TIME_MONTHS" "TIME_YEARS" "VOLUME_CUBIC_MILLIMETERS" "VOLUME_CUBIC_CENTIMETERS" "VOLUME_CUBIC_DECIMETERS" "VOLUME_CUBIC_METERS" "VOLUME_MILLILITERS" "VOLUME_CENTILITERS" "VOLUME_DECILITERS" "VOLUME_LITERS" "VOLUME_HECTOLITERS" "VOLUME_FLUID_OUNCES" "VOLUME_PINTS" "VOLUME_QUARTS" "VOLUME_GALLONS" "VOLUME_BARRELS"

Describes a unit of measure. Commonly uses as part of Quantity values.

tax_category
string (TaxCategory)
Enum: "STANDARD" "REDUCED" "REDUCED_SPECIAL" "REDUCED_TAKE_AWAY" "ACCOMMODATION" "NO_TAX"

Represents the locale-independent representation of a specific type of tax.

The category does not represent a specifix tax. This is needed as taxes are a) different depending on country (and sometimes even within a single country) and b) tax rates may change over time but the actual Tax objects must not change as they are referenced by existing invoices.

For example, the tax category STANDARD is mapped to currently mapped to "DE/19%" for Germany and to "UK/20%" for the UK. If Germany would increase the standard tax rate to 21%, the mapping for Germany would be updated, but the products would still use the same STANDARD category as before.

Additional factors may also influcence the mapping, for example the category REDUCED_TAKE_AWAY normally gets mapped to "DE/19%" for Germany. But when the sale is flagged as "to go", the category is mapped to "DE/7%" instead.

tax_exemption_reason
string (TaxExemptionReason)
Enum: "UNIVERSAL_POSTAL_SERVICE_DE" "INTRA_COMMUNITY_TRADE_EU" "THIRD_PARTY_COUNTRY_DELIVERY_EU" "REVERSE_CHARGE_EU" "INTER_COMPANY_SALE_EU"

Reasons for not applying tax on a product sale.

not_taxable
boolean
price_and_quantity
object (ProductPriceAndQuantity)

The set of information defining the price of a product. A product's price is always relative to a specific quantity of the product. For example, if a single bottle of water costs 1€, 5 bottles cost 5€. Additionally, a given price might be including tax or not. Therefore, the ProductPriceAndQuantity is a combination of a quantity, a price and a "price is gross"-flag.

Responses

201

ProductOption has successfully been added

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/options

Production

https://external.apis.enfore.com/erp/org/{org-id}/options

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "price_and_quantity":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "price_and_quantity":
    {
    }
}

Load an option by its identifier

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

option-id
required
string

ID of the option to load, create or update

Responses

200

ProductOption is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/options/{option-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/options/{option-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "price_and_quantity":
    {
    }
}

Full update of an option

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

option-id
required
string

ID of the option to load, create or update

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters
management_unit
required
string (UnitOfMeasure)
Enum: "ENERGY_JOULES" "ENERGY_GIGAJOULES" "ENERGY_MEGAJOULES" "ENERGY_KILOJOULES" "ENERGY_CENTIJOULES" "ENERGY_MILLIJOULES" "ENERGY_MICROJOULES" "ENERGY_CALORIES" "ENERGY_KILOCALORIES" "ENERGY_WATTHOURS" "ENERGY_GIGAWATTHOURS" "ENERGY_MEGAWATTHOURS" "ENERGY_KILOWATTHOURS" "ENERGY_CENTIWATTHOURS" "ENERGY_MILLIWATTHOURS" "ENERGY_MICROWATTHOURS" "LENGTH_KILOMETERS" "LENGTH_METERS" "LENGTH_DECIMETERS" "LENGTH_CENTIMETERS" "LENGTH_MILLIMETERS" "LENGTH_POINTS" "LENGTH_INCHES" "LENGTH_FEET" "LENGTH_YARDS" "MASS_TONS" "MASS_KILOGRAMS" "MASS_GRAMS" "MASS_MILLIGRAMS" "MASS_POUNDS" "QUANTITY_PIECES" "TIME_SECONDS" "TIME_MINUTES" "TIME_HOURS" "TIME_DAYS" "TIME_WEEKS" "DIGITALINFORMATION_BYTES" "DIGITALINFORMATION_KILOBYTES" "DIGITALINFORMATION_KIBIBYTES" "DIGITALINFORMATION_MEGABYTES" "DIGITALINFORMATION_MEBIBYTES" "DIGITALINFORMATION_GIGABYTES" "DIGITALINFORMATION_GIBIBYTES" "DIGITALINFORMATION_TERABYTES" "DIGITALINFORMATION_TEBIBYTES" "DIGITALINFORMATION_PETABYTES" "DIGITALINFORMATION_PEBIBYTES" "TIME_MONTHS" "TIME_YEARS" "VOLUME_CUBIC_MILLIMETERS" "VOLUME_CUBIC_CENTIMETERS" "VOLUME_CUBIC_DECIMETERS" "VOLUME_CUBIC_METERS" "VOLUME_MILLILITERS" "VOLUME_CENTILITERS" "VOLUME_DECILITERS" "VOLUME_LITERS" "VOLUME_HECTOLITERS" "VOLUME_FLUID_OUNCES" "VOLUME_PINTS" "VOLUME_QUARTS" "VOLUME_GALLONS" "VOLUME_BARRELS"

Describes a unit of measure. Commonly uses as part of Quantity values.

tax_category
string (TaxCategory)
Enum: "STANDARD" "REDUCED" "REDUCED_SPECIAL" "REDUCED_TAKE_AWAY" "ACCOMMODATION" "NO_TAX"

Represents the locale-independent representation of a specific type of tax.

The category does not represent a specifix tax. This is needed as taxes are a) different depending on country (and sometimes even within a single country) and b) tax rates may change over time but the actual Tax objects must not change as they are referenced by existing invoices.

For example, the tax category STANDARD is mapped to currently mapped to "DE/19%" for Germany and to "UK/20%" for the UK. If Germany would increase the standard tax rate to 21%, the mapping for Germany would be updated, but the products would still use the same STANDARD category as before.

Additional factors may also influcence the mapping, for example the category REDUCED_TAKE_AWAY normally gets mapped to "DE/19%" for Germany. But when the sale is flagged as "to go", the category is mapped to "DE/7%" instead.

tax_exemption_reason
string (TaxExemptionReason)
Enum: "UNIVERSAL_POSTAL_SERVICE_DE" "INTRA_COMMUNITY_TRADE_EU" "THIRD_PARTY_COUNTRY_DELIVERY_EU" "REVERSE_CHARGE_EU" "INTER_COMPANY_SALE_EU"

Reasons for not applying tax on a product sale.

not_taxable
boolean
price_and_quantity
object (ProductPriceAndQuantity)

The set of information defining the price of a product. A product's price is always relative to a specific quantity of the product. For example, if a single bottle of water costs 1€, 5 bottles cost 5€. Additionally, a given price might be including tax or not. Therefore, the ProductPriceAndQuantity is a combination of a quantity, a price and a "price is gross"-flag.

Responses

200

ProductOption was successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/options/{option-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/options/{option-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "price_and_quantity":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "price_and_quantity":
    {
    }
}

Delete an option by its identifier (if the option is in use the deletion will fail)

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

option-id
required
string

ID of the option to load, create or update

Responses

204

ProductOption is successfully deleted

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/options/{option-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/options/{option-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Static Set Products

Query static set products

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

StaticSetProducts are successfully returned

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/static-set-products

Production

https://external.apis.enfore.com/erp/org/{org-id}/static-set-products

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Add a new static set product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters

The name of the product.

intended_use
Array of strings (IntendedUse)
Items Enum: "SELL" "INTERNAL_USE" "SOURCE_MATERIAL" "PACKAGING_MATERIAL" "INVENTORY"
management_unit
required
string (UnitOfMeasure)
Enum: "ENERGY_JOULES" "ENERGY_GIGAJOULES" "ENERGY_MEGAJOULES" "ENERGY_KILOJOULES" "ENERGY_CENTIJOULES" "ENERGY_MILLIJOULES" "ENERGY_MICROJOULES" "ENERGY_CALORIES" "ENERGY_KILOCALORIES" "ENERGY_WATTHOURS" "ENERGY_GIGAWATTHOURS" "ENERGY_MEGAWATTHOURS" "ENERGY_KILOWATTHOURS" "ENERGY_CENTIWATTHOURS" "ENERGY_MILLIWATTHOURS" "ENERGY_MICROWATTHOURS" "LENGTH_KILOMETERS" "LENGTH_METERS" "LENGTH_DECIMETERS" "LENGTH_CENTIMETERS" "LENGTH_MILLIMETERS" "LENGTH_POINTS" "LENGTH_INCHES" "LENGTH_FEET" "LENGTH_YARDS" "MASS_TONS" "MASS_KILOGRAMS" "MASS_GRAMS" "MASS_MILLIGRAMS" "MASS_POUNDS" "QUANTITY_PIECES" "TIME_SECONDS" "TIME_MINUTES" "TIME_HOURS" "TIME_DAYS" "TIME_WEEKS" "DIGITALINFORMATION_BYTES" "DIGITALINFORMATION_KILOBYTES" "DIGITALINFORMATION_KIBIBYTES" "DIGITALINFORMATION_MEGABYTES" "DIGITALINFORMATION_MEBIBYTES" "DIGITALINFORMATION_GIGABYTES" "DIGITALINFORMATION_GIBIBYTES" "DIGITALINFORMATION_TERABYTES" "DIGITALINFORMATION_TEBIBYTES" "DIGITALINFORMATION_PETABYTES" "DIGITALINFORMATION_PEBIBYTES" "TIME_MONTHS" "TIME_YEARS" "VOLUME_CUBIC_MILLIMETERS" "VOLUME_CUBIC_CENTIMETERS" "VOLUME_CUBIC_DECIMETERS" "VOLUME_CUBIC_METERS" "VOLUME_MILLILITERS" "VOLUME_CENTILITERS" "VOLUME_DECILITERS" "VOLUME_LITERS" "VOLUME_HECTOLITERS" "VOLUME_FLUID_OUNCES" "VOLUME_PINTS" "VOLUME_QUARTS" "VOLUME_GALLONS" "VOLUME_BARRELS"

Describes a unit of measure. Commonly uses as part of Quantity values.

tax_category
required
string (TaxCategory)
Enum: "STANDARD" "REDUCED" "REDUCED_SPECIAL" "REDUCED_TAKE_AWAY" "ACCOMMODATION" "NO_TAX"

Represents the locale-independent representation of a specific type of tax.

The category does not represent a specifix tax. This is needed as taxes are a) different depending on country (and sometimes even within a single country) and b) tax rates may change over time but the actual Tax objects must not change as they are referenced by existing invoices.

For example, the tax category STANDARD is mapped to currently mapped to "DE/19%" for Germany and to "UK/20%" for the UK. If Germany would increase the standard tax rate to 21%, the mapping for Germany would be updated, but the products would still use the same STANDARD category as before.

Additional factors may also influcence the mapping, for example the category REDUCED_TAKE_AWAY normally gets mapped to "DE/19%" for Germany. But when the sale is flagged as "to go", the category is mapped to "DE/7%" instead.

tax_exemption_reason
string (TaxExemptionReason)
Enum: "UNIVERSAL_POSTAL_SERVICE_DE" "INTRA_COMMUNITY_TRADE_EU" "THIRD_PARTY_COUNTRY_DELIVERY_EU" "REVERSE_CHARGE_EU" "INTER_COMPANY_SALE_EU"

Reasons for not applying tax on a product sale.

not_taxable
boolean
variant_group_id
string [ 1 .. 256 ] characters

The ID of the variant group this static set product belongs to.

article_id
string [ 1 .. 256 ] characters

The identifier by which the article is addressed by the business when communicating internally or with customers or suppliers.

Once specified, the article ID cannot be modified anymore. Otherwise, business documents such as invoices or packaging lists created at different points in time may list the same article ID for different products.

product_identifiers
Array of objects (ProductIdentifier)

Additional identifiers such as GTIN or ASIN assigned to the product. Note that it is possible to have multiple identifiers of the same type.

variant_ranking_pKey
string

Optional string determining user-defined ordering among sibling variants.

browse_nodes
Array of strings

The IDs of the browse nodes that the product belongs to.

product_dimensions
object (PhysicalDimensions)
shipping_dimensions
object (PhysicalDimensions)
sales_config
object (ProductSalesConfig)

Holds sales-related information and configuration for a product

custom_workflow_config
object (ProductCustomWorkflowConfig)

Holds information about the custom workflows defined for a product and the line items of orders/invoices that reference the product.

content_config
required
object (SetContentConfig)
inventory_config
object (StaticSetInventoryConfig)
product_details_configuration_id
string [ 1 .. 256 ] characters

The ID of the product details configuration to use for the product.

Responses

201

StaticSetProduct has successfully been added

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/static-set-products

Production

https://external.apis.enfore.com/erp/org/{org-id}/static-set-products

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "intended_use":
    [
    ],
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "variant_group_id": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "content_config":
    {
    },
  • "inventory_config":
    {
    },
  • "product_details_configuration_id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "intended_use":
    [
    ],
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "variant_group_id": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "content_config":
    {
    },
  • "inventory_config":
    {
    },
  • "product_details_configuration_id": "string"
}

Load a static set product by its identifier

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

static-set-product-id
required
string

ID of the static set product to load, create or update

Responses

200

StaticSetProduct is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/static-set-products/{static-set-product-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/static-set-products/{static-set-product-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "intended_use":
    [
    ],
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "variant_group_id": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "content_config":
    {
    },
  • "inventory_config":
    {
    },
  • "product_details_configuration_id": "string"
}

Full update of a static set product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

static-set-product-id
required
string

ID of the static set product to load, create or update

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters

The name of the product.

intended_use
Array of strings (IntendedUse)
Items Enum: "SELL" "INTERNAL_USE" "SOURCE_MATERIAL" "PACKAGING_MATERIAL" "INVENTORY"
management_unit
required
string (UnitOfMeasure)
Enum: "ENERGY_JOULES" "ENERGY_GIGAJOULES" "ENERGY_MEGAJOULES" "ENERGY_KILOJOULES" "ENERGY_CENTIJOULES" "ENERGY_MILLIJOULES" "ENERGY_MICROJOULES" "ENERGY_CALORIES" "ENERGY_KILOCALORIES" "ENERGY_WATTHOURS" "ENERGY_GIGAWATTHOURS" "ENERGY_MEGAWATTHOURS" "ENERGY_KILOWATTHOURS" "ENERGY_CENTIWATTHOURS" "ENERGY_MILLIWATTHOURS" "ENERGY_MICROWATTHOURS" "LENGTH_KILOMETERS" "LENGTH_METERS" "LENGTH_DECIMETERS" "LENGTH_CENTIMETERS" "LENGTH_MILLIMETERS" "LENGTH_POINTS" "LENGTH_INCHES" "LENGTH_FEET" "LENGTH_YARDS" "MASS_TONS" "MASS_KILOGRAMS" "MASS_GRAMS" "MASS_MILLIGRAMS" "MASS_POUNDS" "QUANTITY_PIECES" "TIME_SECONDS" "TIME_MINUTES" "TIME_HOURS" "TIME_DAYS" "TIME_WEEKS" "DIGITALINFORMATION_BYTES" "DIGITALINFORMATION_KILOBYTES" "DIGITALINFORMATION_KIBIBYTES" "DIGITALINFORMATION_MEGABYTES" "DIGITALINFORMATION_MEBIBYTES" "DIGITALINFORMATION_GIGABYTES" "DIGITALINFORMATION_GIBIBYTES" "DIGITALINFORMATION_TERABYTES" "DIGITALINFORMATION_TEBIBYTES" "DIGITALINFORMATION_PETABYTES" "DIGITALINFORMATION_PEBIBYTES" "TIME_MONTHS" "TIME_YEARS" "VOLUME_CUBIC_MILLIMETERS" "VOLUME_CUBIC_CENTIMETERS" "VOLUME_CUBIC_DECIMETERS" "VOLUME_CUBIC_METERS" "VOLUME_MILLILITERS" "VOLUME_CENTILITERS" "VOLUME_DECILITERS" "VOLUME_LITERS" "VOLUME_HECTOLITERS" "VOLUME_FLUID_OUNCES" "VOLUME_PINTS" "VOLUME_QUARTS" "VOLUME_GALLONS" "VOLUME_BARRELS"

Describes a unit of measure. Commonly uses as part of Quantity values.

tax_category
required
string (TaxCategory)
Enum: "STANDARD" "REDUCED" "REDUCED_SPECIAL" "REDUCED_TAKE_AWAY" "ACCOMMODATION" "NO_TAX"

Represents the locale-independent representation of a specific type of tax.

The category does not represent a specifix tax. This is needed as taxes are a) different depending on country (and sometimes even within a single country) and b) tax rates may change over time but the actual Tax objects must not change as they are referenced by existing invoices.

For example, the tax category STANDARD is mapped to currently mapped to "DE/19%" for Germany and to "UK/20%" for the UK. If Germany would increase the standard tax rate to 21%, the mapping for Germany would be updated, but the products would still use the same STANDARD category as before.

Additional factors may also influcence the mapping, for example the category REDUCED_TAKE_AWAY normally gets mapped to "DE/19%" for Germany. But when the sale is flagged as "to go", the category is mapped to "DE/7%" instead.

tax_exemption_reason
string (TaxExemptionReason)
Enum: "UNIVERSAL_POSTAL_SERVICE_DE" "INTRA_COMMUNITY_TRADE_EU" "THIRD_PARTY_COUNTRY_DELIVERY_EU" "REVERSE_CHARGE_EU" "INTER_COMPANY_SALE_EU"

Reasons for not applying tax on a product sale.

not_taxable
boolean
variant_group_id
string [ 1 .. 256 ] characters

The ID of the variant group this static set product belongs to.

article_id
string [ 1 .. 256 ] characters

The identifier by which the article is addressed by the business when communicating internally or with customers or suppliers.

Once specified, the article ID cannot be modified anymore. Otherwise, business documents such as invoices or packaging lists created at different points in time may list the same article ID for different products.

product_identifiers
Array of objects (ProductIdentifier)

Additional identifiers such as GTIN or ASIN assigned to the product. Note that it is possible to have multiple identifiers of the same type.

variant_ranking_pKey
string

Optional string determining user-defined ordering among sibling variants.

browse_nodes
Array of strings

The IDs of the browse nodes that the product belongs to.

product_dimensions
object (PhysicalDimensions)
shipping_dimensions
object (PhysicalDimensions)
sales_config
object (ProductSalesConfig)

Holds sales-related information and configuration for a product

custom_workflow_config
object (ProductCustomWorkflowConfig)

Holds information about the custom workflows defined for a product and the line items of orders/invoices that reference the product.

content_config
required
object (SetContentConfig)
inventory_config
object (StaticSetInventoryConfig)
product_details_configuration_id
string [ 1 .. 256 ] characters

The ID of the product details configuration to use for the product.

Responses

200

StaticSetProduct was successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/static-set-products/{static-set-product-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/static-set-products/{static-set-product-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "intended_use":
    [
    ],
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "variant_group_id": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "content_config":
    {
    },
  • "inventory_config":
    {
    },
  • "product_details_configuration_id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "intended_use":
    [
    ],
  • "management_unit": "ENERGY_JOULES",
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "variant_group_id": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "content_config":
    {
    },
  • "inventory_config":
    {
    },
  • "product_details_configuration_id": "string"
}

Delete a static set product by its identifier (if the static set product is in use the deletion will fail)

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

static-set-product-id
required
string

ID of the static set product to load, create or update

Responses

204

StaticSetProduct is successfully deleted

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/static-set-products/{static-set-product-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/static-set-products/{static-set-product-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

External Gift Card Products

Query external gift card product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

ExternalGiftCardProduct are successfully returned

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/external-gift-card-products

Production

https://external.apis.enfore.com/erp/org/{org-id}/external-gift-card-products

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Add a new external gift card product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters

The name of the product.

article_id
string [ 1 .. 256 ] characters

The identifier by which the article is addressed by the business when communicating internally or with customers or suppliers.

Once specified, the article ID cannot be modified anymore. Otherwise, business documents such as invoices or packaging lists created at different points in time may list the same article ID for different products.

product_identifiers
Array of objects (ProductIdentifier)

Additional identifiers such as GTIN or ASIN assigned to the product. Note that it is possible to have multiple identifiers of the same type.

browse_nodes
Array of strings

The IDs of the browse nodes that the product belongs to.

sales_config
object (ProductSalesConfig)

Holds sales-related information and configuration for a product

custom_workflow_config
object (ProductCustomWorkflowConfig)

Holds information about the custom workflows defined for a product and the line items of orders/invoices that reference the product.

product_details_configuration_id
string [ 1 .. 256 ] characters

The ID of the product details configuration to use for the product.

variant_ranking_pKey
string

Optional string determining user-defined ordering among sibling variants.

variant_group_id
string [ 1 .. 256 ] characters

The ID of the variant group this static set product belongs to.

Responses

201

ExternalGiftCardProduct has successfully been added

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/external-gift-card-products

Production

https://external.apis.enfore.com/erp/org/{org-id}/external-gift-card-products

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "browse_nodes":
    [
    ],
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "product_details_configuration_id": "string",
  • "variant_ranking_pKey": "string",
  • "variant_group_id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "browse_nodes":
    [
    ],
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "product_details_configuration_id": "string",
  • "variant_ranking_pKey": "string",
  • "variant_group_id": "string"
}

Load a external gift card product by its identifier

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

external-gift-card-product-id
required
string

ID of the external gift card product to load, create or update

Responses

200

ExternalGiftCardProduct is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/external-gift-card-products/{external-gift-card-product-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/external-gift-card-products/{external-gift-card-product-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "browse_nodes":
    [
    ],
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "product_details_configuration_id": "string",
  • "variant_ranking_pKey": "string",
  • "variant_group_id": "string"
}

Full update of a external gift card product

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

external-gift-card-product-id
required
string

ID of the external gift card product to load, create or update

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters

The name of the product.

article_id
string [ 1 .. 256 ] characters

The identifier by which the article is addressed by the business when communicating internally or with customers or suppliers.

Once specified, the article ID cannot be modified anymore. Otherwise, business documents such as invoices or packaging lists created at different points in time may list the same article ID for different products.

product_identifiers
Array of objects (ProductIdentifier)

Additional identifiers such as GTIN or ASIN assigned to the product. Note that it is possible to have multiple identifiers of the same type.

browse_nodes
Array of strings

The IDs of the browse nodes that the product belongs to.

sales_config
object (ProductSalesConfig)

Holds sales-related information and configuration for a product

custom_workflow_config
object (ProductCustomWorkflowConfig)

Holds information about the custom workflows defined for a product and the line items of orders/invoices that reference the product.

product_details_configuration_id
string [ 1 .. 256 ] characters

The ID of the product details configuration to use for the product.

variant_ranking_pKey
string

Optional string determining user-defined ordering among sibling variants.

variant_group_id
string [ 1 .. 256 ] characters

The ID of the variant group this static set product belongs to.

Responses

200

ExternalGiftCardProduct was successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/external-gift-card-products/{external-gift-card-product-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/external-gift-card-products/{external-gift-card-product-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "browse_nodes":
    [
    ],
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "product_details_configuration_id": "string",
  • "variant_ranking_pKey": "string",
  • "variant_group_id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "article_id": "string",
  • "product_identifiers":
    [
    ],
  • "browse_nodes":
    [
    ],
  • "sales_config":
    {
    },
  • "custom_workflow_config":
    {},
  • "product_details_configuration_id": "string",
  • "variant_ranking_pKey": "string",
  • "variant_group_id": "string"
}

Delete a external gift card product by its identifier (if the external gift card product is in use the deletion will fail)

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

external-gift-card-product-id
required
string

ID of the external gift card product to load, create or update

Responses

204

ExternalGiftCardProduct is successfully deleted

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/external-gift-card-products/{external-gift-card-product-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/external-gift-card-products/{external-gift-card-product-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Product Variant Groups

Query product variant groups

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

Product variant groups are successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/product-variant-group

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-variant-group

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Create a new product variant group

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
id
required
string [ 1 .. 256 ] characters

The ID of the product variant group.

name
required
string [ 1 .. 256 ] characters

The name of the product variant group.

short_description
string

The short description of the product variant group.

variant_browsing_features
Array of strings

List of the IDs of the feature templates that are used for browsing the variants of this group in the client UI.

sales_category
string [ 1 .. 256 ] characters

The ID of the sales category that the product belongs to.

brand
string [ 1 .. 256 ] characters

id of brand

browse_nodes
Array of strings

The IDs of the browse nodes that the product belongs to.

variant_sort_order
string (VariantSortOrder)
Enum: "ALPHABETICAL" "PRICE_ASCENDING" "PRICE_DESCENDING"

Prefered sort order inside a variant group.

Responses

200

Created product variant group

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/product-variant-group

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-variant-group

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "short_description": "string",
  • "variant_browsing_features":
    [
    ],
  • "sales_category": "string",
  • "brand": "string",
  • "browse_nodes":
    [
    ],
  • "variant_sort_order": "ALPHABETICAL"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "short_description": "string",
  • "variant_browsing_features":
    [
    ],
  • "sales_category": "string",
  • "brand": "string",
  • "browse_nodes":
    [
    ],
  • "variant_sort_order": "ALPHABETICAL"
}

Load a product variant group by its identifier

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-variant-group-id
required
string

ID of the product variant group

Responses

200

ProductVariantGroup is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/product-variant-group/{product-variant-group-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-variant-group/{product-variant-group-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "short_description": "string",
  • "variant_browsing_features":
    [
    ],
  • "sales_category": "string",
  • "brand": "string",
  • "browse_nodes":
    [
    ],
  • "variant_sort_order": "ALPHABETICAL"
}

Update of a product variant group

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-variant-group-id
required
string

ID of the product variant group

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters

The name of the product variant group.

short_description
string

The short description of the product variant group.

variant_browsing_features
Array of strings

List of the IDs of the feature templates that are used for browsing the variants of this group in the client UI.

Responses

200

ProductVariantGroup was successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

patch/org/{org-id}/product-variant-group/{product-variant-group-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-variant-group/{product-variant-group-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "short_description": "string",
  • "variant_browsing_features":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "short_description": "string",
  • "variant_browsing_features":
    [
    ],
  • "sales_category": "string",
  • "brand": "string",
  • "browse_nodes":
    [
    ],
  • "variant_sort_order": "ALPHABETICAL"
}

Returns IDs of all the images that are attached to this PVG

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-variant-group-id
required
string

ID of the product variant group

Responses

200

Successfully returns the list of identifiers

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/product-variant-group/{product-variant-group-id}/images

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-variant-group/{product-variant-group-id}/images

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ids":
    [
    ]
}

Add a new image to the PVG.

This method appends a new image to the list of images that are attached to a given product. Note that every time you add an image, it is appended to the front of the list such that it becomes the default image. Note that at the moment only JPEG and PNG images are supported. A request size restriction may also be imposed by the gateway. Typically, the gateway limits requests over 12 Megabytes.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-variant-group-id
required
string

ID of the product variant group

Request Body schema: application/json
data
required
string

A Base64 encoded string containing the image binary

Responses

200

Successfully added the image to the PVG

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/product-variant-group/{product-variant-group-id}/images

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-variant-group/{product-variant-group-id}/images

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string"
}

Delete an image by it's identifier on a given PVG

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-variant-group-id
required
string

ID of the product variant group

image-id
required
string

ID of the image that is being addressed

Responses

204

Successfully removed the image that was to be removed

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/product-variant-group/{product-variant-group-id}/images/{image-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-variant-group/{product-variant-group-id}/images/{image-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Products: Conversions

Gets existing conversion rules.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
from
required
string <date-time>

Defines the time starting from which objects are to be returned. Objects with exactly this date are also returned - this means that the start of a left-closed interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z

to
required
string <date-time>

Defines the time up to which objects are to be returned. Objects with exactly this date are not returned - this means that the end of a right-open interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z

limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

source
string

Optional ID of the source product on the rules

target
string

Optional ID of the target product on the rules

Responses

200

The requested single-target conversion rules.

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/conversions

Production

https://external.apis.enfore.com/erp/org/{org-id}/conversions

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Allows you to create a conversion rule.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
source_product_id
required
string [ 1 .. 256 ] characters
target_product_id
required
string [ 1 .. 256 ] characters
source_quantity
required
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

target_quantity
required
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

Responses

200

Returns a successfully created single-target conversion rule.

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/conversions

Production

https://external.apis.enfore.com/erp/org/{org-id}/conversions

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "source_product_id": "string",
  • "target_product_id": "string",
  • "source_quantity":
    {
    },
  • "target_quantity":
    {
    },
  • "@type": "SingleTargetConversion"
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "id": "string",
  • "source_product_id": "string",
  • "target_product_id": "string",
  • "source_quantity":
    {
    },
  • "target_quantity":
    {
    },
  • "@type": "SingleTargetConversion"
}

Allows you to update a conversion rule.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

rule-id
required
string

The ID of the rule upon which the operation needs to be performed

Request Body schema: application/json
source_product_id
required
string [ 1 .. 256 ] characters
target_product_id
required
string [ 1 .. 256 ] characters
source_quantity
required
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

target_quantity
required
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

Responses

200

Returns a successfully updated single-target conversion rule.

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/conversions/{rule-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/conversions/{rule-id}

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "source_product_id": "string",
  • "target_product_id": "string",
  • "source_quantity":
    {
    },
  • "target_quantity":
    {
    },
  • "@type": "SingleTargetConversion"
}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "id": "string",
  • "source_product_id": "string",
  • "target_product_id": "string",
  • "source_quantity":
    {
    },
  • "target_quantity":
    {
    },
  • "@type": "SingleTargetConversion"
}

Remove a conversion rule

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

rule-id
required
string

The ID of the rule upon which the operation needs to be performed

Responses

204

Rule was successfully removed.

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/conversions/{rule-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/conversions/{rule-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Products: Feature Templates

Get a list of all feature templates, sorted by name

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

Feature templates successfully returned.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/feature-templates

Production

https://external.apis.enfore.com/erp/org/{org-id}/feature-templates

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Create a new feature template

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
name
required
string non-empty
type
required
string (FeatureType)
Enum: "CAPACITY" "COLOR" "FORM_FACTOR" "MATERIAL" "PERFORMANCE" "SIZE" "TAG" "OTHER"

Enumeration of available feature types.

value_type
required
string (FeatureValueType)
Enum: "ABSTRACT" "BOOLEAN" "INTEGER" "QUANTITY_DIGITAL_STORAGE" "QUANTITY_ENERGY" "QUANTITY_LENGTH" "QUANTITY_MASS" "QUANTITY_PIECES" "QUANTITY_VOLUME" "TEXT" "NONE"

Enumeration of available feature value types.

values
any (FeatureValues)
category
required
string (FeatureCategory)
Enum: "SPECIFICATIONS" "INGREDIENTS"
group_id
string [ 1 .. 256 ] characters
display_configuration
object (FeatureDisplayConfiguration)

The various display contexts that features can be shown in.

  • PRODUCT_LISTING_IN_REGISTER: Product selection views (list/card modes only) in the register.
  • LINE_ITEMS_IN_ACTIVE_ORDERS: Line items in orders in the register or invoicing module.
  • LINE_ITEMS_IN_ORDER_MANAGEMENT_AND_HISTORY: Line items in orders in sales history and order management views.
  • PRODUCT_INFO_VIEW: Product info view in register an invoicing.
  • SALES_ORDER_BUSINESS_DOCUMENTS: Line items in business documents, e.g. the invoice document.

Responses

200

Feature template successfully created.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/feature-templates

Production

https://external.apis.enfore.com/erp/org/{org-id}/feature-templates

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "type": "CAPACITY",
  • "value_type": "ABSTRACT",
  • "values":
    {
    },
  • "category": "SPECIFICATIONS",
  • "group_id": "string",
  • "display_configuration":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "type": "CAPACITY",
  • "value_type": "ABSTRACT",
  • "values":
    {
    },
  • "category": "SPECIFICATIONS",
  • "group_id": "string",
  • "display_configuration":
    {
    }
}

Load a feature template

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

feature-template-id
required
string

ID of the feature template to load, create or update

Responses

200

Feature template is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/feature-templates/{feature-template-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/feature-templates/{feature-template-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "type": "CAPACITY",
  • "value_type": "ABSTRACT",
  • "values":
    {
    },
  • "category": "SPECIFICATIONS",
  • "group_id": "string",
  • "display_configuration":
    {
    }
}

Delete a feature template

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

feature-template-id
required
string

ID of the feature template to load, create or update

Responses

204

Feature template is successfully deleted

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/feature-templates/{feature-template-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/feature-templates/{feature-template-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Update a feature template

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

feature-template-id
required
string

ID of the feature template to load, create or update

Request Body schema: application/json
name
required
string non-empty

The new name of the product feature.

values
any (FeatureValues)

Responses

200

Feature template is successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

patch/org/{org-id}/feature-templates/{feature-template-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/feature-templates/{feature-template-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "values":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "type": "CAPACITY",
  • "value_type": "ABSTRACT",
  • "values":
    {
    },
  • "category": "SPECIFICATIONS",
  • "group_id": "string",
  • "display_configuration":
    {
    }
}

Products: Feature Groups

Get a list of all feature groups, sorted by name

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

Feature groups successfully returned.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/feature-groups

Production

https://external.apis.enfore.com/erp/org/{org-id}/feature-groups

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

Create a new feature group

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
name
required
string non-empty

Responses

200

Feature group successfully created.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/feature-groups

Production

https://external.apis.enfore.com/erp/org/{org-id}/feature-groups

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string"
}

Load a feature group

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

feature-group-id
required
string

ID of the feature group to load, create or update

Responses

200

Feature group is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/feature-groups/{feature-group-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/feature-groups/{feature-group-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string"
}

Delete a feature group

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

feature-group-id
required
string

ID of the feature group to load, create or update

Responses

204

Feature group is successfully deleted

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/feature-groups/{feature-group-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/feature-groups/{feature-group-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Lots

Query lots

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

product_id
string

When specified, only lots for the specified product are returned.

number
string

When specified, only lots with the specified number are returned.

Responses

200

Lots are successfully returned

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/lots

Production

https://external.apis.enfore.com/erp/org/{org-id}/lots

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Add a new lot

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
external_id
string [ 1 .. 256 ] characters

An identifier for use by the external system.

product
required
string [ 1 .. 256 ] characters

The ID of the product, the lot belongs to.

number
required
string [ 1 .. 256 ] characters

The lot number.

This is an identifier and often consists of alphanmeric characters. The name number is chosen to align with the domain-specific language.

product_identifiers
Array of objects (ProductIdentifier)

Additional identifiers such as GTIN or ASIN assigned to the lot. Note that it is possible to have multiple identifiers of the same type.

description
string

An optional description for the lot.

production_date
string <date>

Date when the units of the lot were produced or will be produced.

expiration_date
string <date>

Date when the units of the lot will or did expire.

manufacturer
string [ 1 .. 256 ] characters

Name of the manufacturer of the lot

supplier
string [ 1 .. 256 ] characters

ID of the supplier of the lot.

feature_values
Array of objects (ValueForFeature)

List of values for features defined on the product the lot belongs to.

Responses

201

Lot has successfully been added

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

409

When payload contains an external ID and a product with the same external ID already exists

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/lots

Production

https://external.apis.enfore.com/erp/org/{org-id}/lots

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "external_id": "string",
  • "product": "string",
  • "number": "string",
  • "product_identifiers":
    [
    ],
  • "description": "string",
  • "production_date": "2025-05-19",
  • "expiration_date": "2025-05-19",
  • "manufacturer": "string",
  • "supplier": "string",
  • "feature_values":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "external_id": "string",
  • "product": "string",
  • "number": "string",
  • "status": "ACTIVE",
  • "product_identifiers":
    [
    ],
  • "description": "string",
  • "production_date": "2025-05-19",
  • "expiration_date": "2025-05-19",
  • "manufacturer": "string",
  • "supplier": "string",
  • "feature_values":
    [
    ]
}

Load a lot by its identifier

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

lot-id
required
string

ID of the lot to load, create or update

Responses

200

Lot is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/lots/{lot-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/lots/{lot-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "external_id": "string",
  • "product": "string",
  • "number": "string",
  • "status": "ACTIVE",
  • "product_identifiers":
    [
    ],
  • "description": "string",
  • "production_date": "2025-05-19",
  • "expiration_date": "2025-05-19",
  • "manufacturer": "string",
  • "supplier": "string",
  • "feature_values":
    [
    ]
}

Full update of a lot

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

lot-id
required
string

ID of the lot to load, create or update

Request Body schema: application/json
external_id
string [ 1 .. 256 ] characters

An identifier for use by the external system.

product
required
string [ 1 .. 256 ] characters

The ID of the product, the lot belongs to.

number
required
string [ 1 .. 256 ] characters

The lot number.

This is an identifier and often consists of alphanmeric characters. The name number is chosen to align with the domain-specific language.

product_identifiers
Array of objects (ProductIdentifier)

Additional identifiers such as GTIN or ASIN assigned to the lot. Note that it is possible to have multiple identifiers of the same type.

description
string

An optional description for the lot.

production_date
string <date>

Date when the units of the lot were produced or will be produced.

expiration_date
string <date>

Date when the units of the lot will or did expire.

manufacturer
string [ 1 .. 256 ] characters

Name of the manufacturer of the lot

supplier
string [ 1 .. 256 ] characters

ID of the supplier of the lot.

feature_values
Array of objects (ValueForFeature)

List of values for features defined on the product the lot belongs to.

Responses

200

Lot was successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/lots/{lot-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/lots/{lot-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "external_id": "string",
  • "product": "string",
  • "number": "string",
  • "product_identifiers":
    [
    ],
  • "description": "string",
  • "production_date": "2025-05-19",
  • "expiration_date": "2025-05-19",
  • "manufacturer": "string",
  • "supplier": "string",
  • "feature_values":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "external_id": "string",
  • "product": "string",
  • "number": "string",
  • "status": "ACTIVE",
  • "product_identifiers":
    [
    ],
  • "description": "string",
  • "production_date": "2025-05-19",
  • "expiration_date": "2025-05-19",
  • "manufacturer": "string",
  • "supplier": "string",
  • "feature_values":
    [
    ]
}

Update the status of a lot

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

lot-id
required
string

ID of the lot to load, create or update

Request Body schema: text/plain
string (LotStatus)
Enum: "ACTIVE" "DISCONTINUED"

The possible status values for lots.

ACTIVE means that the lot is actively used by the organization and is made available to the end user for selection in the UI.

DISCONTINUED means that the lot is no longer ACTIVE and not made available for selection by the end user.

Responses

200

Lot status is successfully updated.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/lots/{lot-id}/status

Production

https://external.apis.enfore.com/erp/org/{org-id}/lots/{lot-id}/status

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Load storage location-specific information of a lot identified by its ID

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

lot-id
required
string

ID of the lot to load, create or update

Responses

200

Storage location infos are successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/lots/{lot-id}/storage-locations

Production

https://external.apis.enfore.com/erp/org/{org-id}/lots/{lot-id}/storage-locations

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

Create a lot's relation to a storage location

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

lot-id
required
string

ID of the lot to load, create or update

Request Body schema: application/json
storage_location
required
string [ 1 .. 256 ] characters

The ID of the storage location.

Responses

200

The successfully created relation between the lot and the storage location.

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/lots/{lot-id}/storage-locations

Production

https://external.apis.enfore.com/erp/org/{org-id}/lots/{lot-id}/storage-locations

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "storage_location": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "storage_location": "string"
}

Remove the relation between a lot and a storage location.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

lot-id
required
string

ID of the lot to load, create or update

lot-storage-location-information-id
required
string

ID of the lot/storage location relation info

Responses

204

Relationship was successfully removed.

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/lots/{lot-id}/storage-locations/{lot-storage-location-information-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/lots/{lot-id}/storage-locations/{lot-storage-location-information-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Custom Units

Iterate over custom units

Returns custom units, sorted in ascending order by id.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

Data successfully returned

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/custom-units

Production

https://external.apis.enfore.com/erp/org/{org-id}/custom-units

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Add a new custom unit

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
name
required
object (LocalizedString)

Holds a text that is optionally localized to different languages.

code
required
string

The code of the custom unit.

Used for displaying quantities of the unit, so it should be short like "kg" or "pc".

Responses

201

Custom unit has successfully been added

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

409

Resource(s) could not be processed because of a conflict in the current state of the resource

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/custom-units

Production

https://external.apis.enfore.com/erp/org/{org-id}/custom-units

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name":
    {
    },
  • "code": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name":
    {
    },
  • "code": "string"
}

Load a custom unit

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

unit-id
required
string

ID of the custom unit to act upon

Responses

200

Custom unit is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/custom-units/{unit-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/custom-units/{unit-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name":
    {
    },
  • "code": "string"
}

Delete a custom unit

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

unit-id
required
string

ID of the custom unit to act upon

Responses

204

Custom unit was successfully deleted

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/custom-units/{unit-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/custom-units/{unit-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Update a custom unit

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

unit-id
required
string

ID of the custom unit to act upon

Request Body schema: application/json
@type
required
string
Default: "CustomUnitNameUpdate"
name
required
object (LocalizedString)

Holds a text that is optionally localized to different languages.

Responses

200

Custom unit was successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

patch/org/{org-id}/custom-units/{unit-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/custom-units/{unit-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "@type": "CustomUnitNameUpdate",
  • "name":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name":
    {
    },
  • "code": "string"
}

Sales Categories

Sales categories can be used to categorize resources for sale.

Get a list with all sales categories sorted by their names.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

is_active
boolean

When specified, either active or inactive (deleted) sales categories are returned.

parent_id
string

When specified, only sales categories that are children of the specified parent category are returned.

roots_only
boolean

When specified, only root-level sales categories are returned.

Responses

200

Successfully returns a list of sales categories

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/sales-categories

Production

https://external.apis.enfore.com/erp/org/{org-id}/sales-categories

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Create a new sales category

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
external_id
string

The ID used by an external partner or the end user

icon
string

The identifier of the icon to use for visualizing the category in contexts where the UI requires/supports icons.

name
required
string

Category name.

description
string

A description of the category.

parent
string [ 1 .. 256 ] characters

ID of the parent category of this category.

custom_color
object (CustomColor)

Custom defined color with a color RGB(A) value and an optional name.

Responses

200

Created sales categoroy

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/sales-categories

Production

https://external.apis.enfore.com/erp/org/{org-id}/sales-categories

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "external_id": "string",
  • "icon": "string",
  • "name": "string",
  • "description": "string",
  • "parent": "string",
  • "custom_color":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "external_id": "string",
  • "icon": "string",
  • "name": "string",
  • "description": "string",
  • "is_active": true,
  • "parent": "string",
  • "custom_color":
    {
    }
}

Update a sales category

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

sales-category-id
required
string

ID of the sales category update or delete

Request Body schema: application/json
external_id
string

The ID used by an external partner or the end user

icon
string

The identifier of the icon to use for visualizing the category in contexts where the UI requires/supports icons.

name
required
string

Category name.

description
string

A description of the category.

parent
string [ 1 .. 256 ] characters

ID of the parent category of this category.

custom_color
object (CustomColor)

Custom defined color with a color RGB(A) value and an optional name.

Responses

200

Updated sales category

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/sales-categories/{sales-category-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/sales-categories/{sales-category-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "external_id": "string",
  • "icon": "string",
  • "name": "string",
  • "description": "string",
  • "parent": "string",
  • "custom_color":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "external_id": "string",
  • "icon": "string",
  • "name": "string",
  • "description": "string",
  • "is_active": true,
  • "parent": "string",
  • "custom_color":
    {
    }
}

Remove a sales category

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

sales-category-id
required
string

ID of the sales category update or delete

Responses

204

Sales Category was successfully removed.

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/sales-categories/{sales-category-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/sales-categories/{sales-category-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Load list of children of a sales category by its identifier

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

sales-category-id
required
string

ID of the sales category update or delete

Responses

200

Children of sales category are successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/sales-categories/{sales-category-id}/children

Production

https://external.apis.enfore.com/erp/org/{org-id}/sales-categories/{sales-category-id}/children

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ids":
    [
    ]
}

Update list of children of a sales category

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

sales-category-id
required
string

ID of the sales category update or delete

Request Body schema: application/json
ids
required
Array of strings

An ordered list of strings representing identifiers of some sort. The list is ordered by the time at which the item was added. The last added item appears first in the list.

Responses

200

Updated list of children of the sales category

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

409

Resource(s) could not be processed because of a conflict in the current state of the resource

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/sales-categories/{sales-category-id}/children

Production

https://external.apis.enfore.com/erp/org/{org-id}/sales-categories/{sales-category-id}/children

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ids":
    [
    ]
}

Browse Nodes

Browse noeds are used for sales item navigation.

Get a list with all browse nodes sorted by their names.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

is_active
boolean

When specified, either active or inactive (deleted) browse nodes are returned.

parent_id
string

When specified, only browse nodes that are children of the specified parent node are returned.

roots_only
boolean

When specified, only root-level browse nodes are returned.

Responses

200

Successfully returns a list of browse nodes

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/browse-nodes

Production

https://external.apis.enfore.com/erp/org/{org-id}/browse-nodes

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Create a new browse node

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
icon
string

The identifier of the icon to use for visualizing the browse node in contexts where the UI requires/supports icons.

name
required
string

The name of the browse node.

description
string

The description of the browse node.

parents
Array of strings

IDs of the parent nodes of this node.

product_details_configuration_id
string [ 1 .. 256 ] characters

The ID of the product details configuration to use for products associated with this browse node.

Note that when the product itself has a product details cfg explicitly assigned to it, that one takes precedence.

Additionally, if multiple browse nodes the product is associated with have a product details cfg, the one that is declared "nearest" to the product is used. The full definition of "nearest" is still being tweaked at the moment.

sort_and_filter_configuration
object (SortAndFilterConfiguration)

Configuration for sorting and filtering sales items. Used by the sales item navigation configurations as well as browse nodes and sales categories.

NOTE: Configuration for sorting is not available yet!

Responses

200

Created browse node

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

409

Resource(s) could not be processed because of a conflict in the current state of the resource

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/browse-nodes

Production

https://external.apis.enfore.com/erp/org/{org-id}/browse-nodes

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "icon": "string",
  • "name": "string",
  • "description": "string",
  • "parents":
    [
    ],
  • "product_details_configuration_id": "string",
  • "sort_and_filter_configuration":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "icon": "string",
  • "name": "string",
  • "description": "string",
  • "is_active": true,
  • "parents":
    [
    ],
  • "product_details_configuration_id": "string",
  • "sort_and_filter_configuration":
    {
    }
}

Load a browse nodes by its identifier

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

browse-node-id
required
string

ID of the browse node update or delete

Responses

200

Browse node is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/browse-nodes/{browse-node-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/browse-nodes/{browse-node-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "icon": "string",
  • "name": "string",
  • "description": "string",
  • "is_active": true,
  • "parents":
    [
    ],
  • "product_details_configuration_id": "string",
  • "sort_and_filter_configuration":
    {
    }
}

Update a browse node

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

browse-node-id
required
string

ID of the browse node update or delete

Request Body schema: application/json
icon
string

The identifier of the icon to use for visualizing the browse node in contexts where the UI requires/supports icons.

name
required
string

The name of the browse node.

description
string

The description of the browse node.

parents
Array of strings

IDs of the parent nodes of this node.

product_details_configuration_id
string [ 1 .. 256 ] characters

The ID of the product details configuration to use for products associated with this browse node.

Note that when the product itself has a product details cfg explicitly assigned to it, that one takes precedence.

Additionally, if multiple browse nodes the product is associated with have a product details cfg, the one that is declared "nearest" to the product is used. The full definition of "nearest" is still being tweaked at the moment.

sort_and_filter_configuration
object (SortAndFilterConfiguration)

Configuration for sorting and filtering sales items. Used by the sales item navigation configurations as well as browse nodes and sales categories.

NOTE: Configuration for sorting is not available yet!

Responses

200

Updated browse node

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

409

Resource(s) could not be processed because of a conflict in the current state of the resource

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/browse-nodes/{browse-node-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/browse-nodes/{browse-node-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "icon": "string",
  • "name": "string",
  • "description": "string",
  • "parents":
    [
    ],
  • "product_details_configuration_id": "string",
  • "sort_and_filter_configuration":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "icon": "string",
  • "name": "string",
  • "description": "string",
  • "is_active": true,
  • "parents":
    [
    ],
  • "product_details_configuration_id": "string",
  • "sort_and_filter_configuration":
    {
    }
}

Remove a browse node

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

browse-node-id
required
string

ID of the browse node update or delete

Responses

204

Browse Node was successfully removed.

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/browse-nodes/{browse-node-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/browse-nodes/{browse-node-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Load list of children of a browse nodes by its identifier

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

browse-node-id
required
string

ID of the browse node update or delete

Responses

200

Children of browse node are successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/browse-nodes/{browse-node-id}/children

Production

https://external.apis.enfore.com/erp/org/{org-id}/browse-nodes/{browse-node-id}/children

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ids":
    [
    ]
}

Update list of children of a browse node

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

browse-node-id
required
string

ID of the browse node update or delete

Request Body schema: application/json
ids
required
Array of strings

An ordered list of strings representing identifiers of some sort. The list is ordered by the time at which the item was added. The last added item appears first in the list.

Responses

200

Updated list of children of the browse node

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

409

Resource(s) could not be processed because of a conflict in the current state of the resource

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/browse-nodes/{browse-node-id}/children

Production

https://external.apis.enfore.com/erp/org/{org-id}/browse-nodes/{browse-node-id}/children

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ids":
    [
    ]
}

Sales Item Navigation Configurations

Iterate over sales item navigation configurations

Returns sales item navigation configurations, sorted in ascending order by id.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

Data successfully returned

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/sales-item-navigation-configurations

Production

https://external.apis.enfore.com/erp/org/{org-id}/sales-item-navigation-configurations

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Add a new sales item navigation configuration

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
name
required
string
description
string
navigations
Array of objects (SalesItemNavigation)

Responses

201

Configuration has successfully been added

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

409

Resource(s) could not be processed because of a conflict in the current state of the resource

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/sales-item-navigation-configurations

Production

https://external.apis.enfore.com/erp/org/{org-id}/sales-item-navigation-configurations

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "navigations":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "is_default": true,
  • "navigations":
    [
    ]
}

Load a sales item navigation configuration

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

configuration-id
required
string

ID of the configuration to act upon

Responses

200

Configuration is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/sales-item-navigation-configurations/{configuration-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/sales-item-navigation-configurations/{configuration-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "is_default": true,
  • "navigations":
    [
    ]
}

Update a sales item navigation configuration

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

configuration-id
required
string

ID of the configuration to act upon

Request Body schema: application/json
name
required
string
description
string
navigations
Array of objects (SalesItemNavigation)

Responses

200

Configuration was successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/sales-item-navigation-configurations/{configuration-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/sales-item-navigation-configurations/{configuration-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "navigations":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "is_default": true,
  • "navigations":
    [
    ]
}

Delete a sales item navigation configuration

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

configuration-id
required
string

ID of the configuration to act upon

Responses

204

Configuration was successfully deleted

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/sales-item-navigation-configurations/{configuration-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/sales-item-navigation-configurations/{configuration-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Product Details Configurations

Get a list of all product details configurations, sorted by name

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

Configurations successfully returned.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/product-details-configurations

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-details-configurations

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Create a new product details configuration

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
name
required
string

The name of the configuration.

description
string

The description of the configuration.

page_switcher_display_mode
required
string (ProductDetailsPageSwitcherDisplayMode)
Enum: "TEXT_ONLY" "TEXT_WITH_ICON" "ICON_ONLY" "ICON_WITH_LABEL"

The display mode that controls how the page switcher of the product details displays the pages.

Possible options are:

  • TEXT_ONLY - Show only the page's title.
  • TEXT_WITH_ICON - Show the page's icon followed by its title.
  • ICON_ONLY - Show only the page's icon.
  • ICON_WITH_LABEL - Show the page's icon and its title as label below it.
media_gallery_theme
string (ProductDetailsMediaGalleryTheme)
Enum: "DARK" "LIGHT"

The theme that controls the visual style of the media gallery for the product details.

Possible options are:

  • DARK - Media gallery will have a dark background.
  • LIGHT - Media gallery will have a light background.
pages
required
Array of any (ProductDetailsPage)

The pages that make up the product details

Responses

200

Configuration successfully created.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/product-details-configurations

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-details-configurations

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "page_switcher_display_mode": "TEXT_ONLY",
  • "media_gallery_theme": "DARK",
  • "pages":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "page_switcher_display_mode": "TEXT_ONLY",
  • "media_gallery_theme": "DARK",
  • "pages":
    [
    ]
}

Load a product details configuration

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

configuration-id
required
string

ID of the product details configuration

Responses

200

Configuration is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/product-details-configurations/{configuration-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-details-configurations/{configuration-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "page_switcher_display_mode": "TEXT_ONLY",
  • "media_gallery_theme": "DARK",
  • "pages":
    [
    ]
}

Update a product details configuration

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

configuration-id
required
string

ID of the product details configuration

Request Body schema: application/json
name
required
string

The name of the configuration.

description
string

The description of the configuration.

page_switcher_display_mode
required
string (ProductDetailsPageSwitcherDisplayMode)
Enum: "TEXT_ONLY" "TEXT_WITH_ICON" "ICON_ONLY" "ICON_WITH_LABEL"

The display mode that controls how the page switcher of the product details displays the pages.

Possible options are:

  • TEXT_ONLY - Show only the page's title.
  • TEXT_WITH_ICON - Show the page's icon followed by its title.
  • ICON_ONLY - Show only the page's icon.
  • ICON_WITH_LABEL - Show the page's icon and its title as label below it.
media_gallery_theme
string (ProductDetailsMediaGalleryTheme)
Enum: "DARK" "LIGHT"

The theme that controls the visual style of the media gallery for the product details.

Possible options are:

  • DARK - Media gallery will have a dark background.
  • LIGHT - Media gallery will have a light background.
pages
required
Array of any (ProductDetailsPage)

The pages that make up the product details

Responses

200

Returns a successfully updated configuration.

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/product-details-configurations/{configuration-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-details-configurations/{configuration-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "page_switcher_display_mode": "TEXT_ONLY",
  • "media_gallery_theme": "DARK",
  • "pages":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "page_switcher_display_mode": "TEXT_ONLY",
  • "media_gallery_theme": "DARK",
  • "pages":
    [
    ]
}

Delete a product details configuration

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

configuration-id
required
string

ID of the product details configuration

Responses

204

Configuration is successfully deleted

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/product-details-configurations/{configuration-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-details-configurations/{configuration-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Product Lists

Used to create and maintain product-lists to be used in the Sales Item Navigation (SIN) initially and in other places for the future.

Load the list of all product-lists

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

A list of product-lists is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/product-lists

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-lists

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Creates a new product-list.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters

The name of the product-list.

icon
string

The icon associated to the product-list.

color
string (HighlightColor)
Enum: "NONE" "GLUE" "GOLDEN" "PURPLE" "TEAL" "YELLOW"
short_description
string

The short description of the product-list.

long_description
string

The long description of the product-list.

products
required
Array of strings

List of the IDs of the products that are included in the product-list.

Responses

200

ProductList which has been successfully created

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/product-lists

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-lists

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "icon": "string",
  • "color": "NONE",
  • "short_description": "string",
  • "long_description": "string",
  • "products":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "icon": "string",
  • "color": "NONE",
  • "short_description": "string",
  • "long_description": "string",
  • "products":
    [
    ]
}

Load a product-list by its identifier

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-list-id
required
string

ID of the product-list to load, create or update

Responses

200

ProductList is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/product-lists/{product-list-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-lists/{product-list-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "icon": "string",
  • "color": "NONE",
  • "short_description": "string",
  • "long_description": "string",
  • "products":
    [
    ]
}

Full update of a product-list

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-list-id
required
string

ID of the product-list to load, create or update

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters

The name of the product-list.

icon
string

The icon associated to the product-list.

color
string (HighlightColor)
Enum: "NONE" "GLUE" "GOLDEN" "PURPLE" "TEAL" "YELLOW"
short_description
string

The short description of the product-list.

long_description
string

The long description of the product-list.

products
required
Array of strings

List of the IDs of the products that are included in the product-list.

Responses

200

ProductList was successfully updated

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/product-lists/{product-list-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-lists/{product-list-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "icon": "string",
  • "color": "NONE",
  • "short_description": "string",
  • "long_description": "string",
  • "products":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "name": "string",
  • "icon": "string",
  • "color": "NONE",
  • "short_description": "string",
  • "long_description": "string",
  • "products":
    [
    ]
}

Delete a product-list by its identifier

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-list-id
required
string

ID of the product-list to load, create or update

Responses

204

ProductList is successfully deleted

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/product-lists/{product-list-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-lists/{product-list-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Get a top product of a product-list

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-list-id
required
string

ID of the product-list to load, create or update

Responses

200

ProductList which has been successfully created

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/product-lists/{product-list-id}/top-product

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-lists/{product-list-id}/top-product

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string"
}

Adds a product at the top of the list of products inside the target product-list

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-list-id
required
string

ID of the product-list to load, create or update

Request Body schema: application/json
id
required
string [ 1 .. 256 ] characters

The ID of the product to be added to the product-list.

Responses

200

The top product of a product-list

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/product-lists/{product-list-id}/top-product

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-lists/{product-list-id}/top-product

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string"
}

Delete the top product in a target product-list.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-list-id
required
string

ID of the product-list to load, create or update

Responses

204

Top product in a product-list is successfully deleted

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/product-lists/{product-list-id}/top-product

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-lists/{product-list-id}/top-product

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Get a bottom product of a product-list

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-list-id
required
string

ID of the product-list to load, create or update

Responses

200

The bottom product of a product-list

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/product-lists/{product-list-id}/bottom-product

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-lists/{product-list-id}/bottom-product

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string"
}

Adds a product at the bottom of the list of products inside the target product-list

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-list-id
required
string

ID of the product-list to load, create or update

Request Body schema: application/json
id
required
string [ 1 .. 256 ] characters

The ID of the product to be added to the product-list.

Responses

200

ProductList which has been successfully updated

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/product-lists/{product-list-id}/bottom-product

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-lists/{product-list-id}/bottom-product

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string"
}

Delete the bottom product in a target product-list.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-list-id
required
string

ID of the product-list to load, create or update

Responses

204

Bottom product in a product-list is successfully deleted

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/product-lists/{product-list-id}/bottom-product

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-lists/{product-list-id}/bottom-product

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Adds a product in a product-list items before of a referenced product on that list

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-list-id
required
string

ID of the product-list to load, create or update

product-id
required
string

ID of the product to load, create or update

Request Body schema: application/json
id
required
string [ 1 .. 256 ] characters

The ID of the product to be added to the product-list.

refId
required
string [ 1 .. 256 ] characters

The ID of a referenced (BEFORE/AFTER) product for adding product to the product-list.

Responses

200

ProductList which has been successfully updated

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/product-lists/{product-list-id}/products/{product-id}/before

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-lists/{product-list-id}/products/{product-id}/before

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "refId": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "refId": "string"
}

Adds a product in a product-list items after of a referenced product on that list

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-list-id
required
string

ID of the product-list to load, create or update

product-id
required
string

ID of the product to load, create or update

Request Body schema: application/json
id
required
string [ 1 .. 256 ] characters

The ID of the product to be added to the product-list.

refId
required
string [ 1 .. 256 ] characters

The ID of a referenced (BEFORE/AFTER) product for adding product to the product-list.

Responses

200

ProductList which has been successfully updated

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/product-lists/{product-list-id}/products/{product-id}/after

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-lists/{product-list-id}/products/{product-id}/after

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "refId": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "refId": "string"
}

Delete an specific product in a target product-list given its product-id.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

product-list-id
required
string

ID of the product-list to load, create or update

product-id
required
string

ID of the product to load, create or update

Responses

204

Target product in a product-list is successfully deleted

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/product-lists/{product-list-id}/products/{product-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-lists/{product-list-id}/products/{product-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Invoices

Invoices are created whenever one or multiple products are sold. They are created from Orders (which are not available via the API yet) and represent the accounting/ledger-side view of the sale.

Returns invoices

Returns invoices for the specified interval, sorted in ascending order by their processed_date_and_time.

Since our platform was built as a distributed system, we are subject to the laws of the 'Eventual consistency' model. This means that time periods close to the present may be unstable and could contain new items if the same time interval is queried again.

We therefore recommend that intervals that are close to the present time should be re-requested and verified at a later time.

The caller should avoid huge offsets (greater 10000), because huge offsets are slow. We therefore recommend to use small intervals instead of huge ones, and use an outer loop that iterates over the huge interval in smaller pieces, like weeks, days or hours instead of months or years. It is planned to limit the offset in the future to 10000.

Caution: limit is restricted to 50

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
from
required
string <date-time>

Defines the time starting from which objects are to be returned. Objects with exactly this date are also returned - this means that the start of a left-closed interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z

to
required
string <date-time>

Defines the time up to which objects are to be returned. Objects with exactly this date are not returned - this means that the end of a right-open interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z

limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 50. The real runtime maximum is 50 per request.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

Invoice information is successfully returned

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/invoices

Production

https://external.apis.enfore.com/erp/org/{org-id}/invoices

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

getInvoiceById

Retrieve a given invoice by ID

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

invoice-id
required
string

Responses

200

The invoice that was requested

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/invoices/{invoice-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/invoices/{invoice-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "store_id": "string",
  • "register_id": "string",
  • "operator_id": "string",
  • "number": "string",
  • "transaction_date_and_time": "2025-05-19T12:14:59Z",
  • "issued_date_and_time": "2025-05-19T12:14:59Z",
  • "processed_date_and_time": "2025-05-19T12:14:59Z",
  • "customer_information":
    {
    },
  • "payer_information":
    {
    },
  • "invoice_address":
    {
    },
  • "total_gross_amount":
    {
    },
  • "total_net_amount":
    {
    },
  • "tax_amounts":
    [
    ],
  • "items":
    [
    ],
  • "payments":
    [
    ],
  • "discounts":
    [
    ],
  • "markups":
    [
    ],
  • "applied_discounts":
    [
    ],
  • "applied_markups":
    [
    ],
  • "has_loyalty_program_data": false,
  • "has_external_promotion_program_data": false,
  • "sales_orders":
    [
    ],
  • "external_pricing_data": "string",
  • "additional_invoice_information":
    [
    ],
  • "void_reason":
    {
    }
}

getInvoiceLoyaltyProgramData

Retrieve loyalty program data for an invoice

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

invoice-id
required
string

Responses

200

The loyalty program data for the invoice

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/invoices/{invoice-id}/loyalty-program-data

Production

https://external.apis.enfore.com/erp/org/{org-id}/invoices/{invoice-id}/loyalty-program-data

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

getInvoiceExternalPromotionProgramData

Retrieve EPP data for an invoice

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

invoice-id
required
string

Responses

200

The EPP data for the invoice

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/invoices/{invoice-id}/external-promotion-program-data

Production

https://external.apis.enfore.com/erp/org/{org-id}/invoices/{invoice-id}/external-promotion-program-data

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

getInvoiceDownloadUrl

Retrieve a download url by given invoice ID

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

invoice-id
required
string

Responses

200

The download url that was requested

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/invoices/{invoice-id}/download

Production

https://external.apis.enfore.com/erp/org/{org-id}/invoices/{invoice-id}/download

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "download_url": "string"
}

Fully or partially void the invoice

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

invoice-id
required
string
Request Body schema: application/json
@type
required
string
Default: "VoidFullInvoiceRequest"
reason
any (VoidInvoiceReason)
payout_handling_information
object (PayoutHandlingInformation)

When present on a VoidInvoiceRequest (both full or partial variants), the resulting credit memo will be settled with a "payout that is handled by an external payment service provider" with information about what organization did or will perform the payout.

The payout will be recorded with the specified "handled_amount". It is the callers responsibility to ensure that this amount matches the actual refund amount. If the specified amount is less than the refund amount, the credit memo will only be partially "paid out" and the remaining amount will need to be handled manually via enforePOS. If the specified amount is greater than the refund amount, the payout will be recorded and settle the credit memo, but the extraneous amount will remain as "unreconciled" and will need to be reconciled manually.

Responses

200

Void operation successful

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/invoices/{invoice-id}/void

Production

https://external.apis.enfore.com/erp/org/{org-id}/invoices/{invoice-id}/void

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "@type": "VoidFullInvoiceRequest",
  • "reason":
    {
    },
  • "payout_handling_information":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "credit_memo_id": "string",
  • "credit_memo_number": "string"
}

Fetch an invoice by its number

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
number
required
string

Responses

200

Invoice is found

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/invoice-by-number

Production

https://external.apis.enfore.com/erp/org/{org-id}/invoice-by-number

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "store_id": "string",
  • "register_id": "string",
  • "operator_id": "string",
  • "number": "string",
  • "transaction_date_and_time": "2025-05-19T12:14:59Z",
  • "issued_date_and_time": "2025-05-19T12:14:59Z",
  • "processed_date_and_time": "2025-05-19T12:14:59Z",
  • "customer_information":
    {
    },
  • "payer_information":
    {
    },
  • "invoice_address":
    {
    },
  • "total_gross_amount":
    {
    },
  • "total_net_amount":
    {
    },
  • "tax_amounts":
    [
    ],
  • "items":
    [
    ],
  • "payments":
    [
    ],
  • "discounts":
    [
    ],
  • "markups":
    [
    ],
  • "applied_discounts":
    [
    ],
  • "applied_markups":
    [
    ],
  • "has_loyalty_program_data": false,
  • "has_external_promotion_program_data": false,
  • "sales_orders":
    [
    ],
  • "external_pricing_data": "string",
  • "additional_invoice_information":
    [
    ],
  • "void_reason":
    {
    }
}

Get a list of registered consumers for invoice events.

Retrieve all currently active event subscriptions.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Responses

200

List of registrations

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/invoice-subscriptions

Production

https://external.apis.enfore.com/erp/org/{org-id}/invoice-subscriptions

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

Register an event consumer with the API.

If the callback URL is already registered, we return the original subscription ID. We will continue attempting to send new items to registered subscriptions until they are deleted. In case we cannot reach the endpoint, we will apply an exponential backoff.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
callback_url
required
string <uri>

The callback URL where event notifications are to be delivered. It must be HTTPS to prevent man-in-the-middle attacks.

Responses

201

Registration of subscription successful (or already subscribed)

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

Callbacks

post<no summary>
post/org/{org-id}/invoice-subscriptions

Production

https://external.apis.enfore.com/erp/org/{org-id}/invoice-subscriptions

Request samples

Content type
application/json
Copy
Expand all Collapse all

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

Callback payload samples

Callback
POST: <no summary>
Content type
application/json
Copy
Expand all Collapse all
{
  • "org_id": "string",
  • "invoice":
    {
    },
  • "problems":
    []
}

Delete a subscription for invoices

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

subscription-id
required
string

ID of the subscription to delete

Responses

204

Subscription was successfully deleted

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/invoice-subscriptions/{subscription-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/invoice-subscriptions/{subscription-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Credit Memos

Credit memos are created whenever money is returned to a customer. They are usually created either by voiding a Sales Order (partially or fully) and represent the accounting/ledger-side view of the voiding.

Returns credit-memos

Returns credit memos for the specified interval, sorted in ascending order by their processed_date_and_time.

The caller should avoid huge offsets (greater 10000), because huge offsets are slow. We therefore recommend to use small intervals instead of huge ones, and use an outer loop that iterates over the huge interval in smaller pieces, like weeks, days or hours instead of months or years. It is planned to limit the offset in the future to 10000.

Caution: limit is restricted to 50

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
from
required
string <date-time>

Defines the time starting from which objects are to be returned. Objects with exactly this date are also returned - this means that the start of a left-closed interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z

to
required
string <date-time>

Defines the time up to which objects are to be returned. Objects with exactly this date are not returned - this means that the end of a right-open interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z

limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 50. The real runtime maximum is 50 per request.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

CreditMemo information is successfully returned

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/credit-memos

Production

https://external.apis.enfore.com/erp/org/{org-id}/credit-memos

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

getCreditMemoById

Retrieve a given credit-memo by ID

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

memo-id
required
string

Responses

200

The credit-memo that was requested

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/credit-memos/{memo-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/credit-memos/{memo-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "store_id": "string",
  • "register_id": "string",
  • "operator_id": "string",
  • "number": "string",
  • "transaction_date_and_time": "2025-05-19T12:14:59Z",
  • "issued_date_and_time": "2025-05-19T12:14:59Z",
  • "processed_date_and_time": "2025-05-19T12:14:59Z",
  • "customer_information":
    {
    },
  • "payer_information":
    {
    },
  • "invoice_address":
    {
    },
  • "total_gross_amount":
    {
    },
  • "total_net_amount":
    {
    },
  • "tax_amounts":
    [
    ],
  • "items":
    [
    ],
  • "payments":
    [
    ],
  • "applied_discounts":
    [
    ],
  • "applied_markups":
    [
    ],
  • "has_loyalty_program_data": false,
  • "has_external_promotion_program_data": false,
  • "invoices":
    [
    ],
  • "sales_orders":
    [
    ],
  • "void_reason":
    {
    },
  • "reasons":
    [
    ]
}

getCreditMemoLoyaltyProgramData

Retrieve loyalty program data for a credit-memo

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

memo-id
required
string

Responses

200

The loyalty program data for the credit-memo

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/credit-memos/{memo-id}/loyalty-program-data

Production

https://external.apis.enfore.com/erp/org/{org-id}/credit-memos/{memo-id}/loyalty-program-data

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

getCreditMemoExternalPromotionProgramData

Retrieve EPP data for a credit-memo

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

memo-id
required
string

Responses

200

The EPP data for the credit-memo

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/credit-memos/{memo-id}/external-promotion-program-data

Production

https://external.apis.enfore.com/erp/org/{org-id}/credit-memos/{memo-id}/external-promotion-program-data

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

getCreditMemoDownloadUrl

Retrieve a download url by given credit memo ID

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

memo-id
required
string

Responses

200

The download url that was requested

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/credit-memos/{memo-id}/download

Production

https://external.apis.enfore.com/erp/org/{org-id}/credit-memos/{memo-id}/download

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "download_url": "string"
}

Fetch a credit memo by its number

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
number
required
string

Responses

200

CreditMemo is found

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/credit-memo-by-number

Production

https://external.apis.enfore.com/erp/org/{org-id}/credit-memo-by-number

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "store_id": "string",
  • "register_id": "string",
  • "operator_id": "string",
  • "number": "string",
  • "transaction_date_and_time": "2025-05-19T12:14:59Z",
  • "issued_date_and_time": "2025-05-19T12:14:59Z",
  • "processed_date_and_time": "2025-05-19T12:14:59Z",
  • "customer_information":
    {
    },
  • "payer_information":
    {
    },
  • "invoice_address":
    {
    },
  • "total_gross_amount":
    {
    },
  • "total_net_amount":
    {
    },
  • "tax_amounts":
    [
    ],
  • "items":
    [
    ],
  • "payments":
    [
    ],
  • "applied_discounts":
    [
    ],
  • "applied_markups":
    [
    ],
  • "has_loyalty_program_data": false,
  • "has_external_promotion_program_data": false,
  • "invoices":
    [
    ],
  • "sales_orders":
    [
    ],
  • "void_reason":
    {
    },
  • "reasons":
    [
    ]
}

Get a list of registered consumers for credit memo events.

Retrieve all currently active event subscriptions.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Responses

200

List of registrations

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/credit-memo-subscriptions

Production

https://external.apis.enfore.com/erp/org/{org-id}/credit-memo-subscriptions

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

Register an event consumer with the API.

If the callback URL is already registered, we return the original subscription ID. We will continue attempting to send new items to registered subscriptions until they are deleted. In case we cannot reach the endpoint, we will apply an exponential backoff.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
callback_url
required
string <uri>

The callback URL where event notifications are to be delivered. It must be HTTPS to prevent man-in-the-middle attacks.

Responses

201

Registration of subscription successful (or already subscribed)

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

Callbacks

post<no summary>
post/org/{org-id}/credit-memo-subscriptions

Production

https://external.apis.enfore.com/erp/org/{org-id}/credit-memo-subscriptions

Request samples

Content type
application/json
Copy
Expand all Collapse all

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

Callback payload samples

Callback
POST: <no summary>
Content type
application/json
Copy
Expand all Collapse all
{
  • "org_id": "string",
  • "credit_memo":
    {
    },
  • "problems":
    []
}

Delete a subscription for credit memos

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

subscription-id
required
string

ID of the subscription to delete

Responses

204

Subscription was successfully deleted

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/credit-memo-subscriptions/{subscription-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/credit-memo-subscriptions/{subscription-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Payments

getPaymentById

Retrive a given payment by its ID

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

payment-id
required
string

ID of the payment to act upon

Responses

200

The payment that was requested

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/payments/{payment-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/payments/{payment-id}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "@type": "GenericPaymentDetails",
  • "id": "string",
  • "method": "CASH",
  • "amount":
    {
    },
  • "timestamp": "2025-05-19T12:14:59Z",
  • "register_id": "string",
  • "operator_id": "string"
}

DATEV Export

Lets you export the content of the account in DATEV format

Deprecated — Export account information in DATEV Format

Returns the exported content in DATEV format to the given contact's email address

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
from
required
string <date-time>

Defines the time starting from which objects are to be returned. Objects with exactly this date are also returned - this means that the start of a left-closed interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z

to
required
string <date-time>

Defines the time up to which objects are to be returned. Objects with exactly this date are not returned - this means that the end of a right-open interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z

contact_id
required
string

IndividualContact Identifier who will receive the exported content by email

Responses

203

No content for a successful response

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/datev-export/email

Production

https://external.apis.enfore.com/erp/org/{org-id}/datev-export/email

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Export account information in DATEV Format

Returns the exported content in DATEV format to the given contact's email address

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
contact_id
required
string [ 1 .. 256 ] characters

The contact ID in the organisation to whom the export should be dispatched.

from
required
string <date>
to
required
string <date>

Responses

204

No content for a successful response

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

post/org/{org-id}/datev-export/email

Production

https://external.apis.enfore.com/erp/org/{org-id}/datev-export/email

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "contact_id": "string",
  • "from": "2025-05-19",
  • "to": "2025-05-19"
}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Operations Batches

Retrieve an "upload URL" for uploading the ZIP file for an operations batch

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Responses

200

The upload URL that was requested

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

get/org/{org-id}/operations-batches/upload-url

Production

https://external.apis.enfore.com/erp/org/{org-id}/operations-batches/upload-url

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Operations Batches: Valid from-prices

The "Valid from"-price updates batch supports two types of operations as its payload:

  • ProductValidFromPriceUpdate - Update (or remove) the list of "valid from"-base prices for a product
  • ProductSalesChannelValidFromPriceUpdate - Update (or remove) the list of channel-specific "valid from"-prices for a product

ProductValidFromPriceUpdate

@type
required
string
Value: "ProductValidFromPriceUpdate"
operation_id
required
string [ 1 .. 256 ] characters
product
required
object (ProductReference)
price_list
object (ValidFromPricesList)
Copy
Expand all Collapse all
{
  • "@type": "ProductValidFromPriceUpdate",
  • "operation_id": "string",
  • "product":
    {
    },
  • "price_list":
    {
    }
}

ProductSalesChannelValidFromPriceUpdate

@type
required
string
Value: "ProductSalesChannelValidFromPriceUpdate"
operation_id
required
string [ 1 .. 256 ] characters
product
required
object (ProductReference)
sales_channel
required
object (SalesChannelReference)
price_list
object (ValidFromPricesList)
Copy
Expand all Collapse all
{
  • "@type": "ProductSalesChannelValidFromPriceUpdate",
  • "operation_id": "string",
  • "product":
    {
    },
  • "sales_channel":
    {
    },
  • "price_list":
    {
    }
}

Create a new '"valid from"-price update' operations batch

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
string <uri>

Responses

201

Batch successfully created

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

post/org/{org-id}/operations-batches/valid-from-prices-update

Production

https://external.apis.enfore.com/erp/org/{org-id}/operations-batches/valid-from-prices-update

Request samples

Content type
application/json
Copy
Expand all Collapse all

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "status": "IN_PROCESSING",
  • "type": "VALID_FROM_PRICE_UPDATE"
}

Retrieve a '"valid from"-price update' operations batch

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

batch-id
required
string

ID of the operations batch to act upon

Responses

200

The batch that was requested

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

get/org/{org-id}/operations-batches/valid-from-prices-update/{batch-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/operations-batches/valid-from-prices-update/{batch-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "status": "IN_PROCESSING",
  • "type": "VALID_FROM_PRICE_UPDATE"
}

Load the list of failures of the '"valid from"-price update' operations batch

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

batch-id
required
string

ID of the operations batch to act upon

query Parameters
limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

Responses

200

List of failures is successfully returned

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

get/org/{org-id}/operations-batches/valid-from-prices-update/{batch-id}/failures

Production

https://external.apis.enfore.com/erp/org/{org-id}/operations-batches/valid-from-prices-update/{batch-id}/failures

Response samples

Content type
application/json
Copy
Expand all Collapse all
{}

Products: External ID Mapping

DEPRECATED All routes that are related to product external to internal ID mappings.

Get the mappings of internal to external IDs for products. Deprecated

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Responses

200

The mapping of internal to external IDs for products.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/product-id-mapping

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-id-mapping

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ]
}

Upsert the mappings from internal to external IDs for products Deprecated

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Request Body schema: application/json
items
required
Array of objects (IDMapping)

The mapping of internal to external ID

Responses

200

The mapping of internal to external IDs for products.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/product-id-mapping

Production

https://external.apis.enfore.com/erp/org/{org-id}/product-id-mapping

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ]
}

Get the mapping of internal to external IDs for products. Deprecated

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

external-id
required
string

External ID for which an internal ID should be returned.

Responses

200

The internal ID for the given external ID of a product.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/id-from-external-id/{external-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/id-from-external-id/{external-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "internal": "string",
  • "external": "string"
}

Load a product by its external ID Deprecated

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

external-id
required
string

External ID for which an internal ID should be returned.

Responses

200

Product is successfully returned

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/products/external-id/{external-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/external-id/{external-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "type": "INVENTORY_PRODUCT",
  • "name": "string",
  • "external_id": "string",
  • "sales_types":
    [
    ],
  • "variant_group_id": "string",
  • "article_id": "string",
  • "management_unit": "ENERGY_JOULES",
  • "alternative_units":
    [
    ],
  • "sales_quantity":
    {
    },
  • "enabled_sales_quantity_sources":
    [
    ],
  • "sales_price_and_quantity":
    {
    },
  • "enabled_sales_price_sources":
    [
    ],
  • "reference_price_quantity":
    {
    },
  • "reference_price_conversion_quantity":
    {
    },
  • "block_sales": true,
  • "exclude_from_discounts": true,
  • "disable_manual_sales_price_adjustment": false,
  • "maximum_manual_price_per_unit":
    {
    },
  • "product_identifiers":
    [
    ],
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "custom_workflow_config":
    {},
  • "sales_category": "string",
  • "brand": "string",
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "track_inventory": false,
  • "manufacturer": "string",
  • "lot_configuration":
    {
    },
  • "extra_charge_type": "DEPOSIT",
  • "intended_use":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "manual_rough_stock_indicator": "RED",
  • "product_details_configuration_id": "string",
  • "sold_on_behalf_of": "string"
}

Update or create a product addressed by its external ID Deprecated

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

external-id
required
string

External ID for which an internal ID should be returned.

Request Body schema: application/json
name
required
string [ 1 .. 256 ] characters

The name of the product.

external_id
string [ 1 .. 256 ] characters
Deprecated

An identifier for use by the external system. Can also be used to address the product via the "/products/external-id/{external-id}" resource.

sales_types
Array of strings (ProductSalesType)
Items Enum: "OTC" "PICKUP" "DELIVERY"
variant_group_id
string [ 1 .. 256 ] characters

The ID of the variant group this product belongs to.

article_id
string [ 1 .. 256 ] characters

The identifier by which the article is addressed by the business when communicating internally or with customers or suppliers.

Once specified, the article ID cannot be modified anymore. Otherwise, business documents such as invoices or packaging lists created at different points in time may list the same article ID for different products.

management_unit
required
string (UnitOfMeasure)
Enum: "ENERGY_JOULES" "ENERGY_GIGAJOULES" "ENERGY_MEGAJOULES" "ENERGY_KILOJOULES" "ENERGY_CENTIJOULES" "ENERGY_MILLIJOULES" "ENERGY_MICROJOULES" "ENERGY_CALORIES" "ENERGY_KILOCALORIES" "ENERGY_WATTHOURS" "ENERGY_GIGAWATTHOURS" "ENERGY_MEGAWATTHOURS" "ENERGY_KILOWATTHOURS" "ENERGY_CENTIWATTHOURS" "ENERGY_MILLIWATTHOURS" "ENERGY_MICROWATTHOURS" "LENGTH_KILOMETERS" "LENGTH_METERS" "LENGTH_DECIMETERS" "LENGTH_CENTIMETERS" "LENGTH_MILLIMETERS" "LENGTH_POINTS" "LENGTH_INCHES" "LENGTH_FEET" "LENGTH_YARDS" "MASS_TONS" "MASS_KILOGRAMS" "MASS_GRAMS" "MASS_MILLIGRAMS" "MASS_POUNDS" "QUANTITY_PIECES" "TIME_SECONDS" "TIME_MINUTES" "TIME_HOURS" "TIME_DAYS" "TIME_WEEKS" "DIGITALINFORMATION_BYTES" "DIGITALINFORMATION_KILOBYTES" "DIGITALINFORMATION_KIBIBYTES" "DIGITALINFORMATION_MEGABYTES" "DIGITALINFORMATION_MEBIBYTES" "DIGITALINFORMATION_GIGABYTES" "DIGITALINFORMATION_GIBIBYTES" "DIGITALINFORMATION_TERABYTES" "DIGITALINFORMATION_TEBIBYTES" "DIGITALINFORMATION_PETABYTES" "DIGITALINFORMATION_PEBIBYTES" "TIME_MONTHS" "TIME_YEARS" "VOLUME_CUBIC_MILLIMETERS" "VOLUME_CUBIC_CENTIMETERS" "VOLUME_CUBIC_DECIMETERS" "VOLUME_CUBIC_METERS" "VOLUME_MILLILITERS" "VOLUME_CENTILITERS" "VOLUME_DECILITERS" "VOLUME_LITERS" "VOLUME_HECTOLITERS" "VOLUME_FLUID_OUNCES" "VOLUME_PINTS" "VOLUME_QUARTS" "VOLUME_GALLONS" "VOLUME_BARRELS"

Describes a unit of measure. Commonly uses as part of Quantity values.

alternative_units
Array of objects (AlternativeUnit)

Definition of alternative units for the product.

Alternative units define quantities of the product than can be used as a "unit" in business operations (e.g., GoodsIns) related to the produt. The "unit" is then multiplied by a "number of units" to determine the total quantity affected by the operation.

sales_quantity
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

enabled_sales_quantity_sources
Array of strings (SalesQuantitySource)
Items Enum: "NONE" "API" "MANUAL" "BARCODE"

The list of sources where the sales quantityunit of the resource is allowed to come from.

For example, when the set is [ BARCODE, MANUAL ], the sales quantity can be scanned from a barcode or entered manually but not provided via API.

When not set/empty, the platform defaults to:

  • [ API ] for resources tracked in a UnitOfQuantity
  • [ API, MANUAL ] for resources tracked in any unit of measure other than UnitOfQuantity
sales_price_and_quantity
object (ProductSalesPriceAndQuantity)

The set of information defining the sales price of a product.

This is very similar to ProductPriceAndQuantity (from "shared") with the addition of an optional take-away price (via take_away_price).

When a product has a take_away_price and is sold as "take-away", that price is used instead of the regular price. When the product does not have a take_away_price, the price is used even when the product is sold as "take-away".

enabled_sales_price_sources
Array of strings (SalesPriceSource)
Items Enum: "NONE" "API" "MANUAL" "BARCODE"

The list of sources where the sales price of the resource is allowed to come from.

For example, when the set is [ BARCODE, API ], the sales price can be scanned from a barcode or provided via API but not entered manually.

When not set/empty, the platform defaults to:

  • [ API ] for resources where a sales price is configured (at resource or resource/channel)
  • [ API, MANUAL ] for resources where no sales price is configured
reference_price_quantity
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

reference_price_conversion_quantity
object (Quantity)

A Quantity represents a quantity value (i.e., a unit and an amount), for example "3 pcs" or "2.5 kg".

block_sales
boolean

If this optional flag is set to true, selling of the product is blocked.

exclude_from_discounts
boolean

If this optional flag is set to true, discounts are not applied to this product.

disable_manual_sales_price_adjustment
boolean
Default: false

Controls whether the sales price for the product can be manually modified when creating a sales order line item for the product.

maximum_manual_price_per_unit
object (Money)

A Money represents a monetary value (i.e., a currency and an amount), for example "120 EUR" or "2,500.75 USD".

product_identifiers
Array of objects (ProductIdentifier)

Additional identifiers such as GTIN or ASIN assigned to the product. Note that it is possible to have multiple identifiers of the same type.

tax_category
required
string (TaxCategory)
Enum: "STANDARD" "REDUCED" "REDUCED_SPECIAL" "REDUCED_TAKE_AWAY" "ACCOMMODATION" "NO_TAX"

Represents the locale-independent representation of a specific type of tax.

The category does not represent a specifix tax. This is needed as taxes are a) different depending on country (and sometimes even within a single country) and b) tax rates may change over time but the actual Tax objects must not change as they are referenced by existing invoices.

For example, the tax category STANDARD is mapped to currently mapped to "DE/19%" for Germany and to "UK/20%" for the UK. If Germany would increase the standard tax rate to 21%, the mapping for Germany would be updated, but the products would still use the same STANDARD category as before.

Additional factors may also influcence the mapping, for example the category REDUCED_TAKE_AWAY normally gets mapped to "DE/19%" for Germany. But when the sale is flagged as "to go", the category is mapped to "DE/7%" instead.

tax_exemption_reason
string (TaxExemptionReason)
Enum: "UNIVERSAL_POSTAL_SERVICE_DE" "INTRA_COMMUNITY_TRADE_EU" "THIRD_PARTY_COUNTRY_DELIVERY_EU" "REVERSE_CHARGE_EU" "INTER_COMPANY_SALE_EU"

Reasons for not applying tax on a product sale.

not_taxable
boolean
custom_workflow_config
object (ProductCustomWorkflowConfig)

Holds information about the custom workflows defined for a product and the line items of orders/invoices that reference the product.

sales_category
string [ 1 .. 256 ] characters

The ID of the sales category that the product belongs to.

brand
string [ 1 .. 256 ] characters

id of brand

variant_ranking_pKey
string

Optional string determining user-defined ordering among sibling variants.

browse_nodes
Array of strings

The IDs of the browse nodes that the product belongs to.

track_inventory
boolean
Default: false

Flag that specifies if inventory (per storage location) is tracked for the product.

manufacturer
string [ 1 .. 256 ] characters

The name of the manufacturer of the product.

lot_configuration
object (ProductLotConfiguration)

Defines that the product uses lots and provides the settings on how lots are used.

extra_charge_type
string (ExtraChargeType)
Enum: "DEPOSIT" "WRAPPING" "TRANSPORT_PACKAGING" "SHIPPING" "HANDLING" "OTHER" "NONE"

Defines the various types of extra charge supported by the platform. Extra charges are charged for the sale of other sales items (the "main" sales item so to speak).

  • DEPOSIT: Denotes a deposit that is "sold" when its main sales item is sold. The deposit item can be returned later and the extra charge is refunded. Examples for deposits are bottle deposits or returnable covering boxes. Deposits are taxed with the same tax rate as their main item.
  • WRAPPING: Denotes an extra charge for wrapping a single main sales item. This could be a shrink wrap or a non-returnable covering box. Wrapping extra charge resources are taxed with the same tax rate as their main item.
  • TRANSPORT_PACKAGING: Denotes a container used for the transport of one or several sales items. They are taxed with their own tax rate (usually full tax). They maybe returnable or non-returnable.
  • SHIPPING: Denotes a shipping fee for one or several sales items. They are taxed as the shipped sales items, in case the shipped items use different tax rates, more than one extra charge has to be used, each of them with the tax rate of the shipped items.
  • HANDLING: Denotes a handling fee for one or several sales items. They are taxed as the handled sales items, in case the handled items use different tax rates, more than one extra charge has to be used, each of them with the tax rate of the handled items.
  • OTHER: Any other extra charge not supported by the Enfore platform explicitly. They are taxed with their own tax rate (usually full tax).
intended_use
Array of strings (IntendedUse)
Items Enum: "SELL" "INTERNAL_USE" "SOURCE_MATERIAL" "PACKAGING_MATERIAL" "INVENTORY"
product_dimensions
object (PhysicalDimensions)
shipping_dimensions
object (PhysicalDimensions)
manual_rough_stock_indicator
string (RoughStockIndicator)
Enum: "RED" "ORANGE" "GREEN"
product_details_configuration_id
string [ 1 .. 256 ] characters

The ID of the product details configuration to use for the product.

sold_on_behalf_of
string [ 1 .. 256 ] characters

Sales can be made on behalf of someone else. In that case the merchant that executes the sale becomes an "agent" and the organization contact pointed to by "sold_on_behalf_of" the "principal" of the sale. If not present, the product is assumed to be sold on behalf of the merchant himself.

Responses

200

Product was successfully updated

201

Product was successfully created

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

put/org/{org-id}/products/external-id/{external-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/products/external-id/{external-id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "external_id": "string",
  • "sales_types":
    [
    ],
  • "variant_group_id": "string",
  • "article_id": "string",
  • "management_unit": "ENERGY_JOULES",
  • "alternative_units":
    [
    ],
  • "sales_quantity":
    {
    },
  • "enabled_sales_quantity_sources":
    [
    ],
  • "sales_price_and_quantity":
    {
    },
  • "enabled_sales_price_sources":
    [
    ],
  • "reference_price_quantity":
    {
    },
  • "reference_price_conversion_quantity":
    {
    },
  • "block_sales": true,
  • "exclude_from_discounts": true,
  • "disable_manual_sales_price_adjustment": false,
  • "maximum_manual_price_per_unit":
    {
    },
  • "product_identifiers":
    [
    ],
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "custom_workflow_config":
    {},
  • "sales_category": "string",
  • "brand": "string",
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "track_inventory": false,
  • "manufacturer": "string",
  • "lot_configuration":
    {
    },
  • "extra_charge_type": "DEPOSIT",
  • "intended_use":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "manual_rough_stock_indicator": "RED",
  • "product_details_configuration_id": "string",
  • "sold_on_behalf_of": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "type": "INVENTORY_PRODUCT",
  • "name": "string",
  • "external_id": "string",
  • "sales_types":
    [
    ],
  • "variant_group_id": "string",
  • "article_id": "string",
  • "management_unit": "ENERGY_JOULES",
  • "alternative_units":
    [
    ],
  • "sales_quantity":
    {
    },
  • "enabled_sales_quantity_sources":
    [
    ],
  • "sales_price_and_quantity":
    {
    },
  • "enabled_sales_price_sources":
    [
    ],
  • "reference_price_quantity":
    {
    },
  • "reference_price_conversion_quantity":
    {
    },
  • "block_sales": true,
  • "exclude_from_discounts": true,
  • "disable_manual_sales_price_adjustment": false,
  • "maximum_manual_price_per_unit":
    {
    },
  • "product_identifiers":
    [
    ],
  • "tax_category": "STANDARD",
  • "tax_exemption_reason": "UNIVERSAL_POSTAL_SERVICE_DE",
  • "not_taxable": true,
  • "custom_workflow_config":
    {},
  • "sales_category": "string",
  • "brand": "string",
  • "variant_ranking_pKey": "string",
  • "browse_nodes":
    [
    ],
  • "track_inventory": false,
  • "manufacturer": "string",
  • "lot_configuration":
    {
    },
  • "extra_charge_type": "DEPOSIT",
  • "intended_use":
    [
    ],
  • "product_dimensions":
    {
    },
  • "shipping_dimensions":
    {
    },
  • "manual_rough_stock_indicator": "RED",
  • "product_details_configuration_id": "string",
  • "sold_on_behalf_of": "string"
}

Lots: External ID Mapping

Get the mappings of internal to external IDs for lots.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

Responses

200

The mapping of internal to external IDs for lots.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/lot-id-mapping

Production

https://external.apis.enfore.com/erp/org/{org-id}/lot-id-mapping

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ]
}

Get the mapping of internal to external ID for a lot.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

external-id
required
string

External ID for which an internal ID should be returned.

Responses

200

The internal ID for the given external ID of a lot.

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

get/org/{org-id}/lot-id-mapping/{external-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/lot-id-mapping/{external-id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "internal": "string",
  • "external": "string"
}

Delete lots external ID mapping

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

external-id
required
string

External ID for which an internal ID should be returned.

Responses

204

Lot external ID mapping deleted

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

delete/org/{org-id}/lot-id-mapping/{external-id}

Production

https://external.apis.enfore.com/erp/org/{org-id}/lot-id-mapping/{external-id}

Response samples

Content type
application/problem+json
Copy
Expand all Collapse all
{}

Invoice Problems

Problems discovered in invoices like gaps and repetitions in invoice numbers

Iterate over invoice problems.

Returns invoice problems, filtered and ordered by last updated on.

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

query Parameters
from
required
string <date-time>

Defines the time starting from which objects are to be returned. Objects with exactly this date are also returned - this means that the start of a left-closed interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z

to
required
string <date-time>

Defines the time up to which objects are to be returned. Objects with exactly this date are not returned - this means that the end of a right-open interval is defined. Timestamp in UTC. The date-time notation as defined by RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt), section 5.6, with the "Z" as time-offset. For example, 2017-07-21T17:32:28.123Z

limit
integer <int64> [ 1 .. 5000 ]

Max number of objects to be returned per page. Note that both the items as well as the problems arrays of the query response count towards this number to allow a simple, consistent paging over all items (and problems) of a given timeframe. If not given, defaults to 200.

offset
integer <int64> >= 0

Offset of items and problems of where to start the next page. Similar to limit and offset in SQL, one would obtain the second page with limit=10&offset=10. Note that this paging with limit and offset is within a time interval that is specified with from and to. If not given, defaults to 0.

problem-type
string (InvoiceProblemType)
Enum: "NUMBER_GAP" "NUMBER_REPETITION"

When specified, only invoice problems of this type will be returned.

status
string (InvoiceProblemStatus)
Enum: "NEW" "IN_PROGRESS" "CLOSED"

When specified, only invoice problems on this status will be returned.

Responses

200

Data successfully returned

400

Invalid parameters were sent by the client

403

Credentials missing or not sufficient

get/org/{org-id}/invoice-problems

Production

https://external.apis.enfore.com/erp/org/{org-id}/invoice-problems

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ],
  • "problems":
    []
}

Change invoice problem status

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

invoice-problem-id
required
string

ID of the invoice problem to load or update

Request Body schema: application/json
status
required
string (InvoiceProblemStatus)
Enum: "NEW" "IN_PROGRESS" "CLOSED"

Enumeration of the supported invoice problem status.

Responses

200

InvoiceProblem is successfully updated

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

patch/org/{org-id}/invoice-problems/{invoice-problem-id}/status

Production

https://external.apis.enfore.com/erp/org/{org-id}/invoice-problems/{invoice-problem-id}/status

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "status": "NEW"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "stringstringstringstring",
  • "problem_name": "string",
  • "problem_type": "NUMBER_GAP",
  • "problem_status": "NEW",
  • "booking_period_id": "stringstringstringstring",
  • "associated_numbers":
    [
    ],
  • "related_invoice_ids":
    [
    ],
  • "comments":
    [
    ]
}

Add comment to invoice problem

path Parameters
org-id
required
string

ID of the organization whose data is being accessed.

invoice-problem-id
required
string

ID of the invoice problem to load or update

Request Body schema: application/json
comment
required
string [ 1 .. 256 ] characters

Problem comment.

Responses

200

InvoiceProblem is successfully updated

403

Credentials missing or not sufficient

404

Resource(s) not found or invalid identifier

422

Specified data is semantically incorrect.

502

Bad Gateway. Server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

patch/org/{org-id}/invoice-problems/{invoice-problem-id}/comment

Production

https://external.apis.enfore.com/erp/org/{org-id}/invoice-problems/{invoice-problem-id}/comment

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "comment": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "stringstringstringstring",
  • "problem_name": "string",
  • "problem_type": "NUMBER_GAP",
  • "problem_status": "NEW",
  • "booking_period_id": "stringstringstringstring",
  • "associated_numbers":
    [
    ],
  • "related_invoice_ids":
    [
    ],
  • "comments":
    [
    ]
}