Overview
This guide explains which fields of thePOST /orders request body are mandatory, optional or conditional, depending on the contract type (B2C or B2B), the contract reason (supplier change or move-in) and the payment method.
A field can be needed at one of two stages:
Field Requirement Levels
1. Top-Level Fields
2. User Account (userAccount)
3. Contract (contract)
3.1 Contract Top-Level
Read-only fields of the contract object (
number, state, deliveryState, validFromDate, validToDate) are populated by RABOT and should not be transmitted when creating an order.3.2 Delivery Address (contract.deliveryAddress)
3.3 Billing Address (contract.billingAddress)
3.4 Bank Details (contract.bankDetails)
The bankDetails object determines the payment method.
4. Delivery Details (contract.deliveryDetails)
4.1 Meter, Location & Grid Operator Identifiers
4.2 Contract Reason
The date fields and the previous supplier depend on the contract reason.
If contractReason = ChangeOfSupplier (Supplier Switch)
If contractReason = NewDeliveryLocation (Move-In)
4.3 Consumption
4.4 Capabilities (contract.deliveryDetails.capabilities)
4.5 BDEW Code of the Grid Operator
bdewCode identifies the grid operator (Netzbetreiber) serving the delivery point. It is distinct from previousSupplierCode, which identifies the customerβs previous electricity supplier.
5. Agreements (contract.agreements)
6. Response Messages
A successful response returns thecustomerNumber and contractNumber. It can also include a messages array of non-fatal advisory messages. These do not mean the order failed, but you should log them and review them.
The
messages array is omitted when there are no messages.