import { AbstractRestfulClient, Parameters } from '../abstractRestfulClient'; import { GetResult } from '../getResult'; import { DataCustomers } from './entities/dataCustomers'; import { DataInvitation } from './entities/dataInvitation'; import { DataUnknownLicenses } from './entities/dataUnknownLicenses'; import { DataListOrders } from '../orders'; import { CustomerContactList } from './entities/customers/customerContact/customerContactList'; import { CustomerContact, CustomerContactRoleType, CustomerContactTypeType } from './entities/customers/customerContact/customerContact'; import { CustomerFields, CustomerType } from './entities/customers/customer'; import { ContactFields } from './entities/customers/contact/contact'; import { CustomerProvision } from './entities/customerProvision'; import { CustomerCredentials } from './entities/customerCredentials'; import { CustomerAgreements } from './entities/customers/agreements/customerAgreements'; import { DataInvitationActivate } from './entities/dataInvitationActivate'; import { CustomerCustomFieldType } from './entities/customers/customerCustomField'; export declare enum CustomerMigrationAttributeFields { NAME = "name", VALUE = "value" } export declare enum CustomerMigrationPayloadFields { PROGRAM = "program", ATTRIBUTES = "attributes" } export declare type PostCustomerMigrationAttribute = { [CustomerMigrationAttributeFields.NAME]: string; [CustomerMigrationAttributeFields.VALUE]: string; }; export declare type PostCustomerMigrationPayload = { [CustomerMigrationPayloadFields.PROGRAM]: string; [CustomerMigrationPayloadFields.ATTRIBUTES]?: PostCustomerMigrationAttribute[]; }; export declare enum CustomerContactPayloadFields { COLUMN_FIRST_NAME = "firstName", COLUMN_LAST_NAME = "lastName", COLUMN_EMAIL = "email", COLUMN_PHONE = "phone", COLUMN_USERNAME = "username", COLUMN_TYPE = "type", COLUMN_ROLE = "role", COLUMN_ORGANIZATION_UNIT_ID = "organizationUnitId", COLUMN_ORGANIZATION_UNIT_IDS = "organizationUnitIds" } export declare enum ExportCustomersInputFields { COLUMN_FILTERS = "filters" } export declare enum CustomersFilterInputFields { COMPANY_ID = "companyId", COMPANY_NAME = "companyName", ACRONYM = "acronym", BILLING_ID = "billingId", CITY = "city", ZIP_CODE = "zipCode", STATE = "state", COUNTRY = "country", CREATION_DATE = "creationDate", INTERNAL_REFERENCE = "internalReference" } export declare type PostCustomerContactPayload = { [CustomerContactPayloadFields.COLUMN_FIRST_NAME]: string; [CustomerContactPayloadFields.COLUMN_LAST_NAME]: string; [CustomerContactPayloadFields.COLUMN_EMAIL]: string; [CustomerContactPayloadFields.COLUMN_USERNAME]?: string; [CustomerContactPayloadFields.COLUMN_PHONE]: string; [CustomerContactPayloadFields.COLUMN_TYPE]?: CustomerContactTypeType; [CustomerContactPayloadFields.COLUMN_ROLE]?: CustomerContactRoleType; [CustomerContactPayloadFields.COLUMN_ORGANIZATION_UNIT_ID]?: number; [CustomerContactPayloadFields.COLUMN_ORGANIZATION_UNIT_IDS]?: number[]; }; export declare type PostCustomerContact = { [ContactFields.COLUMN_FIRSTNAME]: string; [ContactFields.COLUMN_LASTNAME]: string; [ContactFields.COLUMN_EMAIL]: string; [ContactFields.COLUMN_PHONE]: string; [ContactFields.COLUMN_TYPE]: CustomerContactTypeType; [ContactFields.COLUMN_ROLE]: CustomerContactRoleType; }; export declare type PostCustomerPayload = { [CustomerFields.COLUMN_COMPANY_NAME]: string; [CustomerFields.COLUMN_PARTNER_COMPANY_ID]?: string; [CustomerFields.COLUMN_ADDRESS_LINE_1]: string; [CustomerFields.COLUMN_ADDRESS_LINE_2]?: string; [CustomerFields.COLUMN_ZIP]: string; [CustomerFields.COLUMN_CITY]: string; [CustomerFields.COLUMN_COUNTRY_CODE]: string; [CustomerFields.COLUMN_STATE]?: string; [CustomerFields.COLUMN_RECEPTION_PHONE]: string; [CustomerFields.COLUMN_WEBSITE_URL]?: string; [CustomerFields.COLUMN_EMAIL_CONTACT]?: string; [CustomerFields.COLUMN_HEADCOUNT]?: number; [CustomerFields.COLUMN_TAX_NUMBER]?: string; [CustomerFields.COLUMN_REF]?: string; [CustomerFields.COLUMN_BILLING_ADDRESS_1]?: string; [CustomerFields.COLUMN_BILLING_ADDRESS_2]?: string; [CustomerFields.COLUMN_BILLING_CITY]?: string; [CustomerFields.COLUMN_BILLING_COUNTRY_CODE]?: string; [CustomerFields.COLUMN_BILLING_ID]?: string; [CustomerFields.COLUMN_BILLING_STATE]?: string; [CustomerFields.COLUMN_BILLING_ZIP_CODE]?: string; [CustomerFields.COLUMN_INTERNAL_REFERENCE]?: string; [CustomerFields.COLUMN_CONTACT]?: PostCustomerContact; [CustomerFields.COLUMN_REGISTRATION_NUMBER]?: string; [CustomerFields.COLUMN_CUSTOM_FIELDS]?: CustomerCustomFieldType[]; [CustomerFields.COLUMN_IS_RESELLER_COMPANY]?: boolean; }; export declare enum PostCustomerInvitationFields { COLUMN_CONTACT_ID = "contactId", COLUMN_POLICY = "policy" } export declare type PostCustomerInvitation = { [PostCustomerInvitationFields.COLUMN_CONTACT_ID]: number; [PostCustomerInvitationFields.COLUMN_POLICY]: string; }; export declare enum PostCustomerInvitationActivateFields { COLUMN_PASSWORD = "password" } export declare type PostCustomerInvitationActivate = { [PostCustomerInvitationActivateFields.COLUMN_PASSWORD]: string; }; export declare type APIResponseResourceCreated = { status: number; data: { reference: string; }; }; export declare type APIResponseCustomerUpdated = { status: number; data: { customers: CustomerType[]; }; }; export declare type APIResponseCustomerMigration = { status: number; }; export interface APIResponseError { status: number; error: string; messages: string; } export declare type PatchCustomerContactPayload = { [Property in keyof PostCustomerContactPayload]?: PostCustomerContactPayload[Property]; }; export declare enum UploadAttachmentInputFields { COLUMN_FILE_ENCODED = "fileEncoded" } export declare type BulkActionInputType = { [UploadAttachmentInputFields.COLUMN_FILE_ENCODED]: string; }; export declare enum ExportGdapRelationshipInputFields { COLUMN_CUSTOMERS_REF = "customerRefs" } export declare type PostExportGdapListType = { [ExportGdapRelationshipInputFields.COLUMN_CUSTOMERS_REF]: string[]; }; export declare type CustomersFilterInputType = { [CustomersFilterInputFields.COMPANY_ID]?: string; [CustomersFilterInputFields.COMPANY_NAME]?: string; [CustomersFilterInputFields.ACRONYM]?: string; [CustomersFilterInputFields.BILLING_ID]?: string; [CustomersFilterInputFields.CITY]?: string; [CustomersFilterInputFields.ZIP_CODE]?: string; [CustomersFilterInputFields.STATE]?: string; [CustomersFilterInputFields.COUNTRY]?: string; [CustomersFilterInputFields.CREATION_DATE]?: string; [CustomersFilterInputFields.INTERNAL_REFERENCE]?: string; }; export declare type ExportCustomersInputType = { [ExportCustomersInputFields.COLUMN_FILTERS]: CustomersFilterInputType; }; export declare class CustomersClient extends AbstractRestfulClient { /** * The base path of the API */ protected basePath: string; getCustomers(parameters?: Parameters): Promise>; getCustomerByRef(customerRef: string, parameters?: Parameters): Promise>; getCustomerOrders(customerRef: string, perPage?: number, page?: number, parameters?: Parameters): Promise>; getCustomerInvitation(codeInvitation: string, parameters?: Parameters): Promise>; getCustomerContactList(customerReference: string, parameters?: Parameters): Promise>; postCustomerContact(customerReference: string, payload: PostCustomerContactPayload, parameters?: Parameters): Promise>; getCustomerContact(customerReference: string, contactReference: string, parameters?: Parameters): Promise>; deleteCustomer(customerReference: string, parameters?: Parameters): Promise; deleteCustomerContact(customerReference: string, contactReference: string, parameters?: Parameters): Promise; patchCustomerContact(customerReference: string, contactReference: string, payload: PatchCustomerContactPayload, parameters?: Parameters): Promise>; createCustomer(payload: PostCustomerPayload, parameters?: Parameters, returnAxiosData?: boolean): Promise; updateCustomer(customerReference: string, payload: Partial, parameters?: Parameters, returnAxiosData?: boolean): Promise; reactivateCustomer(customerRef: string, parameters?: Parameters): Promise; postCustomerInvitation(payload: PostCustomerInvitation, parameters?: Parameters): Promise>; postCustomerMigration(customerReference: string, payload: PostCustomerMigrationPayload, parameters?: Parameters, returnAxiosData?: boolean): Promise; postReconciliationCustomers(program: string, parameters?: Parameters): Promise; cancelCustomerMigration(customerReference: string, program: string): Promise; postCustomerProvision(customerReference: string, payload: PostCustomerMigrationPayload): Promise; getCustomerProvision(customerReference: string, program: string): Promise>; getUnknownLicenses(customerReference: string, parameters?: Parameters): Promise>; postExportGdapRelationship(customerRefs: PostExportGdapListType): Promise; getCustomerVendorCredentials(customerReference: string, vendorReference: string, parameters?: Parameters): Promise>; postBulkUploadCustomer(bulkActionInput: BulkActionInputType): Promise; postExportCustomers(payload: ExportCustomersInputType): Promise; getCheckMicrosoftCustomerAgreement(parameters?: { customerReference?: string; } & Parameters): Promise>; postCustomerInvitationActivate(code: string, payload: PostCustomerInvitationActivate, parameters?: Parameters): Promise>; }