Resources API v1 (GA)¶
BankAccounts¶
Query information about bank accounts.
Get¶
Validate the IBAN and look up the corresponding bank.
Input: BankAccountRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant to query for. | |
*iban¶ | string | The International Bank Account Number. |
InvalidIbanSyntaxError¶
The provided IBAN does not fit into the IBAN syntax.
InvalidIbanUnknownBankError¶
The system could not find a known bank using the provided IBAN.
Cities¶
City lookup for address auto-completion.
List¶
List all known cities for a postal code.
Input: CityListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant to query for. | |
*region¶ | string | The region the cities are located in as a CLDR region code. | |
*postal_code¶ | string | A postal code of the city (a city may have more than one). Example: 76131 for Karlsruhe inner city |
Output: CityList¶
Field | Type | Rules | Description |
---|---|---|---|
cities¶ | City | repeated | The requested cities. |
City¶
Field | Type | Rules | Description |
---|---|---|---|
canonical_name¶ | string | The canonical name of the city. Example: Karlsruhe |
ContractAnnotations¶
Manage annotations on contracts.
Add¶
Add an annotation to a specific contract.
Input: ContractAnnotationAddRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the annotation belongs to. | |
*contract_annotation¶ | ContractAnnotation | The annotation which should be added to the contract. |
Output: ContractAnnotation¶
Field | Type | Rules | Description |
---|---|---|---|
tenant¶ | string | output only | The tenant the annotation belongs to Output only. |
id¶ | string | output only | The ID of the annotation. Output only. |
*contract¶ | string | immutable | The ID of the contract this annotation belongs to. |
*type¶ | ContractAnnotation.AnnotationType | immutable | The type of the annotation. |
*subject¶ | string | immutable | The subject of the annotation. |
*note¶ | string | immutable | The note of the annotation. |
Get¶
Get a specific annotation for a specific contract.
Input: ContractAnnotationRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the annotation belongs to. | |
*id¶ | string | The annotation's ID this request is targeting. | |
*contract¶ | string | The contract ID the annotation belongs to. |
Output: ContractAnnotation¶
Field | Type | Rules | Description |
---|---|---|---|
tenant¶ | string | output only | The tenant the annotation belongs to Output only. |
id¶ | string | output only | The ID of the annotation. Output only. |
*contract¶ | string | immutable | The ID of the contract this annotation belongs to. |
*type¶ | ContractAnnotation.AnnotationType | immutable | The type of the annotation. |
*subject¶ | string | immutable | The subject of the annotation. |
*note¶ | string | immutable | The note of the annotation. |
List¶
List all annotations for a specific contract.
Input: ContractAnnotationListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the contract belongs to. | |
page_size¶ | int32 | The maximum number of items to return. 0 for default. | |
page_token¶ | string | The next_page_token value returned from a previous List request, if any. | |
*contract¶ | string | The contract ID for annotation lookup. |
Output: ContractAnnotationList¶
Field | Type | Rules | Description |
---|---|---|---|
contract_annotations¶ | ContractAnnotation | repeated | The requested annotations. |
next_page_token¶ | string | Token to retrieve the next page of results, or empty if there are no more results in the list. |
ContractAnnotation.AnnotationType¶
Name | Number | Description |
---|---|---|
ANNOTATION_TYPE_UNSPECIFIED | 0 | The annotation type is unspecified. |
NOTE | 1 | The annotation is a note. |
PHONE | 2 | The annotation correlates to a phone call. |
3 | The annotation correlates to a mail. |
ContractBilling¶
Manage billing details for contracts.
GetContact¶
Get the current contact for a specific contract.
SetContact¶
Change the contact for a specific contract.
Input: ContractBillingSetContactRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the billing-contact belongs to. | |
*contract¶ | string | The contract ID the billing-contact belongs to. | |
*contact¶ | enpowerx.types.Contact | The desired contact. |
SetAllContacts¶
Change the contact for all contracts of a specific customer.
Input: ContractBillingSetAllContactsRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the billing-contact belongs to. | |
*customer¶ | string | The customer ID the billing-contact belongs to. | |
*contact¶ | enpowerx.types.Contact | The desired contact. |
GetMyContact¶
Get the current contact for a specific contract of the current customer (identity from OAuth token).
SetMyContact¶
Change the contact for a specific contract of the current customer (identity from OAuth token).
Input: ContractBillingSetContactRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the billing-contact belongs to. | |
*contract¶ | string | The contract ID the billing-contact belongs to. | |
*contact¶ | enpowerx.types.Contact | The desired contact. |
SetAllMyContacts¶
Change the contact for all contracts of the current customer (identity from OAuth token).
Input: ContractBillingSetAllMyContactsRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the billing-contact belongs to. | |
*contact¶ | enpowerx.types.Contact | The desired contact. |
GetPayment¶
Get the current payment details for a specific contract.
Output: ContractPayment¶
Field | Type | Rules | Description |
---|---|---|---|
*payment_method¶ | enpowerx.types.PaymentMethod | The payment method. | |
bank_account¶ | enpowerx.types.BankAccount | The bank account used if payment_method is DIRECT_DEBIT . |
SetPayment¶
Change the payment details for a specific contract.
Input: ContractBillingSetPaymentRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the billing-contact belongs to. | |
*contract¶ | string | The contract ID the billing-contact belongs to. | |
*payment¶ | ContractPayment | The desired payment. |
SetAllPayments¶
Change the payment details for all contracts of a specific customer.
Input: ContractBillingSetAllPaymentsRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the billing-contact belongs to. | |
*customer¶ | string | The customer ID the billing-contact belongs to. | |
*payment¶ | ContractPayment | The desired payment. |
GetMyPayment¶
Get the current payment details for a specific contract of the current customer (identity from OAuth token).
Output: ContractPayment¶
Field | Type | Rules | Description |
---|---|---|---|
*payment_method¶ | enpowerx.types.PaymentMethod | The payment method. | |
bank_account¶ | enpowerx.types.BankAccount | The bank account used if payment_method is DIRECT_DEBIT . |
SetMyPayment¶
Change the payment details for a specific contract of the current customer (identity from OAuth token).
Input: ContractBillingSetPaymentRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the billing-contact belongs to. | |
*contract¶ | string | The contract ID the billing-contact belongs to. | |
*payment¶ | ContractPayment | The desired payment. |
SetAllMyPayments¶
Change the payment details for all contracts of the current customer (identity from OAuth token).
Input: ContractBillingSetAllMyPaymentsRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the billing-contact belongs to. | |
*payment¶ | ContractPayment | The desired payment. |
ContractCommunicationPreferences¶
Manage contract-related communication preferences (e.g., invoices via email or letter).
Get¶
Retrieve the current communication preference for a specific contract.
Output: ContractCommunicationPreference¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant of the contract. |
*contract¶ | string | immutable | The ID of the contract. |
*transactional_channel¶ | enpowerx.types.CommunicationChannel | The preferred channel for transactional messages. Must be either LETTER or EMAIL . |
Set¶
Set the communication preference for a specific contract.
Input: ContractCommunicationPreference¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant of the contract. |
*contract¶ | string | immutable | The ID of the contract. |
*transactional_channel¶ | enpowerx.types.CommunicationChannel | The preferred channel for transactional messages. Must be either LETTER or EMAIL . |
GetMine¶
Retrieve the current communication preference for a specific contract of the current customer (identity from OAuth token).
Output: ContractCommunicationPreference¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant of the contract. |
*contract¶ | string | immutable | The ID of the contract. |
*transactional_channel¶ | enpowerx.types.CommunicationChannel | The preferred channel for transactional messages. Must be either LETTER or EMAIL . |
SetMine¶
Set the communication preference for a specific contract of the current customer (identity from OAuth token).
Input: ContractCommunicationPreference¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant of the contract. |
*contract¶ | string | immutable | The ID of the contract. |
*transactional_channel¶ | enpowerx.types.CommunicationChannel | The preferred channel for transactional messages. Must be either LETTER or EMAIL . |
ContractInstallments¶
Manage installments for contracts.
Get¶
Get the current installment for a specific contract.
Output: ContractInstallmentResponse¶
Field | Type | Rules | Description |
---|---|---|---|
*current¶ | ContractInstallment | The currently active installment. | |
pending¶ | ContractInstallment | An optional pending installment that will replace the current one in the future. | |
*minimum_amount¶ | google.type.Money | The minimum possible installment. | |
*maximum_amount¶ | google.type.Money | The maximum possible installment. |
Set¶
Change the installment for a specific contract.
Input: ContractInstallmentChangeRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the installment belongs to. | |
*contract¶ | string | The contract ID the installment belongs to. | |
*amount¶ | google.type.Money | The desired installment amount. |
GetMine¶
Get the current installment for a specific contract of the current customer (identity from OAuth token).
Output: ContractInstallmentResponse¶
Field | Type | Rules | Description |
---|---|---|---|
*current¶ | ContractInstallment | The currently active installment. | |
pending¶ | ContractInstallment | An optional pending installment that will replace the current one in the future. | |
*minimum_amount¶ | google.type.Money | The minimum possible installment. | |
*maximum_amount¶ | google.type.Money | The maximum possible installment. |
SetMine¶
Change the installment for a specific contract of the current customer (identity from OAuth token).
Input: ContractInstallmentChangeRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the installment belongs to. | |
*contract¶ | string | The contract ID the installment belongs to. | |
*amount¶ | google.type.Money | The desired installment amount. |
ContractInstallment¶
Field | Type | Rules | Description |
---|---|---|---|
amount¶ | google.type.Money | The installment amount. | |
start_date¶ | google.type.Date | The date when the installment starts. | |
end_date¶ | google.type.Date | The date when the installment ends. | |
next_due_date¶ | google.type.Date | The next due date of the installment. |
Contracts¶
Manage contracts.
Get¶
Get a specific contract.
Input: ContractRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the contract belongs to. | |
*id¶ | string | The contract's ID this request is targeting. |
Output: Contract¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the contract belongs to. |
*id¶ | string | immutable | The contract's ID in the tenant's scope. |
*state¶ | Contract.State | The current state of the contract. | |
cancellation_reason¶ | ContractCancellationReason | output only | The reason for the contract cancellation. |
*customer¶ | string | The ID of the customer this contract belongs to. | |
*delivery¶ | enpowerx.types.EnergyDelivery | Which kind and amount of energy is to be delivered to where. | |
*billing¶ | enpowerx.types.Billing | The billing details. | |
*meter_number¶ | string | The current meter number. | |
start_date¶ | google.type.Date | output only | The start date of the contract. |
end_date¶ | google.type.Date | output only | The end date of the terminated contract. |
minimum_duration¶ | enpowerx.types.Duration | output only | The minimum duration of the contract. |
cancellation_period¶ | enpowerx.types.Duration | output only | The cancellation period of the contract. |
next_cancellation_date¶ | google.type.Date | output only | The next date when a cancellation can take place. |
renewal_period¶ | enpowerx.types.Duration | output only | The renewal period of the contract. |
is_relocatable¶ | bool | output only | The contract can be relocated. |
previous_contract¶ | string | output only | The id of the previous contract, if contract was relocated. |
next_invoice¶ | google.type.Date | output only | The expected next invoice. |
tariff¶ | Tariff | output only | The tariff this contract is for. |
future_tariff¶ | Tariff | output only | The future tariff of this contract |
List¶
List contracts with optional filters.
Input: ContractListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the contract belongs to. | |
page_size¶ | int32 | The maximum number of items to return. 0 for default. | |
page_token¶ | string | The next_page_token value returned from a previous List request, if any. | |
filter¶ | ContractListFilter | The filter to be applied on all contracts. |
Output: ContractList¶
Field | Type | Rules | Description |
---|---|---|---|
contracts¶ | Contract | repeated | The requested contracts. |
next_page_token¶ | string | Token to retrieve the next page of results, or empty if there are no more results in the list. |
GetBilling¶
Get billing details of a specific contract.
Input: ContractRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the contract belongs to. | |
*id¶ | string | The contract's ID this request is targeting. |
SetBilling¶
Update billing details of a specific contract.
Input: ContractSetBillingRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | Deprecated. The tenant the contract belongs to. | |
*id¶ | string | Deprecated. The contract's ID in the tenant's scope. | |
*billing¶ | enpowerx.types.Billing | Deprecated. The billing details. |
ChangeProduct¶
Change the product for a specific contract.
Input: ContractProductChangeRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the contract belongs to. | |
*id¶ | string | The contract's ID this request is targeting. | |
*product¶ | enpowerx.types.ScheduledRequest | The new product. | |
campaign¶ | string | Optional override for the default campaign. |
Cancel¶
Cancel a specific contract.
Input: ContractCancelRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the contract belongs to. | |
*id¶ | string | The contract's ID this request is targeting. | |
*cancellation_reason¶ | ContractCancellationReason | The reason for the contract cancellation. | |
due_date¶ | google.type.Date | The date the cancellation shall take place. Waits until the end of the contract period if unset. |
ListMine¶
List contracts for the current customer (identity from OAuth token).
Input: ContractListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the contract belongs to. | |
page_size¶ | int32 | The maximum number of items to return. 0 for default. | |
page_token¶ | string | The next_page_token value returned from a previous List request, if any. | |
filter¶ | ContractListFilter | The filter to be applied on all contracts. |
Output: ContractList¶
Field | Type | Rules | Description |
---|---|---|---|
contracts¶ | Contract | repeated | The requested contracts. |
next_page_token¶ | string | Token to retrieve the next page of results, or empty if there are no more results in the list. |
GetMine¶
Get a specific contract for the current customer (identity from OAuth token).
Input: ContractRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the contract belongs to. | |
*id¶ | string | The contract's ID this request is targeting. |
Output: Contract¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the contract belongs to. |
*id¶ | string | immutable | The contract's ID in the tenant's scope. |
*state¶ | Contract.State | The current state of the contract. | |
cancellation_reason¶ | ContractCancellationReason | output only | The reason for the contract cancellation. |
*customer¶ | string | The ID of the customer this contract belongs to. | |
*delivery¶ | enpowerx.types.EnergyDelivery | Which kind and amount of energy is to be delivered to where. | |
*billing¶ | enpowerx.types.Billing | The billing details. | |
*meter_number¶ | string | The current meter number. | |
start_date¶ | google.type.Date | output only | The start date of the contract. |
end_date¶ | google.type.Date | output only | The end date of the terminated contract. |
minimum_duration¶ | enpowerx.types.Duration | output only | The minimum duration of the contract. |
cancellation_period¶ | enpowerx.types.Duration | output only | The cancellation period of the contract. |
next_cancellation_date¶ | google.type.Date | output only | The next date when a cancellation can take place. |
renewal_period¶ | enpowerx.types.Duration | output only | The renewal period of the contract. |
is_relocatable¶ | bool | output only | The contract can be relocated. |
previous_contract¶ | string | output only | The id of the previous contract, if contract was relocated. |
next_invoice¶ | google.type.Date | output only | The expected next invoice. |
tariff¶ | Tariff | output only | The tariff this contract is for. |
future_tariff¶ | Tariff | output only | The future tariff of this contract |
GetMyBilling¶
Get billing details of for the current customer (identity from OAuth token).
Input: ContractRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the contract belongs to. | |
*id¶ | string | The contract's ID this request is targeting. |
SetMyBilling¶
Update billing details of a specific contract for the current customer (identity from OAuth token).
Input: ContractSetBillingRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | Deprecated. The tenant the contract belongs to. | |
*id¶ | string | Deprecated. The contract's ID in the tenant's scope. | |
*billing¶ | enpowerx.types.Billing | Deprecated. The billing details. |
ChangeMyProduct¶
Change the product for a specific contract for the current customer (identity from OAuth token).
Input: ContractProductChangeRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the contract belongs to. | |
*id¶ | string | The contract's ID this request is targeting. | |
*product¶ | enpowerx.types.ScheduledRequest | The new product. | |
campaign¶ | string | Optional override for the default campaign. |
GetAvailableTariffs¶
Get all available tariffs to change an existing contract to.
Input: ContractRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the contract belongs to. | |
*id¶ | string | The contract's ID this request is targeting. |
Output: AvailableTariffList¶
Field | Type | Rules | Description |
---|---|---|---|
tariffs¶ | AvailableTariff | repeated | The available tariffs. |
GetMyAvailableTariffs¶
Get all available tariffs to change an existing contract to for the current customer.
Input: ContractRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the contract belongs to. | |
*id¶ | string | The contract's ID this request is targeting. |
Output: AvailableTariffList¶
Field | Type | Rules | Description |
---|---|---|---|
tariffs¶ | AvailableTariff | repeated | The available tariffs. |
AvailableTariff¶
Field | Type | Rules | Description |
---|---|---|---|
*product_code¶ | string | Product code of the tariff. | |
*display_name¶ | string | Name of the tariff. |
ContractListFilter¶
Field | Type | Rules | Description |
---|---|---|---|
field_mask¶ | google.protobuf.FieldMask | The field mask used to mark fields which shall be respected for the filter. | |
customer¶ | string | The customer to filter contracts for. |
FailedPreconditionTariffChangeNotAllowedForContractError¶
Changing tariff is for the provided contract currently not allowed.
Contract.State¶
Name | Number | Description |
---|---|---|
STATE_UNSPECIFIED | 0 | The contract state is unspecified. |
OPEN | 1 | The contract is new and awaiting further processing. |
TERMINATING_PREVIOUS_PROVIDER | 2 | In the process of terminating the customer's contract with their previous provider. |
WAITING_FOR_NETWORK_PROVIDER | 3 | Waiting for acknowledgment from the network provider. |
WAITING_FOR_SUPPLY | 4 | Waiting for power supply to start. |
ACTIVE | 5 | The contract is active. |
BLOCKED | 6 | The contract is blocked. |
TERMINATION_REQUESTED | 7 | Contract termination has been requested |
TERMINATED | 8 | Contract has been terminated. |
CANCELLED | 10 | The contract was cancelled. |
ContractCancellationReason¶
Name | Number | Description |
---|---|---|
CONTRACT_CANCELLATION_REASON_UNSPECIFIED | 0 | Reason unspecified. |
MOVE_OUT | 1 | The customer has moved out. |
MOVE_OUT_3RD_PARTY | 2 | Move out reported by third party. |
CHANGE_OF_SUPPLIER | 3 | The supplier has changed. |
PRICE_ADJUSTMENT | 4 | Contract cancelled because of price adjustment. |
DEATH | 5 | Customer died. |
METER_DECOMMISSIONING | 6 | The meter was decommissioned. |
BAD_PAYER | 7 | The customer has not complied with the payments. |
COMPANY_DEREGISTRATION | 8 | Company de-registered. |
LOCKED_DELIVERY_POINT | 9 | The delivery point is locked. |
MISSING_READINGS_FOR_ICM | 10 | Missing reading for Intelligent Electricity Meter. |
RELOCATION_WITH_CONTRACT_TRANSFER | 11 | The customer relocates and wants to keep his contract. |
CustomerCommunicationPreferences¶
Manage customer communication preferences and consents (e.g., marketing messages).
Get¶
Retrieve the current communication preference for a specific customer.
Output: CustomerCommunicationPreference¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant of the customer. |
*customer¶ | string | immutable | The ID of the customer. Set to "me" for the current customer (identity from OAuth token). |
*transactional_channel¶ | enpowerx.types.CommunicationChannel | The preferred channel for transactional messages. Must be either LETTER or EMAIL . | |
marketing¶ | CustomerCommunicationPreference.Marketing | The marketing specific preferences. | |
*consent_text¶ | string | The consent text agreed on or declined by the customer. | |
evidence¶ | CustomerCommunicationPreference.Evidence | input only | Additional information on how the preferences were recorded |
metadata¶ | google.protobuf.Struct | Deprecated. Request metadata Deprecated: Use evidence instead |
Set¶
Set the communication preference for a specific customer.
Input: CustomerCommunicationPreference¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant of the customer. |
*customer¶ | string | immutable | The ID of the customer. Set to "me" for the current customer (identity from OAuth token). |
*transactional_channel¶ | enpowerx.types.CommunicationChannel | The preferred channel for transactional messages. Must be either LETTER or EMAIL . | |
marketing¶ | CustomerCommunicationPreference.Marketing | The marketing specific preferences. | |
*consent_text¶ | string | The consent text agreed on or declined by the customer. | |
evidence¶ | CustomerCommunicationPreference.Evidence | input only | Additional information on how the preferences were recorded |
metadata¶ | google.protobuf.Struct | Deprecated. Request metadata Deprecated: Use evidence instead |
SetDraft¶
Set a draft of the communication preference in the name of a specific customer.
The draft will not be effective until ConfirmDraft
is called.
Input: CustomerCommunicationPreferenceDraft¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant of the customer. This must match draft.tenant . |
*id¶ | string | immutable | The ID of the draft. |
*draft¶ | CustomerCommunicationPreference | The drafted communication preference. |
ConfirmDraft¶
Confirm a specific communication preference draft.
This removes the draft and applies its content to the effective communication preference.
Input: CustomerCommunicationPreferenceDraft¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant of the customer. This must match draft.tenant . |
*id¶ | string | immutable | The ID of the draft. |
*draft¶ | CustomerCommunicationPreference | The drafted communication preference. |
GetMine¶
Retrieve the current communication preference for the current customer (identity from OAuth token).
Output: CustomerCommunicationPreference¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant of the customer. |
*customer¶ | string | immutable | The ID of the customer. Set to "me" for the current customer (identity from OAuth token). |
*transactional_channel¶ | enpowerx.types.CommunicationChannel | The preferred channel for transactional messages. Must be either LETTER or EMAIL . | |
marketing¶ | CustomerCommunicationPreference.Marketing | The marketing specific preferences. | |
*consent_text¶ | string | The consent text agreed on or declined by the customer. | |
evidence¶ | CustomerCommunicationPreference.Evidence | input only | Additional information on how the preferences were recorded |
metadata¶ | google.protobuf.Struct | Deprecated. Request metadata Deprecated: Use evidence instead |
SetMine¶
Set the communication preference for the current customer (identity from OAuth token).
Input: CustomerCommunicationPreference¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant of the customer. |
*customer¶ | string | immutable | The ID of the customer. Set to "me" for the current customer (identity from OAuth token). |
*transactional_channel¶ | enpowerx.types.CommunicationChannel | The preferred channel for transactional messages. Must be either LETTER or EMAIL . | |
marketing¶ | CustomerCommunicationPreference.Marketing | The marketing specific preferences. | |
*consent_text¶ | string | The consent text agreed on or declined by the customer. | |
evidence¶ | CustomerCommunicationPreference.Evidence | input only | Additional information on how the preferences were recorded |
metadata¶ | google.protobuf.Struct | Deprecated. Request metadata Deprecated: Use evidence instead |
CustomerCommunicationPreference.Evidence¶
Field | Type | Rules | Description |
---|---|---|---|
ip_address¶ | string | The original caller IP address. |
CustomerCommunicationPreference.Marketing¶
Field | Type | Rules | Description |
---|---|---|---|
channels¶ | enpowerx.types.CommunicationChannel | repeated | The approved channels for marketing messages. |
allowed_topics¶ | string | repeated | The approved topics for marketing messages. A topic must not be present in allowed_marketing_topics and denied_marketing_topics . |
denied_topics¶ | string | repeated | The disapproved topics for marketing messages. A topic must not be present in allowed_marketing_topics and denied_marketing_topics . |
CustomerIdentityProofs¶
Prove ownership of customers that don't yet have an account
Provide¶
Provide proof of ownership of a customer and get a token for account registration in return.
Input: CustomerIdentityProof¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the contract belongs to. | |
customer¶ | string | The customer ID. | |
contract¶ | string | The contract ID. | |
*meter¶ | string | A meter number associated with the contract. |
CustomerMessages¶
Send messages to customers using various channels (letters, mails, etc.).
Get¶
Retrieve information about a previously sent message.
Input: CustomerMessageRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the message belongs to. | |
*id¶ | string | The ID identifying the message in the tenant's scope. |
Output: CustomerMessage¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the message belongs to. |
*id¶ | string | immutable | The ID identifying the message in the tenant's scope. |
*contact¶ | enpowerx.types.Contact | The contact details of the recipient of the message. | |
*kind¶ | CustomerMessageKind | The kind of message. | |
marketing_topic¶ | string | The topic of the message. Only relevant when kind is MARKETING . Used to give customer's more fine-grained opt-in/out control. | |
customer¶ | string | The customer ID of the recipient of the message. This must be set unless the kind is TECHNICAL or IDENTITY_CHECK . | |
*template¶ | string | The ID of the template to use for sending the message. | |
parameters¶ | google.protobuf.Struct | The parameters used to replace placeholders inside of the specified template. |
Send¶
Send a message.
Input: CustomerMessage¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the message belongs to. |
*id¶ | string | immutable | The ID identifying the message in the tenant's scope. |
*contact¶ | enpowerx.types.Contact | The contact details of the recipient of the message. | |
*kind¶ | CustomerMessageKind | The kind of message. | |
marketing_topic¶ | string | The topic of the message. Only relevant when kind is MARKETING . Used to give customer's more fine-grained opt-in/out control. | |
customer¶ | string | The customer ID of the recipient of the message. This must be set unless the kind is TECHNICAL or IDENTITY_CHECK . | |
*template¶ | string | The ID of the template to use for sending the message. | |
parameters¶ | google.protobuf.Struct | The parameters used to replace placeholders inside of the specified template. |
Output: CustomerMessage¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the message belongs to. |
*id¶ | string | immutable | The ID identifying the message in the tenant's scope. |
*contact¶ | enpowerx.types.Contact | The contact details of the recipient of the message. | |
*kind¶ | CustomerMessageKind | The kind of message. | |
marketing_topic¶ | string | The topic of the message. Only relevant when kind is MARKETING . Used to give customer's more fine-grained opt-in/out control. | |
customer¶ | string | The customer ID of the recipient of the message. This must be set unless the kind is TECHNICAL or IDENTITY_CHECK . | |
*template¶ | string | The ID of the template to use for sending the message. | |
parameters¶ | google.protobuf.Struct | The parameters used to replace placeholders inside of the specified template. |
IsTopicAllowed¶
Determines whether sending a message with a specific topic is allowed based on the user's current preferences.
Input: CustomerMessageIsTopicAllowedRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant of the customer. | |
*customer¶ | string | The ID of the customer. | |
*marketing_topic¶ | string | The topic of the message. |
SendUpselling¶
Send an upselling message.
Input: CustomerMessageUpselling¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the message belongs to. |
*id¶ | string | immutable | The ID identifying the message in the tenant's scope. |
*customer¶ | string | The customer ID of the recipient of the message. | |
*customer_type¶ | enpowerx.types.CustomerType | The type of customer. | |
*offer¶ | string | The ID of the offer. | |
*contract¶ | string | The ID of the contract the offer is for. | |
*meter_number¶ | string | The meter number the offer is for. | |
*old_product_name¶ | string | The name of the product the customer has before accepting the offer. | |
*owner¶ | enpowerx.types.Person | The contract owner. | |
*delivery¶ | enpowerx.types.EnergyDelivery | Which kind and amount of energy is to be delivered to where. | |
*billing¶ | enpowerx.types.Billing | The billing details. | |
*tariff¶ | Tariff | The tariff being offered to the customer. |
Output: CustomerMessage¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the message belongs to. |
*id¶ | string | immutable | The ID identifying the message in the tenant's scope. |
*contact¶ | enpowerx.types.Contact | The contact details of the recipient of the message. | |
*kind¶ | CustomerMessageKind | The kind of message. | |
marketing_topic¶ | string | The topic of the message. Only relevant when kind is MARKETING . Used to give customer's more fine-grained opt-in/out control. | |
customer¶ | string | The customer ID of the recipient of the message. This must be set unless the kind is TECHNICAL or IDENTITY_CHECK . | |
*template¶ | string | The ID of the template to use for sending the message. | |
parameters¶ | google.protobuf.Struct | The parameters used to replace placeholders inside of the specified template. |
CustomerMessageKind¶
Name | Number | Description |
---|---|---|
CUSTOMER_MESSAGE_KIND_UNSPECIFIED | 0 | Kind not specified. |
TECHNICAL | 1 | A technical message (e.g. password reset). Always sent via email, customer can not opt-out. |
IDENTITY_CHECK | 2 | A message used to verify a person's identity. Always sent via letter, customer can not opt-out. |
TRANSACTIONAL | 100 | A transactional message (e.g. referring to a customer's contract). Sent via customer-selected channel, customer can not opt-out. |
TRANSACTIONAL_INVOICE | 101 | A transactional message containing an invoice. Sent via customer-selected channel, customer can not opt-out. |
MARKETING | 200 | A marketing message (e.g. advertisement). Sent via customer-selected channel, customer can opt-out. |
Customers¶
Manage customers.
Get¶
Get a specific customer.
Input: CustomerRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*id¶ | string | The ID of the customer. |
Output: Customer¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the customer belongs to. |
*id¶ | string | immutable | The customer's ID in the tenant's scope. |
*type¶ | enpowerx.types.CustomerType | The type of this customer. | |
*person¶ | enpowerx.types.Person | The personal details. | |
is_vacant¶ | bool | output only | A flag indicating a vacancy, i.e. the metering point belongs to a flat that is vacant. |
List¶
List customers with optional filters.
Input: CustomerListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customers belong to. | |
page_size¶ | int32 | The maximum number of items to return. 0 for default. | |
page_token¶ | string | The next_page_token value returned from a previous List request, if any. | |
filter¶ | CustomerListFilter | Filters to limit the response. |
Output: CustomerList¶
Field | Type | Rules | Description |
---|---|---|---|
customers¶ | Customer | repeated | The requested customers. |
next_page_token¶ | string | Token to retrieve the next page of results, or empty if there are no more results in the list. |
GetPerson¶
Get personal details for a specific customer.
Input: CustomerRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*id¶ | string | The ID of the customer. |
SetPerson¶
Update personal details for a specific customer.
Also update billing.contact.person
for all of the customer's contracts unless they were already different before calling this.
Input: CustomerSetPersonRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*id¶ | string | The customer's ID in the tenant's scope. | |
*person¶ | enpowerx.types.Person | The personal details to set. |
GetMe¶
Get the current customer (identity from OAuth token).
Input: CustomerGetMeRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. |
Output: Customer¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the customer belongs to. |
*id¶ | string | immutable | The customer's ID in the tenant's scope. |
*type¶ | enpowerx.types.CustomerType | The type of this customer. | |
*person¶ | enpowerx.types.Person | The personal details. | |
is_vacant¶ | bool | output only | A flag indicating a vacancy, i.e. the metering point belongs to a flat that is vacant. |
GetMyPerson¶
Get personal details for the current customer (identity from OAuth token).
Input: CustomerGetMeRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. |
SetMyPerson¶
Update personal details for the current customer (identity from OAuth token).
Also update billing.contact.person
for all of the customer's contracts unless they were already different before calling this.
Input: CustomerSetMyPersonRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the customer belongs to. | |
*person¶ | enpowerx.types.Person | The personal details to set. |
SetMyBilling¶
Update billing details for all contracts of the current customer (identity from OAuth token).
Input: CustomerSetMyBillingRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | Deprecated. The tenant the customer belongs to. | |
*billing¶ | enpowerx.types.Billing | Deprecated. The billing details. |
CustomerListFilter¶
Field | Type | Rules | Description |
---|---|---|---|
field_mask¶ | google.protobuf.FieldMask | The field mask used to mark fields which shall be respected for the filter. | |
type¶ | enpowerx.types.CustomerType | The customer type to filter for. |
Documents¶
Store and retrieve documents (usually PDFs).
Get¶
Retrieve a specific document.
Input: DocumentRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the document belongs to. | |
*id¶ | string | The ID identifying the document in the tenant's scope. |
Output: Document¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the document belongs to. |
*id¶ | string | immutable | The ID identifying the document in the tenant's scope. |
stored_timestamp¶ | google.protobuf.Timestamp | output only | The timestamp the document was stored. |
*revision¶ | int32 | Revision is incremented when a document is overwritten. | |
*payload¶ | DocumentPayload | The content of the document. |
Set¶
Add a new document.
Input: Document¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the document belongs to. |
*id¶ | string | immutable | The ID identifying the document in the tenant's scope. |
stored_timestamp¶ | google.protobuf.Timestamp | output only | The timestamp the document was stored. |
*revision¶ | int32 | Revision is incremented when a document is overwritten. | |
*payload¶ | DocumentPayload | The content of the document. |
Output: Document¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the document belongs to. |
*id¶ | string | immutable | The ID identifying the document in the tenant's scope. |
stored_timestamp¶ | google.protobuf.Timestamp | output only | The timestamp the document was stored. |
*revision¶ | int32 | Revision is incremented when a document is overwritten. | |
*payload¶ | DocumentPayload | The content of the document. |
DocumentPayload¶
Field | Type | Rules | Description |
---|---|---|---|
*mime_type¶ | string | The media type / content type of the document. | |
*content¶ | bytes | The raw data of the document. |
ErrorReports¶
Receive error logs from external sources to include them into our internal logging system
Report¶
Add new error report
Input: ErrorReportRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the errorlog belongs to. | |
*report¶ | ErrorReport | The report to set. |
ErrorReport¶
Stores information on unhandled errors from external sources (i.e. frontend apps)
Field | Type | Rules | Description |
---|---|---|---|
*app¶ | string | Identifies the app throwing that error | |
uri¶ | string | The uri where the error occured | |
user_data¶ | ErrorReport.UserData | Optional userData information | |
*errors¶ | ErrorReport.Error | repeated | Contains n-errors |
ErrorReport.Error¶
Contains information about the error that occured
Field | Type | Rules | Description |
---|---|---|---|
*msg¶ | string | The error message or description | |
stacktrace¶ | string | The stack trace if there is one |
ErrorReport.UserData¶
Holds information about the user
Field | Type | Rules | Description |
---|---|---|---|
*user_agent¶ | string | UserAgent of the user (browser version etc.) | |
*os¶ | string | The operating system of the user |
Invoices¶
Manage invoices.
List¶
List invoices for a specific contract.
Input: InvoiceListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant to list invoices for. | |
page_size¶ | int32 | The maximum number of items to return. 0 for default. | |
page_token¶ | string | The next_page_token value returned from a previous List request, if any. | |
*contract¶ | string | The ID of the contract to list invoices for. |
Output: InvoiceList¶
Field | Type | Rules | Description |
---|---|---|---|
invoices¶ | Invoice | repeated | The requested invoices. |
next_page_token¶ | string | Token to retrieve the next page of results, or empty if there are no more results in the list. |
Download¶
Download a specific invoice.
Input: InvoiceRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the invoice belongs to. | |
*id¶ | string | The ID of the invoice. | |
*contract¶ | string | The ID of the contract the invoice belongs to. |
ListMine¶
List invoices for a specific contract of the current customer (identity from OAuth token).
Input: InvoiceListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant to list invoices for. | |
page_size¶ | int32 | The maximum number of items to return. 0 for default. | |
page_token¶ | string | The next_page_token value returned from a previous List request, if any. | |
*contract¶ | string | The ID of the contract to list invoices for. |
Output: InvoiceList¶
Field | Type | Rules | Description |
---|---|---|---|
invoices¶ | Invoice | repeated | The requested invoices. |
next_page_token¶ | string | Token to retrieve the next page of results, or empty if there are no more results in the list. |
DownloadMine¶
Download a specific invoice of the current customer (identity from OAuth token).
Input: InvoiceRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the invoice belongs to. | |
*id¶ | string | The ID of the invoice. | |
*contract¶ | string | The ID of the contract the invoice belongs to. |
Invoice¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the invoice belongs to. |
*id¶ | string | immutable | The invoice's ID in the tenant's scope. |
*customer¶ | string | The ID of the customer this invoice belongs to. | |
*invoice_number¶ | string | The invoice number that is customer facing | |
*start_date¶ | google.type.Date | The start of the invoice period. | |
*end_date¶ | google.type.Date | The end of the invoice period. | |
*annual_usage¶ | int32 | The estimated power usage in kWh per year. | |
*value¶ | enpowerx.types.Price | The invoice amount for the defined time period. | |
*is_paid¶ | bool | Indicates if the invoice was paid. | |
*is_cancelled¶ | bool | Indicates if the invoice was cancelled. | |
*kind¶ | Invoice.Kind | The kind of invoice, e.g. regular or final invoice. | |
*invoice_date¶ | google.type.Date | The date the invoice was charged [Rechnungsdatum] This date is used for accounting and has legal implications | |
*archive_id¶ | string | TODO: Find out which Id this is | |
*storage_repository_id¶ | string | TODO: Find out which Id this is | |
*external_archive_id¶ | string | TODO: Find out which Id this is |
Invoice.Kind¶
Name | Number | Description |
---|---|---|
KIND_UNSPECIFIED | 0 | Kind not specified. |
REGULAR | 1 | The default kind of recurring invoices. |
INTERIM | 2 | An out-of-cycle invoice. |
FINAL | 3 | The final invoice when a contract terminates. |
Meters¶
Manage energy meters (a.k.a counters).
List¶
List meters associated with a specific contract.
Input: MeterListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant to list meters for. | |
*contract¶ | string | The ID of the contract to list meters for. | |
active_only¶ | bool | Only return currently active meters. |
Output: MeterList¶
Field | Type | Rules | Description |
---|---|---|---|
meters¶ | Meter | repeated | A list of readings sorted anti-chronologically (newest first). |
ListMine¶
List meter meters associated with a specific contract of the current customer (identity from OAuth token).
Input: MeterListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant to list meters for. | |
*contract¶ | string | The ID of the contract to list meters for. | |
active_only¶ | bool | Only return currently active meters. |
Output: MeterList¶
Field | Type | Rules | Description |
---|---|---|---|
meters¶ | Meter | repeated | A list of readings sorted anti-chronologically (newest first). |
Meter¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the meter belongs to. | |
*id¶ | string | The meter number in the tenant's scope. | |
*start_date¶ | google.type.Date | The date when the meter became active. | |
end_date¶ | google.type.Date | The date when the meter stopped being active. Unset if the meter is currently active. | |
*registers¶ | Meter.RegistersEntry | repeated | A map of registers with OBIS codes as the key. |
*type¶ | MeterType | The type of the meter. | |
*data_acquisition_type¶ | DataAcquisitionType | The data-acquisition-type of the meter. |
Meter.Register¶
Field | Type | Rules | Description |
---|---|---|---|
*type¶ | RegisterType | The type of the register. | |
*units_digits¶ | int32 | The number of digits the register has before the decimal point. | |
*decimal_digists¶ | int32 | The number of digits the register has after the decimal point. |
Meter.RegistersEntry¶
Field | Type | Rules | Description |
---|---|---|---|
key¶ | string | ||
value¶ | Meter.Register |
DataAcquisitionType¶
Name | Number | Description |
---|---|---|
DATA_ACQUISITION_TYPE_UNSPECIFIED | 0 | Type is not specified |
REMOTE_READABLE_METER | 1 | Remote readable meter (AMR) |
MANUAL_READABLE_METER | 2 | Manual readable meter (MMR) |
MeterType¶
Name | Number | Description |
---|---|---|
METER_TYPE_UNSPECIFIED | 0 | Type is not specified |
ANALOG_HOUSEHOLD_METER | 1 | Analog household meter (AHZ) |
MODERN_MEASUREMENT_DEVICE | 2 | Modern measurement device (MME) |
ELECTRONIC_HOUSEHOLD_METER | 3 | Electronic household meter (EHZ) |
RegisterType¶
Name | Number | Description |
---|---|---|
REGISTER_TYPE_UNSPECIFIED | 0 | Type is not specified |
SINGLE_TARIFF | 1 | Single tariff meter |
DOUBLE_TARIFF_PEAK | 2 | aka Hochtarif (HT) |
DOUBLE_TARIFF_OFF_PEAK | 3 | aka Niedertarif (NT) |
Offers¶
Create and track offers.
Get¶
Get a specific offer.
Input: OfferRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the offer belongs to. | |
*id¶ | string | The ID identifying the offer in the tenant's scope. |
Output: Offer¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the offer belongs to. |
*id¶ | string | immutable | The ID identifying the offer in the tenant's scope. |
*state¶ | Offer.State | The current state of the offer. | |
*delivery¶ | enpowerx.types.EnergyDelivery | Which kind and amount of energy is to be delivered to where. | |
*customer¶ | string | The ID of the customer this offer was made to. | |
contract¶ | string | The ID of the customer's existing contract if applicable. | |
*tariff¶ | Tariff | The tariff that was offered to the customer. |
List¶
List offers with optional filters.
Input: OfferListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the offers list belong to. | |
page_size¶ | int32 | The maximum number of items to return. 0 for default. | |
page_token¶ | string | The next_page_token value returned from a previous List request, if any. | |
filter¶ | OfferListFilter | Filters to limit the response. |
Output: OfferList¶
Field | Type | Rules | Description |
---|---|---|---|
offers¶ | Offer | repeated | The requested offers. |
next_page_token¶ | string | Token to retrieve the next page of results, or empty if there are no more results in the list. |
Set¶
Create a new offer or update an existing one.
Input: Offer¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the offer belongs to. |
*id¶ | string | immutable | The ID identifying the offer in the tenant's scope. |
*state¶ | Offer.State | The current state of the offer. | |
*delivery¶ | enpowerx.types.EnergyDelivery | Which kind and amount of energy is to be delivered to where. | |
*customer¶ | string | The ID of the customer this offer was made to. | |
contract¶ | string | The ID of the customer's existing contract if applicable. | |
*tariff¶ | Tariff | The tariff that was offered to the customer. |
Output: Offer¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the offer belongs to. |
*id¶ | string | immutable | The ID identifying the offer in the tenant's scope. |
*state¶ | Offer.State | The current state of the offer. | |
*delivery¶ | enpowerx.types.EnergyDelivery | Which kind and amount of energy is to be delivered to where. | |
*customer¶ | string | The ID of the customer this offer was made to. | |
contract¶ | string | The ID of the customer's existing contract if applicable. | |
*tariff¶ | Tariff | The tariff that was offered to the customer. |
Delete¶
Delete a specific offer.
Input: OfferRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the offer belongs to. | |
*id¶ | string | The ID identifying the offer in the tenant's scope. |
SetState¶
Change the state of an existing offer.
Input: SetOfferStateRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the offer belongs to. | |
*id¶ | string | The ID identifying the offer in the tenant's scope. | |
*state¶ | Offer.State | The state to set the offer to. |
Output: Offer¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the offer belongs to. |
*id¶ | string | immutable | The ID identifying the offer in the tenant's scope. |
*state¶ | Offer.State | The current state of the offer. | |
*delivery¶ | enpowerx.types.EnergyDelivery | Which kind and amount of energy is to be delivered to where. | |
*customer¶ | string | The ID of the customer this offer was made to. | |
contract¶ | string | The ID of the customer's existing contract if applicable. | |
*tariff¶ | Tariff | The tariff that was offered to the customer. |
OfferListFilter¶
Field | Type | Rules | Description |
---|---|---|---|
field_mask¶ | google.protobuf.FieldMask | The field mask used to mark fields which shall be respected for the filter. | |
state¶ | Offer.State | The current state of the offer to filter offers for. | |
customer¶ | string | The ID of the customer to filter offers for. |
Offer.State¶
Name | Number | Description |
---|---|---|
STATE_UNSPECIFIED | 0 | The offer state is unspecified. |
PREPARED | 1 | The offer is ready but has not yet been sent to the customer. |
OFFERED | 2 | The offer has been sent to the customer and is awaiting a response. |
ACCEPTED | 3 | The customer accepted the offer. |
DECLINED | 4 | The offer declined the offer. |
EXPIRED | 5 | The offer has expired. |
Orders¶
Create orders.
Set¶
Create a new order or update an existing one.
Input: Order¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant who requested the order. |
*id¶ | string | immutable | The unique identifier of the process instance in scope the tenant. |
*product¶ | enpowerx.types.ScheduledRequest | The product the customer wishes to order. | |
*person¶ | enpowerx.types.Person | The personal details. | |
*delivery¶ | enpowerx.types.EnergyDelivery | Which kind and amount of energy is to be delivered to where. | |
*billing¶ | enpowerx.types.Billing | The billing details. | |
sales_info¶ | enpowerx.types.SalesInfo | Information on how the sale was made. | |
transition_type¶ | enpowerx.types.TransitionType | Specifies modalities of a contract transition. transition_type impacts the interpretation of product.scheduled_date. | |
previous_provider¶ | string | The ID of the previous provider of the lead contained in the order. You can get provider IDs via Providers.List() . | |
meter_number¶ | string | The number of the meter. |
Output: Order¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant who requested the order. |
*id¶ | string | immutable | The unique identifier of the process instance in scope the tenant. |
*product¶ | enpowerx.types.ScheduledRequest | The product the customer wishes to order. | |
*person¶ | enpowerx.types.Person | The personal details. | |
*delivery¶ | enpowerx.types.EnergyDelivery | Which kind and amount of energy is to be delivered to where. | |
*billing¶ | enpowerx.types.Billing | The billing details. | |
sales_info¶ | enpowerx.types.SalesInfo | Information on how the sale was made. | |
transition_type¶ | enpowerx.types.TransitionType | Specifies modalities of a contract transition. transition_type impacts the interpretation of product.scheduled_date. | |
previous_provider¶ | string | The ID of the previous provider of the lead contained in the order. You can get provider IDs via Providers.List() . | |
meter_number¶ | string | The number of the meter. |
Relocate¶
Create a new order for a new contract and disable the previous one.
Input: RelocationOrder¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant who requested the relocation order. | |
*id¶ | string | immutable | The unique identifier of the process instance in scope the tenant. |
*relocation¶ | enpowerx.types.Relocation | The relocation details. |
Output: RelocationOrder¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant who requested the relocation order. | |
*id¶ | string | immutable | The unique identifier of the process instance in scope the tenant. |
*relocation¶ | enpowerx.types.Relocation | The relocation details. |
Products¶
Query energy products provided by the current tenant.
Get¶
Get the latest version of a specific product.
Input: ProductRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the product belongs to. | |
*id¶ | string | The product ID. |
Output: Product¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the product belongs to. |
*id¶ | string | immutable | The product ID. |
*version¶ | int32 | immutable | The version of the product. |
*display_name¶ | string | A human-readable name for the product. | |
*energy_type¶ | enpowerx.types.EnergyType | The energy type of the product. | |
*acquisition¶ | Product.Acquisition | How this product is acquired. | |
contract_term¶ | enpowerx.types.Duration | The minimum amount of time before the contract can be cancelled. | |
price_guarantee¶ | enpowerx.types.Duration | The minimum amount of time for which the price is guaranteed to stay the same. | |
price_guarantee_date¶ | google.type.Date | The date until the price is guaranteed to stay the same. |
GetVersioned¶
Get a specific version of a specific product.
Input: ProductVersionedRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the product belongs to. | |
*id¶ | string | The product ID. | |
*version¶ | int32 | The version of the product. |
Output: Product¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the product belongs to. |
*id¶ | string | immutable | The product ID. |
*version¶ | int32 | immutable | The version of the product. |
*display_name¶ | string | A human-readable name for the product. | |
*energy_type¶ | enpowerx.types.EnergyType | The energy type of the product. | |
*acquisition¶ | Product.Acquisition | How this product is acquired. | |
contract_term¶ | enpowerx.types.Duration | The minimum amount of time before the contract can be cancelled. | |
price_guarantee¶ | enpowerx.types.Duration | The minimum amount of time for which the price is guaranteed to stay the same. | |
price_guarantee_date¶ | google.type.Date | The date until the price is guaranteed to stay the same. |
List¶
List all products.
Input: ProductListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the products belong to. | |
page_size¶ | int32 | The maximum number of items to return. 0 for default. | |
page_token¶ | string | The next_page_token value returned from a previous List request, if any. |
Output: ProductList¶
Field | Type | Rules | Description |
---|---|---|---|
products¶ | Product | repeated | The requested products. |
next_page_token¶ | string | Token to retrieve the next page of results, or empty if there are no more results in the list. |
Product.Acquisition¶
Name | Number | Description |
---|---|---|
ACQUISITION_UNSPECIFIED | 0 | The product acquisition is unspecified. |
COMPETITIVE | 1 | The product is explicitly chosen by customers. |
BASIC | 2 | The product is automatically provided by an area's default provider when power is consumed without an existing contract. |
SUBSTITUTE | 3 | The product is automatically provided by an area's default provider when the previous provider is no longer available (e.g. lost license). |
Providers¶
Query all known energy providers.
List¶
List all known providers for an energy type.
Input: ProviderListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant to query for. | |
*region¶ | string | The region to get providers for as a CLDR region code. Example: DE for Germany | |
*energy_type¶ | enpowerx.types.EnergyType | The kind of the energy to get providers for. |
Output: ProviderList¶
Field | Type | Rules | Description |
---|---|---|---|
providers¶ | Provider | repeated | The requested providers. |
GetDefault¶
Return the default provider for a specific address.
Input: ProviderDefaultRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant to query for. | |
*address¶ | enpowerx.types.PostalAddress | The address to get the default provider for. | |
*energy_type¶ | enpowerx.types.EnergyType | The kind of the energy to get the default provider for. |
Output: Provider¶
Field | Type | Rules | Description |
---|---|---|---|
id¶ | string | The ID identifying the provider. In Germany this is the BDEW code. | |
canonical_name¶ | string | The canonical name of the provider. Example: Stadtwerke Karlsruhe GmbH |
Readings¶
Submit and retrieve meter readings.
List¶
List meter readings for a specific contract.
Input: ReadingListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant to list readings for. | |
*contract¶ | string | The ID of the contract to list readings for. |
Output: ReadingList¶
Field | Type | Rules | Description |
---|---|---|---|
meters¶ | ReadingList.MetersEntry | repeated | A map of meters with meter numbers as the key. |
Add¶
Submit a new reading for a specific meter.
Input: ReadingAddRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant to submit a reading for. | |
*contract¶ | string | The ID of the contract to submit a reading for. | |
*meter¶ | string | The meter number to submit a reading for. | |
*reading¶ | enpowerx.types.Reading | The reading to add. |
ListMine¶
List readings for a specific contract of the current customer (identity from OAuth token).
Input: ReadingListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant to list readings for. | |
*contract¶ | string | The ID of the contract to list readings for. |
Output: ReadingList¶
Field | Type | Rules | Description |
---|---|---|---|
meters¶ | ReadingList.MetersEntry | repeated | A map of meters with meter numbers as the key. |
AddMine¶
Submit a new reading for a specific meter of the current customer (identity from OAuth token).
Input: ReadingAddRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant to submit a reading for. | |
*contract¶ | string | The ID of the contract to submit a reading for. | |
*meter¶ | string | The meter number to submit a reading for. | |
*reading¶ | enpowerx.types.Reading | The reading to add. |
ReadingList.Meter¶
Field | Type | Rules | Description |
---|---|---|---|
registers¶ | ReadingList.Meter.RegistersEntry | repeated | A map of registers with OBIS codes as the key. |
ReadingList.Meter.RegistersEntry¶
Field | Type | Rules | Description |
---|---|---|---|
key¶ | string | ||
value¶ | ReadingList.Register |
ReadingList.MetersEntry¶
Field | Type | Rules | Description |
---|---|---|---|
key¶ | string | ||
value¶ | ReadingList.Meter |
ReadingList.Reading¶
Field | Type | Rules | Description |
---|---|---|---|
date¶ | google.type.Date | The date when the value was read. | |
value¶ | double | The value that was read. | |
channel¶ | enpowerx.types.Reading.Channel | How the reading was reported. | |
origin¶ | ReadingOrigin | Who reported the reading. |
ReadingList.Register¶
Field | Type | Rules | Description |
---|---|---|---|
type¶ | RegisterType | The type of the register. | |
readings¶ | ReadingList.Reading | repeated | A list of readings sorted anti-chronologically (newest first). |
ReadingOrigin¶
Name | Number | Description |
---|---|---|
READING_ORIGIN_UNSPECIFIED | 0 | No origin specified. |
NETWORK_OPERATOR | 1 | Distributed network operator (DNO) [DE: Verteilnetzbetreiber (VNB)]. |
PREVIOUS_PROVIDER | 2 | The last provider of delivery location |
CUSTOMER | 3 | The customer herself. |
METER_POINT_OPERATOR | 4 | The meter point operator [DE: Messstellenbetereiber (MSB)]. |
THIRD_PARTY | 5 | No origin specified. |
Streets¶
Street lookup for address auto-completion.
List¶
List all known streets for a postal code and city.
Input: StreetListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant to query for. | |
*region¶ | string | The region the streets are located in as a CLDR region code. Example: DE for Germany | |
*postal_code¶ | string | Postal code the streets are located in. Example: 76131 for Karlsruhe inner city | |
*city¶ | string | The canonical name of the city the streets are located in. Example: Karlsruhe |
Output: StreetList¶
Field | Type | Rules | Description |
---|---|---|---|
streets¶ | Street | repeated | The requested streets. |
Street¶
Field | Type | Rules | Description |
---|---|---|---|
canonical_name¶ | string | The canonical name of the street. Example: Kaiserstr. |
Tariffs¶
Query energy tariffs provided by the current tenant.
Get¶
Get the tariff for a specific product at an address.
Input: TariffRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the tariffs belong to. | |
*product¶ | string | The product ID. | |
*delivery¶ | enpowerx.types.EnergyDelivery | Which kind and amount of energy is to be delivered to where. | |
query_date¶ | google.type.Date | Query for tariffs that are active at this date. The date can be in the past or future. If unset the query will return currently active tariffs. | |
campaign¶ | string | Optional override for the default campaign. |
Output: Tariff¶
Field | Type | Rules | Description |
---|---|---|---|
*product¶ | Product | The underlying product for this tariff. | |
*fixed_cost¶ | enpowerx.types.RecurringCost | The fixed recurring cost. | |
*working_price¶ | enpowerx.types.Price | The price per usage in kWh. | |
estimated_total_cost¶ | enpowerx.types.RecurringCost | The estimated total cost. | |
bonus¶ | enpowerx.types.Price | The one-time bonus granted to the customer. | |
*eco_percentage¶ | int32 | The percentage of environmentally friendly power generation. | |
start_date¶ | google.type.Date | output only | Start date of the tariff. |
end_date¶ | google.type.Date | output only | End date of the tariff. |
List¶
List all tariffs provided at an address.
Input: TariffListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the tariffs belong to. | |
*delivery¶ | enpowerx.types.EnergyDelivery | Which kind and amount of energy is to be delivered to where. | |
query_date¶ | google.type.Date | Query for tariffs that are active at this date. The date can be in the past or future. If unset the query will return currently active tariffs. | |
campaign¶ | string | Optional override for the default campaign. |
Output: TariffList¶
Field | Type | Rules | Description |
---|---|---|---|
tariffs¶ | Tariff | repeated | The requested tariffs. |
VerificationTokens¶
Manage verification tokens (e.g. for e-mail verification links).
Set¶
Create a new token. An existing token can not be modified.
Input: VerificationToken¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the token belongs to. |
*id¶ | string | immutable | The token identifier. This is the value to be given to an external consumer (e.g. in the form of an e-mail validation link). |
payload¶ | google.protobuf.Struct | This can be used to attach information to the token that remains invisible to an external consumer (e.g. a customer ID). |
Output: VerificationToken¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the token belongs to. |
*id¶ | string | immutable | The token identifier. This is the value to be given to an external consumer (e.g. in the form of an e-mail validation link). |
payload¶ | google.protobuf.Struct | This can be used to attach information to the token that remains invisible to an external consumer (e.g. a customer ID). |
Inspect¶
Check if a specific token exists and get its payload.
Input: VerificationTokenRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the token belongs to. | |
*id¶ | string | The token identifier. |
Output: VerificationToken¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | immutable | The tenant the token belongs to. |
*id¶ | string | immutable | The token identifier. This is the value to be given to an external consumer (e.g. in the form of an e-mail validation link). |
payload¶ | google.protobuf.Struct | This can be used to attach information to the token that remains invisible to an external consumer (e.g. a customer ID). |
Redeem¶
Redeem a specific token and resume other processes waiting for this token.
Input: VerificationTokenRedeemRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the token belongs to. | |
*id¶ | string | The token identifier. |
Delete¶
Delete a specific token.
Input: VerificationTokenRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the token belongs to. | |
*id¶ | string | The token identifier. |
Shared Types¶
Amount¶
Field | Type | Rules | Description |
---|---|---|---|
unit¶ | string | The unit of the amount. E.g.'kWh' or 'PCS' for pieces. | |
units¶ | int64 | The whole units of the amount. For example if unit is "PCS" , then 1 unit is one piece. | |
nanos¶ | int32 | Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero.If units is zero, nanos can be positive, zero, or negative.If units is negative, nanos must be negative or zero.For example $-1.75 is represented as units =-1 and nanos =-750,000,000. |
BankAccount¶
Information about a bank account.
Field | Type | Rules | Description |
---|---|---|---|
*iban¶ | string | The International Bank Account Number. | |
bic¶ | string | The Bank Identifier Code. | |
account_holder¶ | string | The name of the account holder. | |
bank¶ | string | The name of the bank. |
CustomerType¶
Represents the kind of the customer.
Name | Number | Description |
---|---|---|
CUSTOMER_TYPE_UNSPECIFIED | 0 | The customer type is unspecified. |
PRIVATE | 1 | The customer type is private. |
BUSINESS | 2 | The customer type is business. |
BOTH | 3 | The customer type is private and business. |
DateRange¶
Represents a range of dates.
Field | Type | Rules | Description |
---|---|---|---|
*start¶ | google.type.Date | The inclusive start date. | |
end¶ | google.type.Date | The inclusive end date. | |
end_exclusive¶ | google.type.Date | The exclusive end date. | |
time_zone¶ | string | The time zone of the date range (defaults to Europe/Berlin). |
DateTimeRange¶
Represents a range of date times.
Field | Type | Rules | Description |
---|---|---|---|
*start¶ | google.protobuf.Timestamp | The inclusive start date. | |
end¶ | google.protobuf.Timestamp | The inclusive end date. |
Decimal¶
Field | Type | Rules | Description |
---|---|---|---|
units¶ | int64 | The whole units of the amount. | |
nanos¶ | int32 | Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero.If units is zero, nanos can be positive, zero, or negative.If units is negative, nanos must be negative or zero.For example $-1.75 is represented as units =-1 and nanos =-750,000,000. |
Billing¶
Billing details.
Field | Type | Rules | Description |
---|---|---|---|
*contact¶ | Contact | The contact to send invoices to. | |
*payment_method¶ | PaymentMethod | The payment method method. | |
bank_account¶ | BankAccount | The bank account used if payment_method is DIRECT_DEBIT . |
CommunicationChannel¶
Communication channel.
Name | Number | Description |
---|---|---|
COMMUNICATION_CHANNEL_UNSPECIFIED | 0 | Channel not specified. |
LETTER | 1 | Send messages via letter. |
2 | Send messages via email. | |
SMS | 3 | Send messages via SMS. |
MESSENGER | 4 | Send messages via messenger apps like WhatsApp. |
PHONE | 5 | Communicate via telephone. |
Contact¶
Contact details (postal, phone, etc.).
Field | Type | Rules | Description |
---|---|---|---|
*person¶ | Person | Information on how to address the contact. | |
postal_address¶ | PostalAddress | The contact's postal address. | |
phone_number¶ | string | The phone number of the contact. Values are normalized into the form +123456789 . | |
email¶ | string | The email address of the contact. | |
careof¶ | Person | A person that may receive communication in the name of the actual recipient (e.g. a "C/O" line added to the postal address). |
Reading¶
Information about a reading.
Field | Type | Rules | Description |
---|---|---|---|
*date¶ | google.type.Date | The date when the reading was taken. | |
channel¶ | Reading.Channel | How the reading was reported. This is value is ignored when submitting via AddMine . | |
*values¶ | Reading.ValuesEntry | repeated | A map of values to submit with OBIS codes as the key. |
ignore_plausibility_check_reason¶ | google.protobuf.StringValue | If set the meter reading(s) will be saved, even if they're not plausible. Specifies the reason why the plausibility check is to be ignored. |
Reading.ValuesEntry¶
Field | Type | Rules | Description |
---|---|---|---|
key¶ | string | ||
value¶ | double |
Reading.Channel¶
Name | Number | Description |
---|---|---|
CHANNEL_UNSPECIFIED | 0 | No channel specified. |
PORTAL | 1 | Reported via end-user portal. |
2 | Reported via email. | |
LETTER | 3 | Reported via letter. |
PHONE | 4 | Reported via phone call. |
MSCONS | 5 | Reported via Metered Services Consumption report message. |
Relocation¶
Information about the relocation of an contract.
Field | Type | Rules | Description |
---|---|---|---|
*contract¶ | string | The contract's ID this request is targeting. | |
*moveout_date¶ | google.type.Date | The move-out date. | |
*movein_date¶ | google.type.Date | The move-in date. | |
*delivery¶ | EnergyDelivery | Which kind and amount of energy is to be delivered to where. | |
*use_new_address¶ | Relocation.UseNewAddress | Use the new address as postal and billing address. | |
*meter¶ | string | The ID of the meter at the new consumption point. | |
last_reading¶ | Reading | The last reading at the old consumption point. | |
old_meter¶ | string | The ID of the meter at the old consumption point. Optional, must be set if a last reading is provided. |
Relocation.UseNewAddress¶
Name | Number | Description |
---|---|---|
USE_NEW_ADDRESS_UNSPECIFIED | 0 | Use unspecified. |
NO | 1 | Use not desired. |
IMMEDIATELY | 2 | Use immediately desired. |
ON_MOVE_IN | 3 | Use on moving in desired. |
SalesInfo¶
Information on how a sale was made.
Field | Type | Rules | Description |
---|---|---|---|
sales_partner_code¶ | string | Direct sales partner code. | |
sales_partner_code_second¶ | string | Second direct sales partner code. | |
campaign¶ | string | Optional override for the default campaign. |
ScheduledRequest¶
Reference to an entity with an optional scheduled starting date.
Field | Type | Rules | Description |
---|---|---|---|
*id¶ | string | The ID referencing the entity. | |
scheduled_date¶ | google.type.Date | The scheduled starting date (earliest possible if unset). |
TransitionType¶
Specifies modalities of a contract transition.
Name | Number | Description |
---|---|---|
TRANSITION_TYPE_UNSPECIFIED | 0 | The transition type is unspecified |
MANUAL_TERMINATION | 1 | The customer terminates the prior contract. |
VENDOR_TERMINATION | 2 | The vendor terminates the prior contract. |
RELOCATION | 3 | The customer is going to or has recently moved to the new address. |
Duration¶
Represents a coarse time duration (e.g., 2 months).
Field | Type | Rules | Description |
---|---|---|---|
*units¶ | int32 | The number of time units. | |
*type¶ | google.type.CalendarPeriod | The type the units refer to (days, months, etc.). |
EnergyDelivery¶
Describes which kind and amount of energy is to be delivered to where.
Field | Type | Rules | Description |
---|---|---|---|
*energy_type¶ | EnergyType | The kind of the energy. | |
*customer_type¶ | CustomerType | The kind of the customer. | |
*address¶ | PostalAddress | The address to deliver energy to. | |
annual_usage¶ | int32 | The estimated power usage in kWh per year. | |
usage_type¶ | EnergyDelivery.UsageType | The usage type for the delivered energy. | |
annual_usage_nt¶ | int32 | The estimated off-peak power usage in kWh per year (DE: Niedertarifverbrauch). |
EnergyDelivery.UsageType¶
Name | Number | Description |
---|---|---|
USAGE_TYPE_UNSPECIFIED | 0 | The consumption type is unspecified. |
HOUSEHOLD_ELECTRICITY | 1 | The energy is used for household. |
CHARGING_CURRENT | 2 | The energy is used for charging. |
STORAGE_HEATER | 3 | The energy is used for a storage heater. |
HEAT_PUMP | 4 | The energy is used for a heat pump. |
HOUSEHOLD_ELECTRICITY_AND_STORAGE_HEATER | 5 | The energy is used for household with storage heater. |
HOUSEHOLD_ELECTRICITY_AND_HEAT_PUMP | 6 | The energy is used for household with heat pump. |
EnergyType¶
Represents the kind of the energy.
Name | Number | Description |
---|---|---|
ENERGY_TYPE_UNSPECIFIED | 0 | The energy type is unspecified. |
ELECTRICITY | 1 | The energy type is electricity. |
GAS | 2 | The energy type is gas. |
FileContent¶
Field | Type | Rules | Description |
---|---|---|---|
*mime_type¶ | string | The media type / content type of the document. | |
*content¶ | bytes | The raw data of the document. |
AnnotationFilter¶
AnnotationFilter provides filter semantics for annotations.
Field | Type | Rules | Description |
---|---|---|---|
*field¶ | string | The annotation field path is a symbolic field path to target an annotation's field, for example: "invoice.id", "is_consumption_based", ... | |
value¶ | google.protobuf.Value | The value to match the annotation field's value. |
DateFilter¶
DateFilter provides match semantics for date fields.
Field | Type | Rules | Description |
---|---|---|---|
*date¶ | google.type.Date | The date to filter for. | |
match_mode¶ | DateFilter.MatchMode | The match mode to use. The default is EQUAL. |
DateRangeFilter¶
DateTimeRangeFilter provides match semantics for date fields. The filter treats the start and end date as inclusive.
Field | Type | Rules | Description |
---|---|---|---|
*start_date¶ | google.type.Date | The start date to filter for. | |
*end_date¶ | google.type.Date | The end date to filter for. |
DateTimeFilter¶
DateTimeFilter provides match semantics for date time fields.
Field | Type | Rules | Description |
---|---|---|---|
*time¶ | google.protobuf.Timestamp | The date time to filter for. | |
match_mode¶ | DateTimeFilter.MatchMode | The match mode to use. The default is EQUAL. |
DateTimeRangeFilter¶
DateTimeRangeFilter provides match semantics for date time fields.
Field | Type | Rules | Description |
---|---|---|---|
*start_time¶ | google.protobuf.Timestamp | The start date time to filter for. | |
*end_time¶ | google.protobuf.Timestamp | The end date time to filter for. |
StringListFilter¶
Strings filter x IN and x NOT IN semantics.
Field | Type | Rules | Description |
---|---|---|---|
*values¶ | string | repeated | The value to filter for. |
negate¶ | bool | If true the expression is negated. |
StringScalarFilter¶
StringFilter provides match semantics for strings fields.
Field | Type | Rules | Description |
---|---|---|---|
*value¶ | string | The value to filter for. | |
match_mode¶ | StringScalarFilter.MatchMode | The match mode to use. | |
negate¶ | bool | If true the expression is negated. |
DateFilter.MatchMode¶
Name | Number | Description |
---|---|---|
MATCH_MODE_UNSPECIFIED | 0 | The match mode is unspecified. |
EQUAL | 1 | Filter only matches if the date is equal to the provided date. |
BEFORE | 2 | Filter matches all dates that are before the provided date. |
AFTER | 3 | Filter matches all dates that are after the provided date. |
BEFORE_OR_EQUAL | 4 | Filter matches all dates that are before or equal to the provided date. |
AFTER_OR_EQUAL | 5 | Filter matches all dates that are after or equal to the provided date. |
DateTimeFilter.MatchMode¶
Name | Number | Description |
---|---|---|
MATCH_MODE_UNSPECIFIED | 0 | The match mode is unspecified. |
EQUAL | 1 | Filter only matches if the date is equal to the provided date. |
BEFORE | 2 | Filter matches all dates that are before the provided date. |
AFTER | 3 | Filter matches all dates that are after the provided date. |
BEFORE_OR_EQUAL | 4 | Filter matches all dates that are before or equal to the provided date. |
AFTER_OR_EQUAL | 5 | Filter matches all dates that are after or equal to the provided date. |
StringScalarFilter.MatchMode¶
Name | Number | Description |
---|---|---|
MATCH_MODE_UNSPECIFIED | 0 | The match mode is unspecified. |
EXACT | 1 | Filter only matches if the field contains exactly the expected value. |
PREFIX | 2 | Filter matches all fields that are prefixed with the given value. |
SUFFIX | 3 | Filter matches all fields that are suffixed with the given value. |
SUBSTRING | 4 | Filter matches all fields that contain the given value. |
LetterAddress¶
Combines a name and a postal address.
Field | Type | Rules | Description |
---|---|---|---|
*person¶ | Person | The person being addressed. | |
careof¶ | string | A person that may receive letters in the name of the actual recipient (e.g. a "C/O" line added to the postal address). | |
*postal_address¶ | PostalAddress | The postal address. |
MonthOfYear¶
Represents a month of a year.
Field | Type | Rules | Description |
---|---|---|---|
month¶ | int32 | Month of the year. | |
year¶ | int32 | Year. |
PaymentMethod¶
Possible methods for paying invoices.
Name | Number | Description |
---|---|---|
PAYMENT_METHOD_UNSPECIFIED | 0 | The payment method method is unspecified. |
DIRECT_DEBIT | 1 | Money is automatically withdrawn from the specified bank account. |
MANUAL_TRANSFER | 2 | The customer pays bills manually using money transfers. |
Period¶
A period of time with inclusive start and inclusive and exclusive end time. If both (inclusive and exclusive) ends are specified, they must be consistent. If no end is specified, the period is considered unbounded on the end. If the time is unspecified it is considered to be 00:00:00.000000000 for the start (and exclusive end) and 23:59:59.999999999 for the inclusive end.
The following example represents a period of time from 2006-01-01 to 2006-01-31: { start_time: { hours: 0 minutes: 0 seconds: 0 nanos: 0 } start_date: { year: 2006 month: 1 day: 1 } end_time: { hours: 23 minutes: 59 seconds: 59 nanos: 999999999 } end_date: { year: 2006 month: 1 day: 31 } end_date_exclusive: { year: 2006 month: 2 day: 1 } end_time_exclusive: { hours: 0 minutes: 0 seconds: 0 nanos: 0 } }
Field | Type | Rules | Description |
---|---|---|---|
start_time¶ | google.type.TimeOfDay | The start time of the period (inclusive). | |
end_time¶ | google.type.TimeOfDay | The end time of the period (inclusive). | |
start_date¶ | google.type.Date | The start date of the period (inclusive). | |
end_date¶ | google.type.Date | The end date of the period (inclusive). | |
end_time_exclusive¶ | google.type.TimeOfDay | The end time of the period (exclusive). | |
end_date_exclusive¶ | google.type.Date | The end date of the period (exclusive). | |
time_zone¶ | string | The time zone of the period (defaults to Europe/Berlin). |
Person¶
Information on how to address a person. A person can be either a natural person or a company with an optional contact Natural Person: Must provide firstname, lastname Company: Must provide company
Field | Type | Rules | Description |
---|---|---|---|
salutation¶ | Person.SalutationForm | The salutation of the person. | |
title¶ | string | The title of the person. | |
firstname¶ | string | The first name of the person. | |
lastname¶ | string | The last name of the person. | |
birthday¶ | google.type.Date | The birthday of the person. | |
company¶ | string | The company name. |
Person.SalutationForm¶
Name | Number | Description |
---|---|---|
SALUTATION_FORM_UNSPECIFIED | 0 | The salutation form is unspecified. |
MRS | 1 | The salutation form is Mrs. . |
MR | 2 | The salutation form is Mr. . |
DIVERSE | 3 | The salutation form is Diverse . |
FAMILY | 4 | The salutation form is Family . |
PostalAddress¶
Represents a postal address, e.g. for postal delivery or payments addresses.
Field | Type | Rules | Description |
---|---|---|---|
*region¶ | string | The region the address is located in as a CLDR region code. Example: DE for Germany | |
*postal_code¶ | string | A postal code of the city (a city may have more than one). Example: 76131 for Karlsruhe inner city | |
*city¶ | string | The canonical name of the city (there may be more than one per postal code). Example: Karlsruhe | |
street¶ | string | The canonical name of the street. Example: Kaiserstr. | |
house_number¶ | string | The house number. Examples: 32 , 32a , 32/1 | |
postbox_number¶ | string | Postbox number in case address is a postbox. | |
district¶ | string | Administrative division (i.e. Stadtteil). | |
additional_address_lines¶ | string | repeated | Additional address lines Example: Appartment 104, Care of etc. |
Price¶
Represents a price before and after taxes.
Field | Type | Rules | Description |
---|---|---|---|
*net¶ | google.type.Money | The price without VAT. | |
*gross¶ | google.type.Money | The price including VAT. | |
unit¶ | string | The unit the price is related to (e.g "kWh", "PCS", "month", etc.) |
Quantity¶
Field | Type | Rules | Description |
---|---|---|---|
unit¶ | string | The unit of the quantity. E.g.'kWh' or 'PCS' for pieces. | |
units¶ | int64 | The whole units of the quantity. For example if unit is "PCS" , then 1 unit is one piece. | |
nanos¶ | int32 | Number of nano (10^-9) units of the quantity. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero.If units is zero, nanos can be positive, zero, or negative.If units is negative, nanos must be negative or zero.For example $-1.75 is represented as units =-1 and nanos =-750,000,000. |
RecurringCost¶
Represents a price/cost that repeats at a fixed interval.
Field | Type | Rules | Description |
---|---|---|---|
*price¶ | Price | The price per interval. | |
*interval¶ | google.type.CalendarPeriod | The interval at which the cost occurs (per day, month, etc.). |
TenantScopedListRequest¶
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the list belongs to. | |
page_size¶ | int32 | The maximum number of items to return. 0 for default. | |
page_token¶ | string | The next_page_token value returned from a previous List request, if any. |
TenantScopedResource¶
A tenant scoped resource.
Field | Type | Rules | Description |
---|---|---|---|
*tenant¶ | string | The tenant the resource belongs to. | |
*id¶ | string | The ID of the resource. |
TimeRange¶
A range of time with inclusive start, inclusive and exclusive end time. If both (inclusive and exclusive) ends are specified, they must be consistent. If no end is specified, the period is considered unbounded on the end.
Field | Type | Rules | Description |
---|---|---|---|
start¶ | google.protobuf.Timestamp | The inclusive start. | |
end¶ | google.protobuf.Timestamp | The inclusive end. | |
end_exclusive¶ | google.protobuf.Timestamp | The exclusive end. |
File-level Extensions¶
Extension | Type | Base | Number | Description |
---|---|---|---|---|
throws | string | .google.protobuf.MethodOptions | 76131 | throws is used to document error messages that the method might return in status.details. |
CalendarPeriod¶
A CalendarPeriod
represents the abstract concept of a time period that has a canonical start. Grammatically, "the start of the current CalendarPeriod
." All calendar times begin at midnight UTC.
Name | Number | Description |
---|---|---|
CALENDAR_PERIOD_UNSPECIFIED | 0 | Undefined period, raises an error. |
DAY | 1 | A day. |
WEEK | 2 | A week. Weeks begin on Monday, following ISO 8601. |
FORTNIGHT | 3 | A fortnight. The first calendar fortnight of the year begins at the start of week 1 according to ISO 8601. |
MONTH | 4 | A month. |
QUARTER | 5 | A quarter. Quarters start on dates 1-Jan, 1-Apr, 1-Jul, and 1-Oct of each year. |
HALF | 6 | A half-year. Half-years start on dates 1-Jan and 1-Jul. |
YEAR | 7 | A year. |
Date¶
Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following:
- A full date, with non-zero year, month, and day values
- A month and day value, with a zero year, such as an anniversary
- A year on its own, with zero month and day values
- A year and month value, with a zero day, such as a credit card expiration date
Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and google.protobuf.Timestamp
.
Field | Type | Rules | Description |
---|---|---|---|
year¶ | int32 | Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. | |
month¶ | int32 | Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. | |
day¶ | int32 | Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. |
Money¶
Represents an amount of money with its currency type.
Field | Type | Rules | Description |
---|---|---|---|
currency_code¶ | string | The three-letter currency code defined in ISO 4217. | |
units¶ | int64 | The whole units of the amount. For example if currencyCode is "USD" , then 1 unit is one US dollar. | |
nanos¶ | int32 | Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero.If units is zero, nanos can be positive, zero, or negative.If units is negative, nanos must be negative or zero.For example $-1.75 is represented as units =-1 and nanos =-750,000,000. |