Market API v2 (Beta)
AddressValidation
Address validation by Street & Street number & postal code & city
Validate
List all known cities for a postal code.
Input: ValidateAddressRequest
Campaigns
Marketing campaigns.
List
List active campaigns.
Input: CampaignListRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant to query 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. |
filter | CampaignListRequest.Filter | | The filter to be applied on all campaigns. |
Output: CampaignList
Field | Type | Rules | Description |
campaigns | Campaign | repeated | The requested campaigns. |
next_page_token | string | | Token to retrieve the next page of results, or empty if there are no more results in the list. |
ListProducts
List campaign products.
Input: CampaignProductsListRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant to query for. |
*id | string | | Campaign unique identifier. |
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 | CampaignProductsListRequest.Filter | | The filter to be applied on all campaigns. |
Output: CampaignProductsList
Field | Type | Rules | Description |
products | CampaignProductsList.CampaignProduct | repeated | The requested campaign products. |
next_page_token | string | | Token to retrieve the next page of results, or empty if there are no more results in the list. |
Campaign
CampaignListRequest.Filter
CampaignProductsList.CampaignProduct
Field | Type | Rules | Description |
product_code | string | | The product code. |
highest_version_name | string | | The name of the highest version. |
released_name | string | | The name of the released version. |
type | string | | The product type. |
CampaignProductsListRequest.Filter
Campaign.State
Name | Number | Description |
STATE_UNSPECIFIED | 0 | Campaign state not given. |
STATE_ANY | 1 | Any campaign state. |
STATE_ACTIVE | 2 | Active campaign. |
STATE_INACTIVE | 3 | Inactive campaign. |
STATE_INACTIVE_DELETED | 4 | Inactive and deleted campaign. |
CampaignProductType
Represents the type of the energy for a marketing campaign.
Name | Number | Description |
CAMPAIGN_PRODUCT_TYPE_UNSPECIFIED | 0 | The product type is unspecified. |
ELECTRICITY | 1 | The product type is electricity. |
GAS | 2 | The product type is gas. |
ELECTRICITY_GAS | 3 | Hybrid product type - both gas and electricity. |
CampaignType
Name | Number | Description |
CAMPAIGN_TYPE_UNSPECIFIED | 0 | Unspecified campaign type. |
CAMPAIGN_TYPE_STANDARD | 1 | Standard campaign type. |
CAMPAIGN_TYPE_CLIENT_BASE | 2 | Existing customer campaign type. |
CAMPAIGN_TYPE_PROSPECT | 3 | New customer campaign type. |
CAMPAIGN_TYPE_DEFENSE | 4 | Defense customer campaign. |
CAMPAIGN_TYPE_WIN_BACK | 5 | Win back customer campaign type. |
CAMPAIGN_TYPE_PRICE_ADJUSTMENT | 6 | Price adjustment campaign type. |
CAMPAIGN_TYPE_INTEGRATION | 7 | Web tariff calculation campaign type. |
CAMPAIGN_TYPE_TARIFF_CHANGE | 8 | Tariff change campaign type. |
CAMPAIGN_TYPE_BASIC_SUPPLY | 9 | Basic supply campaign type. |
SalesChannel
Name | Number | Description |
SALES_CHANNEL_UNSPECIFIED | 0 | Channel not given. |
SALES_CHANNEL_ANY | 1 | Any sales channel. |
SALES_CHANNEL_DIRECT | 2 | Direct sales channel. |
SALES_CHANNEL_DOOR_TO_DOOR | 3 | Channel door to door. |
SALES_CHANNEL_INBOUND | 4 | Inbound marketing channel. |
SALES_CHANNEL_ONLINE | 5 | Online marketing channel. |
SALES_CHANNEL_OUTBOUND | 6 | Outbound marketing channel. |
SALES_CHANNEL_POINT_OF_SALE | 7 | Point of sale marketing channel. |
SALES_CHANNEL_RESELLER | 8 | Reseller marketing channel. |
SALES_CHANNEL_COMPARISON_PORTAL | 9 | Comparison portal marketing channel. |
SALES_CHANNEL_APP | 10 | App channel. |
SALES_CHANNEL_CROSS_SELLING | 11 | Cross selling channel. |
SALES_CHANNEL_CUSTOMER_REFERRAL | 12 | Customer referral channel. |
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 |
DegreeDays
Manages degree days
Get
Get a single degree day.
Output: DegreeDay
List
List all degree days.
Input: DegreeDayListRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant to list degree days 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. |
filter | DegreeDayListRequest.Filter | | The filter to apply to. |
order_by | string | | Comma separated list of fields to order by. Use - for descending order, e.g. "-create_time". |
Output: DegreeDayListResponse
Field | Type | Rules | Description |
degree_days | DegreeDay | repeated | The requested degree days. |
total_size | int32 | | Count of items contained in the list. |
next_page_token | string | | Token to retrieve the next page of results, or empty if there are no more results in the list. |
Create
Create a new degree day.
Output: DegreeDay
Update
Update a degree day.
Input: UpdateDegreeDayRequest
Output: DegreeDay
Import
Import a CSV file with degree days
Input: ImportDegreeDaysRequest
Output: ImportDegreeDaysResponse
Field | Type | Rules | Description |
degree_days | DegreeDay | repeated | The degree days that were imported. |
CalculateWeights
Calculate the weights for a given period
Input: CalculateWeightsRequest
Output: CalculateWeightsResponse
PrepareImportDwdDegreeDaysRun
Internal: not for public consumption
Output: ImportDegreeDaysRequest stream
CalculateWeightsResponse.Factor
DegreeDayListRequest.Filter
Field | Type | Rules | Description |
years | int32 | repeated | Filter by years |
months | google.type.Month | repeated | Filter by months |
Name | Number | Description |
FORMAT_UNSPECIFIED | 0 | Unknown format |
DWD | 1 | DWD format |
MANUAL | 2 | Manual format |
EpexSpot
Retrieve Prices.
CalculatePrice
Calculate the price for a specific period.
Input: CalculatePriceRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant to calculate prices for. |
*period | enpowerx.types.Period | | The period the price shall be calculated for. |
aggregation | Aggregation | | The aggregation function of the price's net value. This aggregation is only applied if multiple prices match the period. |
purpose | Purpose | | The purpose the price used for (defaults to BILLING ). |
Output: CalculatePriceResponse
Field | Type | Rules | Description |
net_price | Price | | The price. |
unit | string | | The unit the price series is related with (e.g "kWh", "PCS", "month", etc.) |
currency_code | string | | The price series' currency. |
period | enpowerx.types.Period | | The period the price was calculated for. |
CalculatePriceSeries
Calculate the a series of prices for a specific period.
Input: CalculatePriceSeriesRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant to calculate prices for. |
*period | enpowerx.types.Period | | The period the series shall span over. |
aggregation | Aggregation | | The aggregation function of the price value. An aggregation is required if resolution is not the default value (1h). |
purpose | Purpose | | The purpose the price is used for (defaults to BILLING ). |
resolution | google.protobuf.Duration | | The time resolution between two consecutive price values (defaults to 1h). |
Output: PriceSeries
Field | Type | Rules | Description |
net_prices | Price | repeated | The price series' values. |
unit | string | | The unit the price series is related with (e.g "kWh", "PCS", "month", etc.) |
currency_code | string | | The price series' currency. |
period | enpowerx.types.Period | | The period the price was calculated for. |
resolution | google.protobuf.Duration | | The series' resolution expressed as the interval between two consecutive price values. |
FailedPreconditionAggregationRequiredError
FailedPreconditionNotBillableError
Price
Aggregation
Name | Number | Description |
AGGREGATION_UNSPECIFIED | 0 | The aggregation is unspecified. |
MIN | 1 | The value is the minimum of the retrieved values. |
MAX | 2 | The value is the maximum of the retrieved values. |
MEAN | 3 | The value is the mean of the retrieved values. |
SLP_H0 | 4 | The value is the aggregated with respect to the valid SLP H0 profile. |
Price.Quality
Name | Number | Description |
QUALITY_UNSPECIFIED | 0 | No quality specified. |
ESTIMATED | 1 | An estimated value. |
INCURRED | 2 | An incurred value. |
Purpose
Name | Number | Description |
PURPOSE_UNSPECIFIED | 0 | The purpose is unspecified. |
BILLING | 1 | The price is used for billing. |
SIMULATION | 2 | The price is used for simulation. |
GridFees
Retrieves grid fees.
Get
Get grid fee for a market location.
Input: GridFeeGetRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant the grid fee belongs to. |
*contract | string | | The ID of the contract. |
*id | string | | The ID of the grid fee. |
*period | enpowerx.types.DateRange | | The period in which the grid fee is valid. |
Output: GridFee
Field | Type | Rules | Description |
id | string | | The ID of the grid fee. |
prices | GridFee.Price | repeated | The grid fee prices. |
List
List grid fees for a market location.
Input: GridFeeListRequest
Output: GridFeeList
Field | Type | Rules | Description |
grid_fees | GridFee | repeated | The grid fees. |
GridFee.Price
GridFeeListRequest.Filter
Field | Type | Rules | Description |
ids | string | repeated | The grid fee ids to filter for. |
MarketPartnerInvoices
Handle invoices obtained by market partners.
Set
Add a new invoice.
Input: Invoice
Field | Type | Rules | Description |
*tenant | string | | The tenant the invoice belongs to. |
*market_partner | string | | The market partner id the invoice id belongs to. |
*id | string | | The unique identifier of the invoice. |
*market_location | string | | The market location the invoice refers to. |
*period | enpowerx.types.DateRange | | The period of this invoice. |
*type | Invoice.Type | | The type of the invoice. |
*lines | InvoiceLine | repeated | The line items containing the actual costs. |
*date | google.type.Date | | The date the invoice was issued. |
invoice_reference | string | | A referenced invoice. If type is CANCELLATION this references the cancelled invoice. |
Get
Get a specific invoice.
Input: InvoiceRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant the invoice belongs to. |
*market_partner | string | | The market partner id the invoice id belongs to. |
*id | string | | The unique identifier of the invoice. |
Output: Invoice
Field | Type | Rules | Description |
*tenant | string | | The tenant the invoice belongs to. |
*market_partner | string | | The market partner id the invoice id belongs to. |
*id | string | | The unique identifier of the invoice. |
*market_location | string | | The market location the invoice refers to. |
*period | enpowerx.types.DateRange | | The period of this invoice. |
*type | Invoice.Type | | The type of the invoice. |
*lines | InvoiceLine | repeated | The line items containing the actual costs. |
*date | google.type.Date | | The date the invoice was issued. |
invoice_reference | string | | A referenced invoice. If type is CANCELLATION this references the cancelled invoice. |
List
Fetch stored invoices from all market partners.
Input: InvoiceListRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant the invoice 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 | InvoiceListRequest.Filter | | The filter to be applied on all invoices. |
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. |
InvoiceLine
InvoiceLine.Price
Field | Type | Rules | Description |
*net | google.type.Money | | The price without sales tax. |
*unit | string | | The unit the price is related to (e.g "kWh", "PCS", "month", etc.) |
InvoiceListRequest.Filter
Field | Type | Rules | Description |
market_location | string | optional | The market location the invoices refer to. |
market_partner | string | optional | The market partner the invoices belong to. |
period | enpowerx.types.DateRange | optional | The date range to filter invoices for. |
types | InvoiceTypeListFilter | optional | The types to filter invoices for. |
invoice_reference | string | optional | The referenced invoice to filter for. |
InvoiceTypeListFilter
Field | Type | Rules | Description |
values | Invoice.Type | repeated | The types to filter for. |
negate | bool | | If true the expression is negated. |
Invoice.Type
Name | Number | Description |
TYPE_UNSPECIFIED | 0 | The invoice type is unspecified. |
CYCLIC | 1 | The invoice is a cyclic invoice (DE: Turnusrechnung). |
MONTHLY | 2 | The invoice is a monthly invoice (DE: Monatsrechnung). |
FINAL | 3 | The invoice is a final invoice (DE: Schlussrechnung). |
INTEGRATED_THIRTEENTH | 4 | The invoice is an integrated thirteenth invoice (DE: Integrierte 13. Rechnung). |
THIRTEENTH | 5 | The invoice is a thirteenth invoice (DE: 13. Rechnung). |
INTERIM | 6 | The invoice is an interim invoice (DE: Zwischenrechnung). |
METERING_SERVICE_OPERATION | 7 | The invoice is a billing for metering service operation (DE: Abrechnung des Messstellenbetriebs). |
CANCELLATION | 8 | The invoice is a cancellation invoice (DE: Stornorechnung). |
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 | output only | The current state of the offer. |
create_time | google.protobuf.Timestamp | output only | The creation timestamp of the offer. |
*type | OfferType | | The type of 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. |
*product | string | | The ID of the product that was offered to the customer. |
*campaign | string | | The campaign to be used when ordering the offered product. |
error_message | string | | The error message if state is ERROR . |
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 | OfferListRequest.Filter | | 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.
Do not use this to update state
. Use Accept
or Cancel
instead.
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 | output only | The current state of the offer. |
create_time | google.protobuf.Timestamp | output only | The creation timestamp of the offer. |
*type | OfferType | | The type of 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. |
*product | string | | The ID of the product that was offered to the customer. |
*campaign | string | | The campaign to be used when ordering the offered product. |
error_message | string | | The error message if state is ERROR . |
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 | output only | The current state of the offer. |
create_time | google.protobuf.Timestamp | output only | The creation timestamp of the offer. |
*type | OfferType | | The type of 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. |
*product | string | | The ID of the product that was offered to the customer. |
*campaign | string | | The campaign to be used when ordering the offered product. |
error_message | string | | The error message if state is ERROR . |
Delete
Delete a specific offer.
Field | Type | Rules | Description |
*tenant | string | | The tenant the offer belongs to. |
*id | string | | The ID identifying the offer in the tenant's scope. |
Accept
Accept the offer and set the state
to ACCEPTED
.
Input: OfferAcceptRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant the offer belongs to. |
*id | string | | The ID identifying the offer in the tenant's scope. |
order_details | OfferAcceptRequest.OrderDetails | | Additional information provided by the customer to complete the order. Must be set when Order.type is CROSSSELLING . Must not be set when Order.type is UPSELLING . |
Cancel
Cancel the offer and set the state
to CANCELLED
.
Input: OfferCancelRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant the offer belongs to. |
*id | string | | The ID identifying the offer in the tenant's scope. |
SetError
Set the error message for an offer and reset the state
to PENDING
.
Input: OfferErrorRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant the offer belongs to. |
*id | string | | The ID identifying the offer in the tenant's scope. |
*message | string | | The error message that happened. |
OfferAcceptRequest.OrderDetails
OfferAcceptRequest.OrderDetails.Transition
Field | Type | Rules | Description |
relocation_date | google.type.Date | | The date the customer moved in, if this happened within the last 4 weeks. If this is set termination_date and previous_provider must be unset. |
termination_date | google.type.Date | | The date when the previous contract is terminated. If this is set relocation_date must be unset. |
previous_provider | string | | If the new provider shall terminate the previous contract, set the previous provider's ID. (You can get provider IDs via enpowerx.market.v2.Providers.List() .) If the customer terminates the previous contract, leave unset. If this is set relocation_date must be unset. |
OfferListRequest.Filter
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. |
type | OfferType | | The type of offer. |
customer | string | | The ID of the customer to filter offers for. |
contract | string | | The ID of the customer to filter offers for. |
Offer.State
Name | Number | Description |
STATE_UNSPECIFIED | 0 | The offer state is unspecified. |
PENDING | 2 | The offer is awaiting the customer's choice. |
ACCEPTED | 3 | The customer accepted the offer. |
CANCELLED | 4 | The the offer was not accepted and is no longer valid. |
OfferType
Name | Number | Description |
OFFER_TYPE_UNSPECIFIED | 0 | The offer state is unspecified. |
CROSSSELLING | 1 | Offer to add an additional product to the existing one. |
UPSELLING | 2 | Offer to replace the current product with a new (better) one. |
PriceTables
Calculate and upload new price tables
Get
Get a specific price table.
Input: PriceTableRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant the price table belongs to. |
*id | string | | The price table ID. |
Output: PriceTable
Field | Type | Rules | Description |
*tenant | string | immutable | The tenant the price table belongs to. |
*id | string | immutable | The price table ID. |
create_time | google.protobuf.Timestamp | output only | The creation timestamp of the price table. |
*state | PriceTable.State | | The state of a price table. |
publish_time | google.protobuf.Timestamp | output only | The time when the price table was published to the billing system. |
*product | string | immutable | The product the price table refers to. |
*energy_type | enpowerx.types.EnergyType | immutable | The energy type of the tariff. |
*parameters | PriceTable.CalculationParameters | immutable | The parameters the calculation |
grid_fee_time | google.protobuf.Timestamp | output only | The time reference to query grid fees. |
error_message | string | output only | An error message signalizing an issue during any step of the process. |
comment | string | | Optional information e.g. about the usage of the price table |
*product_display_name | string | immutable | The product name the price table refers to. |
warnings | string | output only repeated | The warnings. |
staging_publish_context | PriceTable.StagingPublishContext | output only | It represents the internal approval of an operator. |
internal_approval | StateChangeContext | output only | It represents the internal approval of an operator. |
external_approval | StateChangeContext | output only | It represents the external approval in the name of the customer. |
reject | StateChangeContext | output only | It represents the reject context |
List
List all price tables.
Input: PriceTableListRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant the price tables 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 | PriceTableListRequest.Filter | | Filter is applied to the list. |
Output: PriceTableList
Field | Type | Rules | Description |
price_tables | PriceTable | repeated | The requested price tables. |
next_page_token | string | | Token to retrieve the next page of results, or empty if there are no more results in the list. |
Import
Import a csv file.
Input: ImportPriceTableRequest
Field | Type | Rules | Description |
*tenant | string | immutable | The tenant the price table belongs to. |
*file | File | immutable | The imported file |
Output: PriceTableList
Field | Type | Rules | Description |
price_tables | PriceTable | repeated | The requested price tables. |
next_page_token | string | | Token to retrieve the next page of results, or empty if there are no more results in the list. |
Export
Export a calculated price table.
Input: PriceTableExportRequest
Output: File
Field | Type | Rules | Description |
display_name | string | | The file name |
mime_type | string | | The file's mime type |
data | bytes | | The file's content |
Approve
Approve a calculated price table.
Input: PriceTableActionRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant the price table belongs to. |
*id | string | | The price table ID. |
comment | string | | Some details on how the action came along. |
Output: PriceTable
Field | Type | Rules | Description |
*tenant | string | immutable | The tenant the price table belongs to. |
*id | string | immutable | The price table ID. |
create_time | google.protobuf.Timestamp | output only | The creation timestamp of the price table. |
*state | PriceTable.State | | The state of a price table. |
publish_time | google.protobuf.Timestamp | output only | The time when the price table was published to the billing system. |
*product | string | immutable | The product the price table refers to. |
*energy_type | enpowerx.types.EnergyType | immutable | The energy type of the tariff. |
*parameters | PriceTable.CalculationParameters | immutable | The parameters the calculation |
grid_fee_time | google.protobuf.Timestamp | output only | The time reference to query grid fees. |
error_message | string | output only | An error message signalizing an issue during any step of the process. |
comment | string | | Optional information e.g. about the usage of the price table |
*product_display_name | string | immutable | The product name the price table refers to. |
warnings | string | output only repeated | The warnings. |
staging_publish_context | PriceTable.StagingPublishContext | output only | It represents the internal approval of an operator. |
internal_approval | StateChangeContext | output only | It represents the internal approval of an operator. |
external_approval | StateChangeContext | output only | It represents the external approval in the name of the customer. |
reject | StateChangeContext | output only | It represents the reject context |
ApproveOnBehalf
Approve a calculated price table on behalf of somebody.
Field | Type | Rules | Description |
*tenant | string | | The tenant the price table belongs to. |
*id | string | | The price table ID. |
comment | string | | Some details on how the action came along. |
Output: PriceTable
Field | Type | Rules | Description |
*tenant | string | immutable | The tenant the price table belongs to. |
*id | string | immutable | The price table ID. |
create_time | google.protobuf.Timestamp | output only | The creation timestamp of the price table. |
*state | PriceTable.State | | The state of a price table. |
publish_time | google.protobuf.Timestamp | output only | The time when the price table was published to the billing system. |
*product | string | immutable | The product the price table refers to. |
*energy_type | enpowerx.types.EnergyType | immutable | The energy type of the tariff. |
*parameters | PriceTable.CalculationParameters | immutable | The parameters the calculation |
grid_fee_time | google.protobuf.Timestamp | output only | The time reference to query grid fees. |
error_message | string | output only | An error message signalizing an issue during any step of the process. |
comment | string | | Optional information e.g. about the usage of the price table |
*product_display_name | string | immutable | The product name the price table refers to. |
warnings | string | output only repeated | The warnings. |
staging_publish_context | PriceTable.StagingPublishContext | output only | It represents the internal approval of an operator. |
internal_approval | StateChangeContext | output only | It represents the internal approval of an operator. |
external_approval | StateChangeContext | output only | It represents the external approval in the name of the customer. |
reject | StateChangeContext | output only | It represents the reject context |
Publish
Publish a calculated price table for billing. The price table
Field | Type | Rules | Description |
*tenant | string | | The tenant the price table belongs to. |
*id | string | | The price table ID. |
Output: PriceTable
Field | Type | Rules | Description |
*tenant | string | immutable | The tenant the price table belongs to. |
*id | string | immutable | The price table ID. |
create_time | google.protobuf.Timestamp | output only | The creation timestamp of the price table. |
*state | PriceTable.State | | The state of a price table. |
publish_time | google.protobuf.Timestamp | output only | The time when the price table was published to the billing system. |
*product | string | immutable | The product the price table refers to. |
*energy_type | enpowerx.types.EnergyType | immutable | The energy type of the tariff. |
*parameters | PriceTable.CalculationParameters | immutable | The parameters the calculation |
grid_fee_time | google.protobuf.Timestamp | output only | The time reference to query grid fees. |
error_message | string | output only | An error message signalizing an issue during any step of the process. |
comment | string | | Optional information e.g. about the usage of the price table |
*product_display_name | string | immutable | The product name the price table refers to. |
warnings | string | output only repeated | The warnings. |
staging_publish_context | PriceTable.StagingPublishContext | output only | It represents the internal approval of an operator. |
internal_approval | StateChangeContext | output only | It represents the internal approval of an operator. |
external_approval | StateChangeContext | output only | It represents the external approval in the name of the customer. |
reject | StateChangeContext | output only | It represents the reject context |
PublishStaging
PublishStaging a calculated price table for billing to a staging environment
Field | Type | Rules | Description |
*tenant | string | | The tenant the price table belongs to. |
*id | string | | The price table ID. |
Output: PriceTable
Field | Type | Rules | Description |
*tenant | string | immutable | The tenant the price table belongs to. |
*id | string | immutable | The price table ID. |
create_time | google.protobuf.Timestamp | output only | The creation timestamp of the price table. |
*state | PriceTable.State | | The state of a price table. |
publish_time | google.protobuf.Timestamp | output only | The time when the price table was published to the billing system. |
*product | string | immutable | The product the price table refers to. |
*energy_type | enpowerx.types.EnergyType | immutable | The energy type of the tariff. |
*parameters | PriceTable.CalculationParameters | immutable | The parameters the calculation |
grid_fee_time | google.protobuf.Timestamp | output only | The time reference to query grid fees. |
error_message | string | output only | An error message signalizing an issue during any step of the process. |
comment | string | | Optional information e.g. about the usage of the price table |
*product_display_name | string | immutable | The product name the price table refers to. |
warnings | string | output only repeated | The warnings. |
staging_publish_context | PriceTable.StagingPublishContext | output only | It represents the internal approval of an operator. |
internal_approval | StateChangeContext | output only | It represents the internal approval of an operator. |
external_approval | StateChangeContext | output only | It represents the external approval in the name of the customer. |
reject | StateChangeContext | output only | It represents the reject context |
Reject
Reject a calculated price table. The price table cannot be rejected after it was published.
Field | Type | Rules | Description |
*tenant | string | | The tenant the price table belongs to. |
*id | string | | The price table ID. |
comment | string | | Some details on how the action came along. |
Output: PriceTable
Field | Type | Rules | Description |
*tenant | string | immutable | The tenant the price table belongs to. |
*id | string | immutable | The price table ID. |
create_time | google.protobuf.Timestamp | output only | The creation timestamp of the price table. |
*state | PriceTable.State | | The state of a price table. |
publish_time | google.protobuf.Timestamp | output only | The time when the price table was published to the billing system. |
*product | string | immutable | The product the price table refers to. |
*energy_type | enpowerx.types.EnergyType | immutable | The energy type of the tariff. |
*parameters | PriceTable.CalculationParameters | immutable | The parameters the calculation |
grid_fee_time | google.protobuf.Timestamp | output only | The time reference to query grid fees. |
error_message | string | output only | An error message signalizing an issue during any step of the process. |
comment | string | | Optional information e.g. about the usage of the price table |
*product_display_name | string | immutable | The product name the price table refers to. |
warnings | string | output only repeated | The warnings. |
staging_publish_context | PriceTable.StagingPublishContext | output only | It represents the internal approval of an operator. |
internal_approval | StateChangeContext | output only | It represents the internal approval of an operator. |
external_approval | StateChangeContext | output only | It represents the external approval in the name of the customer. |
reject | StateChangeContext | output only | It represents the reject context |
Remove
Remove pricetables.
Input: RemovePriceTableRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant the price table belongs to. |
*ids | string | repeated | The price table IDs to remove. |
Output: RemovePriceTableResponse
Field | Type | Rules | Description |
amount_removed | int32 | | amount of removed items |
errors | RemovalErrors | repeated | errors |
FailedPreconditionPriceTableAlreadyPublishedError
FailedPreconditionPriceTableNotApprovedError
PriceTable.CalculationParameters
The price table parameters
PriceTable.CalculationParameters.ConcessionFeeOverride
Field | Type | Rules | Description |
grid_operator | string | | The grid operator number according to BDEW. |
value | google.type.Money | | the value that should be used for the concession fee |
PriceTable.CalculationParameters.SalesAreaConstraint
Field | Type | Rules | Description |
grid_operator | string | repeated | The grid operator number according to BDEW. |
PriceTable.StagingPublishContext
Field | Type | Rules | Description |
create_time | google.protobuf.Timestamp | | The timestamp of the publishing on staging. |
version | int32 | | The version of published changes on staging |
PriceTableListRequest.Filter
Field | Type | Rules | Description |
states | PriceTable.State | repeated | The records must be in one of the selected states. |
RemovalErrors
Field | Type | Rules | Description |
id | string | | price table id |
error_message | string | | error message |
StateChangeContext
Field | Type | Rules | Description |
create_time | google.protobuf.Timestamp | | The timestamp of the state change. |
user_display_name | string | | The user that changed the state of the price table. |
comment | string | | Some details why state change was needed |
PriceTable.State
Name | Number | Description |
STATE_UNSPECIFIED | 0 | The price table's state unspecified. |
DRAFT | 1 | The price table is in draft state. |
PENDING_APPROVAL | 2 | The price table is waiting for an approval. |
APPROVED | 3 | The price table is approved. |
REJECTED | 4 | The price table is rejected. |
PUBLISHED | 5 | The price table is active. |
Name | Number | Description |
FORMAT_UNSPECIFIED | 0 | The price table export format unspecified. |
CSV_POWERCLOUD | 1 | The price table export format for Powercloud. |
CSV_HUMAN | 2 | The price table export format for a human review. |
ProductRecommendations
Provide product recommendations for existing customers.
List
List product recommendations for a given contract.
Input: ProductRecommendationListRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant the contract belongs to. |
*contract | string | | The contract the recommendation is based on. |
*type | OfferType | | The type of recommendation. |
Output: ProductRecommendationList
Field | Type | Rules | Description |
recommendations | ProductRecommendation | repeated | The list of product recommendations |
ProductRecommendation
Field | Type | Rules | Description |
*product | Product | | The recommended product |
campaign | string | | The campaign to be used when ordering the product |
type | OfferType | | The type of recommendation. |
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. |
ListAddons
Get all the addons for the specified product.
Input: ProductListAddonsRequest
Field | Type | Rules | Description |
*tenant | string | | The tenant the product belongs to. |
*id | string | | The product ID. |
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: ProductAddonsList
Field | Type | Rules | Description |
product_addons | ProductAddon | repeated | The requested product addons. |
next_page_token | string | | Token to retrieve the next page of results, or empty if there are no more results in the list. |
GetVersioned
Get a specific version of a specific product.
Input: ProductGetVersionedRequest
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. |
ProductAddon
Field | Type | Rules | Description |
id | string | | The product addon id. |
version | string | | The released version of the addon. |
valid_start | google.type.Date | | The start of the period in which the addon is valid. |
valid_end | google.type.Date | | The end of the period in which the addon is valid. |
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
Output: ProviderList
Field | Type | Rules | Description |
providers | Provider | repeated | The requested providers. |
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 |
ProviderDefaultRequest
ProviderListRequest.Filter
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. |
register_type | RegisterType | | Filter tariffs by the amount of registers. |
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. For double tariff |
estimated_total_cost | enpowerx.types.RecurringCost | | The estimated total cost. |
bonus | enpowerx.types.Price | | Deprecated. The one-time bonus granted to the customer. deprecated: Use bonuses instead. |
*eco_percentage | int32 | | The percentage of environmentally friendly power generation. |
graduated_prices | GraduatedPrice | repeated | Graduated prices defined for this tariff. |
deposit | Deposit | | The deposit. |
working_price_nt | enpowerx.types.Price | | The off-peak price per usage in kWh (DE: Niedertarifarbeitspreis). |
bonuses | Bonus | repeated | Contains the bonuses that come with 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. |
register_type | RegisterType | | Filter tariffs by the amount of registers. |
campaign | string | | Optional override for the default campaign. |
Output: TariffList
Field | Type | Rules | Description |
tariffs | Tariff | repeated | The requested tariffs. |
Bonus
Deposit
GraduatedPrice
Bonus.BonusType
Name | Number | Description |
BONUS_TYPE_UNSPECIFIED | 0 | Unspecified |
IMMEDIATE | 1 | A bonus that will be paid out shortly after contract goes into delivery. |
ACQUISITION | 2 | A bonus that will be paid out after minimum contract term. |
RegisterType
Name | Number | Description |
REGISTER_TYPE_UNSPECIFIED | 0 | Returns tariffs with single and multiple registers. |
SINGLE_REGISTER | 1 | Returns tariffs with single register only . |
MULTIPLE_REGISTERS | 2 | Returns tariffs with multiple registers. |
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.
DateTimeRange
Represents a range of date times.
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. |
EMAIL | 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 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
Reading.Channel
Name | Number | Description |
CHANNEL_UNSPECIFIED | 0 | No channel specified. |
PORTAL | 1 | Reported via end-user portal. |
EMAIL | 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).
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.
DateRangeFilter
DateTimeRangeFilter provides match semantics for date fields. The filter treats the start and end date as inclusive.
DateTimeFilter
DateTimeFilter provides match semantics for date time fields.
DateTimeRangeFilter
DateTimeRangeFilter provides match semantics for date time fields.
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.
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 } }
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. |
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.
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.
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.
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. |
Scalar Value Types
.proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
double | | double | double | float | float64 | double | float | Float |
float | | float | float | float | float32 | float | float | Float |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |
Legend
*) required