@epilot/customer-portal-client
Version:
API Client for epilot portal API
1,599 lines (1,597 loc) • 352 kB
TypeScript
/* eslint-disable */
import type {
OpenAPIClient,
Parameters,
UnknownParamsObject,
OperationResponse,
AxiosRequestConfig,
} from 'openapi-client-axios';
declare namespace Components {
namespace Responses {
export interface ConfirmUserInvalidRequest {
/**
* Error message
*/
message?: string;
reason: "invalid_token";
}
export type Conflict = Schemas.ErrorResp;
export interface ContractAssignmentConflict {
/**
* Error message
*/
message?: string;
/**
* Reason why the contract is not assignable. If the reason is "MULTIPLE", the contract is not assignable because multiple contracts were found and the business logic does not allow it.
*/
reason: "DRAFT" | "MULTIPLE";
}
export type Forbidden = Schemas.ErrorResp;
export type ForbiddenByRule = Schemas.ErrorResp | Schemas.FailedRuleErrorResp;
export type InternalServerError = Schemas.ErrorResp;
export type InvalidRequest = Schemas.ErrorResp;
export type InvalidRequestCreateMeterReading = {
reason?: "plausibility_check_failed" | "contract_period" | "no_counter" | "no_direction" | "timestamp_future" | "less_than_previous" | "greater_than_subsequent" | "meter_decommissioned" | "plausibility_check_failed";
upper_limit: number;
lower_limit: number;
/**
* Error message
*/
message?: string;
} | void;
export type NotFound = Schemas.ErrorResp;
export type Unauthorized = Schemas.ErrorResp;
}
namespace Schemas {
export interface AcceptanceDecision {
/**
* Acceptance decision
*/
decision: "accept" | "decline";
}
export interface ActionLabel {
en?: string | null;
de?: string | null;
}
export interface ActionWidget {
id: string;
type: "ACTION_WIDGET" | "CONTENT_WIDGET" | "ENTITY_WIDGET" | "TEASER_WIDGET" | "DOCUMENT_WIDGET" | "PAYMENT_WIDGET" | "METER_READING_WIDGET" | "METER_CHART_WIDGET" | "CAMPAIGN_WIDGET";
/**
* Index of the widget in the list, used for ordering (left or right)
*/
listIndex: number;
headline?: {
en?: string;
de?: string;
};
subHeadline?: {
en?: string;
de?: string;
};
actions?: WidgetAction[];
}
export interface Activity {
/**
* example:
* MyCustomActivity
*/
type: string;
/**
* Title for activity. Supports handlebars syntax.
* example:
* My custom activity
*/
title: string;
/**
* Message for activity. Supports handlebars syntax.
* example:
* {{caller}} did something with {{entity payload.entity.id}}.
*/
message: string;
/**
* example:
* {
* "entity": {
* "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
* "schema": "contact"
* }
* }
*/
payload?: {
[name: string]: any;
};
}
export interface ActivityCallerContext {
[name: string]: any;
PortalAuth?: {
/**
* example:
* {
* "cognito:username": "john@doe.com",
* "custom:contact_entity_id": "7579d22f-9400-41d1-b460-04730239ee91",
* "custom:org_id": "123456",
* "custom:origin": "END_CUSTOMER_PORTAL",
* "custom:portal_user_id": "06c78f9d-af75-4483-893d-a3fad524400f",
* "email": "john@doe.com",
* "email_verified": true,
* "exp": 1694693219,
* "iat": 1694689619,
* "sub": "8cc73157-3dc4-47f3-b163-d3a5039bba72"
* }
*/
token?: {
/**
* example:
* 8cc73157-3dc4-47f3-b163-d3a5039bba72
*/
sub?: string;
/**
* example:
* john@doe.com
*/
email?: string;
/**
* example:
* john@doe.com
*/
"cognito:username"?: string;
"custom:portal_user_id"?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
"custom:contact_entity_id"?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
};
};
}
/**
* See https://github.com/ulid/spec
* example:
* 01F130Q52Q6MWSNS8N2AVXV4JN
*/
export type ActivityId = string; // ulid
export interface ActivityItem {
_id?: /**
* See https://github.com/ulid/spec
* example:
* 01F130Q52Q6MWSNS8N2AVXV4JN
*/
ActivityId /* ulid */;
timestamp?: string; // date-time
/**
* example:
* MyCustomActivity
*/
type: string;
/**
* Title for activity. Supports handlebars syntax.
* example:
* My custom activity
*/
title: string;
/**
* Message for activity. Supports handlebars syntax.
* example:
* {{caller}} did something with {{entity payload.entity.id}}.
*/
message: string;
/**
* example:
* {
* "entity": {
* "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
* "schema": "contact"
* }
* }
*/
payload?: {
[name: string]: any;
entity?: {
id?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
schema?: string;
};
caller?: ActivityCallerContext;
};
}
export interface AdminUser {
[name: string]: any;
/**
* example:
* user
*/
type?: string | null;
/**
* example:
* 123456
*/
user_id?: string;
/**
* example:
* John
*/
display_name?: string | null;
image_uri?: {
/**
* example:
* https://fuafjvoHKsu.cloudimg.io/v7/e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/fuafjvoHKsudhfagweucjasdvga/original
*/
original?: string | null;
/**
* example:
* https://fuafjvoHKsu.cloudimg.io/v7/e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/fuafjvoHKsudhfagweucjasdvga/original?w=32&h=32
*/
thumbnail_32?: string | null;
/**
* example:
* https://fuafjvoHKsu.cloudimg.io/v7/e-mage-sam-bucket-dev.s3.eu-central-1.amazonaws.com/files/fuafjvoHKsudhfagweucjasdvga/original?w=64&h=64
*/
thumbnail_64?: string | null;
/**
* example:
* fuafjvoHKsudhfagweucjasdvga
*/
key?: string | null;
} | null;
/**
* example:
* 123
*/
org_id?: string;
/**
* example:
* j.doe@epilot.cloud
*/
email?: string | null;
/**
* example:
* 12345 67890
*/
phone?: string | null;
}
/**
* Allowed file extensions for upload
*/
export interface AllowedFileExtensions {
document?: string[];
image?: string[];
spreadsheet?: string[];
presentation?: string[];
audioVideo?: string[];
email?: string[];
archive?: string[];
cad?: string[];
calendar?: string[];
other?: string[];
}
/**
* Dictionary of epilot user attributes to claims
*/
export interface AttributeMappingConfig {
contact: {
[name: string]: any;
/**
* example:
* email
*/
email: string;
/**
* example:
* first_name
*/
first_name?: string;
/**
* example:
* last_name
*/
last_name?: string;
/**
* example:
* tel
*/
phone?: string;
/**
* example:
* language
*/
preferred_language?: string;
/**
* The concession of the user. For eg: GPE, EPE, WPE
* example:
* GPE
*/
concession?: string;
/**
* The installer number of the user
* example:
* 123456
*/
installer_number?: string;
};
account?: {
[name: string]: any;
/**
* example:
* company_name
*/
name?: string;
/**
* example:
* street_name
*/
street?: string;
/**
* example:
* house_number
*/
house_number?: string;
/**
* example:
* postal_code
*/
postal_code?: string;
/**
* example:
* city
*/
city?: string;
};
portal_user?: {
[name: string]: any;
/**
* example:
* access_status
*/
access_status?: string;
/**
* example:
* expires_at
*/
expires_at?: string;
};
concession_attributes?: {
/**
* example:
* water
*/
water?: string;
/**
* example:
* energy
*/
energy?: string;
/**
* example:
* gas
*/
gas?: string;
};
}
export interface AuthConfig {
/**
* AWS Cognito User Pool ID
* example:
* eu-central-1_CUEQRNbUb
*/
user_pool_id: string;
/**
* AWS Cognito User Pool Client ID
* example:
* 6bsd0jkgoie74k2i8mrhc1vest
*/
user_pool_client_id: string;
/**
* AWS Cognito User Pool Identity Pool ID
* example:
* eu-central-1:a63af1f7-ab86-4ab5-a0eb-f461cb37c2b1
*/
user_pool_identity_pool_id?: string;
/**
* Portal ID
* example:
* 7h2hwdj7hhjsdcjkq03eidna3ep
*/
portal_id: string;
}
export interface Balance {
/**
* Current balance of the customer in cents. (precision 2)
* example:
* 8990
*/
balance?: number;
/**
* Current balance of the customer in decimal string representation.
* example:
* 89.90
*/
balance_decimal?: number;
balance_currency?: /**
* Currency code in ISO 4217 format
* example:
* EUR
*/
Currency;
}
/**
* A base billing event to be inherited by all billing events.
*/
export interface BaseBillingEvent {
[name: string]: any;
_id: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* Title of the entity
* example:
* Example Entity
*/
_title: string;
/**
* Organization ID the entity belongs to
* example:
* 123
*/
_org: string;
/**
* Array of entity tags
* example:
* [
* "example",
* "mock"
* ]
*/
_tags?: string[];
/**
* Creation timestamp of the entity
* example:
* 2021-02-09T12:41:43.662Z
*/
_created_at: string; // date-time
/**
* Last update timestamp of the entity
* example:
* 2021-02-09T12:41:43.662Z
*/
_updated_at: string; // date-time
/**
* Amount to be paid in cents i.e. precision 2
* example:
* 10050
*/
billing_amount?: number;
/**
* Amount to be paid in cents in decimal string representation
* example:
* 100.50
*/
billing_amount_decimal?: string;
billing_currency?: /**
* Currency code in ISO 4217 format
* example:
* EUR
*/
Currency;
/**
* Unique identifier for event, used to reference the event to a 3rd party resource such as a SAP Installment.
* example:
* d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e
*/
external_id?: string;
contract: {
$relation?: {
/**
* Entity ID for the related contract.
* example:
* f589786b-3024-43cd-9cb3-5a3c953f2896
*/
entity_id?: string;
}[];
};
}
export interface BaseEntity {
/**
* Entity ID
* example:
* 3fa85f64-5717-4562-b3fc-2c963f66afa6
*/
_id: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* Title of the entity
* example:
* Example Entity
*/
_title: string;
/**
* Organization ID the entity belongs to
* example:
* 123
*/
_org: string;
/**
* Array of entity tags
* example:
* [
* "example",
* "mock"
* ]
*/
_tags?: string[];
/**
* Creation timestamp of the entity
* example:
* 2021-02-09T12:41:43.662Z
*/
_created_at: string; // date-time
/**
* Last update timestamp of the entity
* example:
* 2021-02-09T12:41:43.662Z
*/
_updated_at: string; // date-time
}
/**
* An entity that describes a billing event such as a future installment or a reimbursement back to the customer.
*/
export type BillingEvent = {
/**
* Amount to be paid in cents in decimal string representation
* example:
* 100.50
*/
billing_amount_decimal?: string;
} & (/* An entity that describes a billing event such as a future installment or a reimbursement back to the customer. */ /* An entity that describes an installment billing event. */ InstallmentEvent | /* An entity that describes a reimbursement billing event. */ ReimbursementEvent);
export interface Block {
[name: string]: any;
props?: BlockProps;
/**
* The id of the parent block
* example:
* c495fef9-eeca-4019-a989-8390dcd9825b
*/
parentId?: string;
type: /**
* The type of the block. eg; tabs, tab, group, attribute
* example:
* tab
*/
BlockType;
/**
* The order of the block
* example:
* 1
*/
order: number;
/**
* The id of the block
* example:
* c495fef9-eeca-4019-a989-8390dcd9825b
*/
id: string; // uuid
}
/**
* The id of the block
* example:
* c495fef9-eeca-4019-a989-8390dcd9825b
*/
export type BlockId = string; // uuid
export interface BlockProps {
[name: string]: any;
/**
* The conditions that need to be met for the block to be shown
*/
visibility?: {
[key: string]: any;
};
/**
* The content of the block
*/
content?: {
[key: string]: any;
};
/**
* The design of the block
*/
design?: {
[key: string]: any;
};
}
export interface BlockRequest {
[name: string]: any;
props?: BlockProps;
/**
* The id of the parent block
* example:
* c495fef9-eeca-4019-a989-8390dcd9825b
*/
parentId?: string;
type: /**
* The type of the block. eg; tabs, tab, group, attribute
* example:
* tab
*/
BlockType;
/**
* The order of the block
* example:
* 1
*/
order: number;
}
/**
* The type of the block. eg; tabs, tab, group, attribute
* example:
* tab
*/
export type BlockType = string;
export interface CampaignWidget {
id: string;
type: "ACTION_WIDGET" | "CONTENT_WIDGET" | "ENTITY_WIDGET" | "TEASER_WIDGET" | "DOCUMENT_WIDGET" | "PAYMENT_WIDGET" | "METER_READING_WIDGET" | "METER_CHART_WIDGET" | "CAMPAIGN_WIDGET";
/**
* Index of the widget in the list, used for ordering (left or right)
*/
listIndex: number;
headline?: {
en?: string;
de?: string;
};
subHeadline?: {
en?: string;
de?: string;
};
imageUrl?: string;
button?: {
label?: {
en?: string;
de?: string;
};
url?: string;
};
/**
* ID of the campaign
*/
campaign_id?: string;
}
export interface CommonConfigAttributes {
/**
* Enable/Disable the portal access
*/
enabled?: boolean;
/**
* A short name to identify your portal
* example:
* Installer Portal
*/
name?: string;
/**
* The URL on which the portal is accessible
* example:
* abc.com
*/
domain: string;
/**
* Mark true if the domain is an Epilot domain
*/
is_epilot_domain?: boolean;
/**
* ID of the design used to build the portal
*/
design_id?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
self_registration_setting?: "ALLOW_WITH_CONTACT_CREATION" | "ALLOW_WITHOUT_CONTACT_CREATION" | "DENY";
/**
* Feature settings for the portal
*/
feature_settings?: {
/**
* Start page feature flag
*/
start_page?: boolean;
/**
* Billing feature flag
*/
billing?: boolean;
/**
* Change due date feature flag
*/
change_due_date?: boolean;
/**
* Enable or disable the new design for the portal
*/
new_design?: boolean;
};
/**
* Access token for the portal
*/
accessToken?: string;
advanced_mfa?: {
/**
* Advanced MFA feature flag
*/
enabled?: boolean;
};
/**
* Authentication settings for the portal
*/
auth_settings?: {
passwordless_login?: {
/**
* Passwordless login feature flag
*/
enabled?: boolean;
};
entry_point?: "PASSWORD" | "SSO";
preferred_sso_providers?: /**
* URL-friendly slug to use as organization-unique identifier for Provider
* example:
* office-365-login
*/
ProviderSlug /* [0-9a-z-]+ */[];
};
/**
* AWS Cognito Pool details for the portal
*/
cognito_details?: {
/**
* Cognito user pool client ID
* example:
* 6bsd0jkgoie74k2i8mrhc1vest
*/
cognito_user_pool_client_id?: string;
/**
* Cognito user pool ARN
* example:
* arn:aws:cognito-idp:us-east-1:123412341234:userpool/us-east-1_123412341
*/
cognito_user_pool_arn?: string;
/**
* Cognito user pool ID
* example:
* eu-central-1_CUEQRNbUb
*/
cognito_user_pool_id?: string;
/**
* Password policy for the portal
*/
password_policy?: {
/**
* Minimum password length
* example:
* 8
*/
minimum_length?: number;
/**
* Require lowercase characters
* example:
* true
*/
require_lowercase?: boolean;
/**
* Require uppercase characters
* example:
* true
*/
require_uppercase?: boolean;
/**
* Require numbers
* example:
* true
*/
require_numbers?: boolean;
/**
* Require symbols
* example:
* true
*/
require_symbols?: boolean;
};
};
/**
* Stringified object with configuration details
*/
config?: string;
/**
* Deprecated. Use registration_identifiers instead.
* example:
* [
* "email",
* "last_name"
* ]
*/
contact_identifiers?: string[];
/**
* example:
* {
* "contact": [
* "name",
* "address"
* ],
* "contract": [
* "installment_amount"
* ]
* }
*/
approval_state_attributes?: {
[name: string]: string[];
};
email_templates?: /* Email templates used for authentication and internal processes */ EmailTemplates;
/**
* Teaser & Banner Image web links
*/
images?: {
/**
* URL of the order left teaser image
* example:
* https://epilot-bucket.s3.eu-central-1.amazonaws.com/12344/6538fddb-f0e9-4f0f-af51-6e57891ff20a/order-left-teaser.jpeg
*/
orderLeftTeaser?: string | null;
/**
* URL of the order right teaser image
* example:
* https://epilot-bucket.s3.eu-central-1.amazonaws.com/12344/6538fddb-f0e9-4f0f-af51-6e57891ff20a/order-right-teaser.jpeg
*/
orderRightTeaser?: string | null;
/**
* URL of the welcome banner image
* example:
* https://epilot-bucket.s3.eu-central-1.amazonaws.com/12344/6538fddb-f0e9-4f0f-af51-6e57891ff20a/welcome-banner.jpeg
*/
welcomeBanner?: string | null;
};
/**
* Identifiers used to identify an entity by a portal user. Deprecated. Use contract_identifiers instead.
*/
entity_identifiers?: {
type?: {
/**
* Enable/Disable the entity identifier
*/
isEnabled?: boolean;
/**
* Attributes used to identify an entity
*/
attributes?: string[];
};
};
/**
* Identifiers to identify a contract by a portal user.
* example:
* [
* {
* "name": "email",
* "schema": "contact"
* },
* {
* "name": "last_name",
* "schema": "contact"
* },
* {
* "name": "contract_number",
* "schema": "contract"
* }
* ]
*/
contract_identifiers?: ContractIdentifier[];
/**
* Configuration for contract selector in the portal
*/
contract_selector_config?: {
/**
* Whether to show inactive contracts in the selector
*/
show_inactive?: boolean;
/**
* Path to the property to use as the contract title
*/
title_path?: string;
};
/**
* Identifiers to identify a contact of a portal user during the registration.
* example:
* [
* {
* "name": "last_name",
* "schema": "contact"
* },
* {
* "name": "contract_number",
* "schema": "contract"
* }
* ]
*/
registration_identifiers?: ContractIdentifier[];
/**
* Journeys automatically opened on a portal user action
*/
triggered_journeys?: {
trigger_name?: "FIRST_LOGIN" | "ACCEPT_ORDER" | "DECLINE_ORDER";
journey_id?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
}[];
/**
* Rules for editing an entity by a portal user
*/
entity_edit_rules?: {
slug?: /**
* URL-friendly identifier for the entity schema
* example:
* contact
*/
EntitySlug;
/**
* example:
* first_name
*/
attribute?: string;
rule_type?: "cadence" | "relative_to_current_value" | "days_before_date" | "overdue_payments";
cadence_period_type?: "days" | "weeks" | "months";
/**
* example:
* 1
*/
cadence_period?: number;
/**
* example:
* 1
*/
changes_allowed?: number;
/**
* example:
* 1
*/
grace_period?: number;
/**
* example:
* 10%
*/
allowed_increment?: string;
/**
* example:
* 10%
*/
allowed_decrement?: string;
/**
* example:
* 10
*/
number_of_days_before_restriction?: number;
}[];
allowed_file_extensions?: /* Allowed file extensions for upload */ AllowedFileExtensions;
/**
* Prevent indexing by search engines
*/
prevent_search_engine_indexing?: boolean;
/**
* Grace period in days for meter readings
*/
meter_reading_grace_period?: number;
/**
* Number of years to look back for showing inactive contracts in the portal
*/
inactive_contract_cutoff_years?: number;
pages?: {
[name: string]: Page;
};
}
/**
* The mapped contact of the portal user
*/
export interface Contact {
[name: string]: any;
_id: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* Title of the entity
* example:
* Example Entity
*/
_title: string;
/**
* Organization ID the entity belongs to
* example:
* 123
*/
_org: string;
/**
* Array of entity tags
* example:
* [
* "example",
* "mock"
* ]
*/
_tags?: string[];
/**
* Creation timestamp of the entity
* example:
* 2021-02-09T12:41:43.662Z
*/
_created_at: string; // date-time
/**
* Last update timestamp of the entity
* example:
* 2021-02-09T12:41:43.662Z
*/
_updated_at: string; // date-time
_schema: "contact";
}
export interface ContactCountRequest {
/**
* ID of the organization
* example:
* 728
*/
orgId: string;
/**
* Identifiers to identify a contact
*/
contactIdentifiers: {
[name: string]: string;
};
}
export interface ContactExistsRequest {
/**
* ID of the organization
* example:
* 728
*/
org_id: string;
/**
* Identifier-value pairs per schema to identify a contact of a portal user during the resgistration
* example:
* {
* "contact": {
* "email": "john.doe@example.com"
* },
* "contract": {
* "contract_number": "123456"
* }
* }
*/
registration_identifiers: {
[name: string]: {
[name: string]: string;
};
};
}
export interface ContentWidget {
id: string;
type: "ACTION_WIDGET" | "CONTENT_WIDGET" | "ENTITY_WIDGET" | "TEASER_WIDGET" | "DOCUMENT_WIDGET" | "PAYMENT_WIDGET" | "METER_READING_WIDGET" | "METER_CHART_WIDGET" | "CAMPAIGN_WIDGET";
/**
* Index of the widget in the list, used for ordering (left or right)
*/
listIndex: number;
headline?: {
en?: string;
de?: string;
};
subHeadline?: {
en?: string;
de?: string;
};
content?: string;
}
/**
* The contract entity
*/
export interface Contract {
[name: string]: any;
_id: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* Title of the entity
* example:
* Example Entity
*/
_title: string;
/**
* Organization ID the entity belongs to
* example:
* 123
*/
_org: string;
/**
* Array of entity tags
* example:
* [
* "example",
* "mock"
* ]
*/
_tags?: string[];
/**
* Creation timestamp of the entity
* example:
* 2021-02-09T12:41:43.662Z
*/
_created_at: string; // date-time
/**
* Last update timestamp of the entity
* example:
* 2021-02-09T12:41:43.662Z
*/
_updated_at: string; // date-time
/**
* The name of the contract.
* example:
* Grid Contract
*/
contract_name?: string;
/**
* The unique identifier of the contract.
* example:
* 12345
*/
contract_number?: string;
/**
* The status of the contract.
* example:
* approved
*/
status?: "draft" | "in_approval_process" | "approved" | "active" | "deactivated" | "revoked" | "terminated" | "expired";
/**
* A brief description of the contract.
* example:
* This contract is for the supply of widgets.
*/
description?: string;
/**
* The account number associated with the contract.
* example:
* 67890
*/
account_number?: string;
/**
* The branch associated with the contract.
* example:
* power
*/
branch?: "power" | "gas" | "water" | "waste_water" | "district_heating";
/**
* The billing address associated with the contract.
* example:
* 123 Main St, Anytown
*/
billing_address?: string;
/**
* The delivery address associated with the contract.
* example:
* 456 Elm St, Anytown
*/
delivery_address?: string;
/**
* Any additional addresses associated with the contract.
* example:
* 789 Oak St, Anytown
*/
additional_addresses?: string;
/**
* The date on which the contract was terminated.
* example:
* 2022-01-01
*/
termination_date?: string;
/**
* The reason for the termination of the contract.
* example:
* Non-payment
*/
termination_reason?: string;
/**
* The billing period associated with the contract.
* example:
* monthly
*/
billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly";
/**
* The duration of the billing period.
* example:
* 30
*/
billing_duration_amount?: number;
/**
* The duration of the renewal period.
* example:
* 365
*/
renewal_duration_amount?: number;
/**
* The unit of time for the renewal period.
* example:
* years
*/
renewal_duration_unit?: "weeks" | "months" | "years";
/**
* The amount of notice required for termination of the contract.
* example:
* 30
*/
notice_time_amount?: number;
/**
* The unit of time for the notice period.
* example:
* months
*/
notice_time_unit?: "weeks" | "months" | "years";
/**
* The start date of the contract.
* example:
* 2021-01-01
*/
start_date?: string;
/**
* Defines the day of the month in which the installments are due.
* example:
* 2
*/
billing_due_day?: number;
/**
* Set amount for installments in cents. (precision 2)
* example:
* 10050
*/
installment_amount?: number;
/**
* Current balance of the contract in cents. (precision 2)
* example:
* 8990
*/
balance?: number;
balance_currency?: /**
* Currency code in ISO 4217 format
* example:
* EUR
*/
Currency;
}
export interface ContractIdentifier {
/**
* Name of the identifier/attribute
*/
name?: string;
schema?: /**
* URL-friendly identifier for the entity schema
* example:
* contact
*/
EntitySlug;
}
export interface CreateUserRequest {
/**
* User's email address
* example:
* testemail921@yopmail.com
*/
email: string;
/**
* First Name of the portal user
* example:
* John
*/
first_name?: string;
/**
* Last Name of the portal user
* example:
* Doe
*/
last_name?: string;
contactId?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* ID of the organization
* example:
* 728
*/
orgId: string;
/**
* User's password
* example:
* 124n$aAJs*d41h4
*/
password: string;
/**
* Deprecated. Use registration_identifiers instead.
*/
contactIdentifiers?: {
[name: string]: string;
};
/**
* Identifier-value pairs per schema to identify a contact of a portal user during the resgistration
* example:
* {
* "contact": {
* "email": "john.doe@example.com"
* },
* "contract": {
* "contract_number": "123456"
* }
* }
*/
registration_identifiers?: {
[name: string]: {
[name: string]: string;
};
};
}
/**
* Currency code in ISO 4217 format
* example:
* EUR
*/
export type Currency = string;
export interface DataRetrievalItem {
extension?: PublicExtensionDetails;
hook?: PublicDataRetrievalHookDetails;
}
export interface DeleteEntityFile {
entity_id: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* Entity type
* example:
* order
*/
entity_type: string;
/**
* Array of file entity IDs
*/
file_entity_ids: [
/**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */,
.../**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */[]
];
}
export type Direction = "feed-in" | "feed-out";
export interface DocumentWidget {
id: string;
type: "ACTION_WIDGET" | "CONTENT_WIDGET" | "ENTITY_WIDGET" | "TEASER_WIDGET" | "DOCUMENT_WIDGET" | "PAYMENT_WIDGET" | "METER_READING_WIDGET" | "METER_CHART_WIDGET" | "CAMPAIGN_WIDGET";
/**
* Index of the widget in the list, used for ordering (left or right)
*/
listIndex: number;
headline?: {
en?: string;
de?: string;
};
subHeadline?: {
en?: string;
de?: string;
};
}
/**
* Email templates used for authentication and internal processes
*/
export interface EmailTemplates {
/**
* ID of the confirmation email template upon registration
*/
confirmAccount?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* ID of the advanced Auth with login link and login code
*/
advancedAuth?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* ID of the advanced MFA with login link and login code
*/
advancedMFA?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* ID of the email template for signing up from Journeys
*/
journeySignUp?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* ID of the email template for OTP to sign in from Journeys
*/
journeySignInOneTimePassword?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* ID of the email template for OTP to sign in from Journeys
*/
journeyLoginOTP?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* ID of the email template for forgot password
*/
forgotPassword?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* ID of the email template for invitation
*/
invitation?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* ID of the email template for new quote
*/
onNewQuote?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* ID of the email template for mapping a pending portal user with a contact
*/
onMapAPendingUser?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* ID of the email template for document upload
*/
onDocUpload?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* ID of the email template for workflow step assignment
*/
onWorkflowStepAssigned?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* ID of the email template for setting password while updating email
*/
confirmEmailUpdate?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
/**
* ID of the email template for setting password while verifying code
*/
verifyCodeToSetPassword?: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
}
export interface Entity {
[name: string]: any;
}
export interface EntityEditRule {
slug?: /**
* URL-friendly identifier for the entity schema
* example:
* contact
*/
EntitySlug;
attribute?: string;
rule_type?: string;
cadence_period_type?: string;
changes_allowed?: number;
cadence_period?: number;
allowed_decrement?: string;
allowed_increment?: string;
number_of_days_before_restriction?: number;
grace_period?: number;
}
export interface EntityFileCount {
/**
* The ID of the parent entity
*/
entity_id: /**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
EntityId /* uuid */;
_schema: /**
* URL-friendly identifier for the entity schema
* example:
* contact
*/
EntitySlug;
/**
* The title of the parent entity
* example:
* Opportunity ABC
*/
_title?: string;
/**
* Number of files associated with the entity and shared with portal user
* example:
* 2
*/
file_count: number;
}
/**
* Entity ID
* example:
* 5da0a718-c822-403d-9f5d-20d4584e0528
*/
export type EntityId