@wix/auto_sdk_crm_extended-fields 1.0.24 → 1.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,8 @@
1
- import { HttpClient, EventDefinition, MaybeContext, BuildRESTFunction, BuildEventDefinition } from '@wix/sdk-types';
2
- import { F as FieldDataTypeWithLiterals, a as FindOrCreateExtendedFieldResponse, E as ExtendedField, R as RenameExtendedField, b as FieldsQueryBuilder, c as ExtendedFieldCreatedEnvelope, d as ExtendedFieldDeletedEnvelope, e as ExtendedFieldUpdatedEnvelope } from './contacts-v4-extended-field-extended-fields.universal-CNPEbwvO.js';
3
- export { C as ActionEvent, J as BaseEventMetadata, D as DeleteExtendedFieldRequest, p as DeleteExtendedFieldResponse, w as DomainEvent, x as DomainEventBodyOneOf, y as EntityCreatedEvent, B as EntityDeletedEvent, A as EntityUpdatedEvent, K as EventMetadata, f as FieldDataType, g as FieldType, N as FieldsQueryResult, k as FindOrCreateExtendedFieldRequest, s as GdprListRequest, t as GdprListResponse, m as GetExtendedFieldByLegacyIdRequest, n as GetExtendedFieldByLegacyIdResponse, G as GetExtendedFieldRequest, l as GetExtendedFieldResponse, I as IdentificationData, H as IdentificationDataIdOneOf, L as ListExtendedFieldsRequest, i as ListExtendedFieldsResponse, M as MessageEnvelope, P as Paging, j as PagingMetadata, q as PurgeRequest, r as PurgeResponse, u as Query, Q as QueryExtendedFieldsRequest, v as QueryExtendedFieldsResponse, z as RestoreInfo, S as SortOrder, h as Sorting, U as UpdateExtendedFieldRequest, o as UpdateExtendedFieldResponse, W as WebhookIdentityType } from './contacts-v4-extended-field-extended-fields.universal-CNPEbwvO.js';
1
+ import { HttpClient, NonNullablePaths, EventDefinition, MaybeContext, BuildRESTFunction, BuildEventDefinition } from '@wix/sdk-types';
2
+ import { FieldDataTypeWithLiterals, FindOrCreateExtendedFieldResponse, FindOrCreateExtendedFieldApplicationErrors, ExtendedField, RenameExtendedField, FieldsQueryBuilder, ExtendedFieldCreatedEnvelope, ExtendedFieldDeletedEnvelope, ExtendedFieldUpdatedEnvelope } from './index.typings.js';
3
+ export { ActionEvent, BaseEventMetadata, DeleteExtendedFieldRequest, DeleteExtendedFieldResponse, DomainEvent, DomainEventBodyOneOf, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, EventMetadata, FieldDataType, FieldType, FieldsQueryResult, FindOrCreateExtendedFieldRequest, GdprListRequest, GdprListResponse, GetExtendedFieldByLegacyIdRequest, GetExtendedFieldByLegacyIdResponse, GetExtendedFieldRequest, GetExtendedFieldResponse, IdentificationData, IdentificationDataIdOneOf, ListExtendedFieldsRequest, ListExtendedFieldsResponse, MessageEnvelope, Paging, PagingMetadata, PurgeRequest, PurgeResponse, Query, QueryExtendedFieldsRequest, QueryExtendedFieldsResponse, RestoreInfo, SortOrder, Sorting, UpdateExtendedFieldRequest, UpdateExtendedFieldResponse, WebhookIdentityType } from './index.typings.js';
4
4
 
5
+ type ExtendedFieldNonNullablePaths = `key` | `displayName` | `dataType` | `fieldType`;
5
6
  declare function findOrCreateExtendedField$1(httpClient: HttpClient): FindOrCreateExtendedFieldSignature;
6
7
  interface FindOrCreateExtendedFieldSignature {
7
8
  /**
@@ -24,7 +25,11 @@ interface FindOrCreateExtendedFieldSignature {
24
25
  * for the specified display name.
25
26
  * @returns Extended field that was found or created.
26
27
  */
27
- (displayName: string, dataType: FieldDataTypeWithLiterals): Promise<FindOrCreateExtendedFieldResponse>;
28
+ (displayName: string, dataType: FieldDataTypeWithLiterals): Promise<NonNullablePaths<FindOrCreateExtendedFieldResponse, {
29
+ [P in ExtendedFieldNonNullablePaths]: `field.${P}`;
30
+ }[ExtendedFieldNonNullablePaths] | `newField`> & {
31
+ __applicationErrorsType?: FindOrCreateExtendedFieldApplicationErrors;
32
+ }>;
28
33
  }
29
34
  declare function getExtendedField$1(httpClient: HttpClient): GetExtendedFieldSignature;
30
35
  interface GetExtendedFieldSignature {
@@ -33,7 +38,7 @@ interface GetExtendedFieldSignature {
33
38
  * @param - null
34
39
  * @returns The specified field.
35
40
  */
36
- (key: string): Promise<ExtendedField>;
41
+ (key: string): Promise<NonNullablePaths<ExtendedField, ExtendedFieldNonNullablePaths>>;
37
42
  }
38
43
  declare function renameExtendedField$1(httpClient: HttpClient): RenameExtendedFieldSignature;
39
44
  interface RenameExtendedFieldSignature {
@@ -43,7 +48,7 @@ interface RenameExtendedFieldSignature {
43
48
  * @param - null
44
49
  * @returns Renamed extended field.
45
50
  */
46
- (key: string, field: RenameExtendedField): Promise<ExtendedField>;
51
+ (key: string, field: NonNullablePaths<RenameExtendedField, `displayName`>): Promise<NonNullablePaths<ExtendedField, ExtendedFieldNonNullablePaths>>;
47
52
  }
48
53
  declare function deleteExtendedField$1(httpClient: HttpClient): DeleteExtendedFieldSignature;
49
54
  interface DeleteExtendedFieldSignature {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.ts","../../src/contacts-v4-extended-field-extended-fields.public.ts","../../src/contacts-v4-extended-field-extended-fields.universal.ts","../../src/contacts-v4-extended-field-extended-fields.http.ts","../../src/contacts-v4-extended-field-extended-fields.context.ts"],"sourcesContent":["export * from './src/contacts-v4-extended-field-extended-fields.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n ExtendedField,\n ExtendedFieldCreatedEnvelope,\n ExtendedFieldDeletedEnvelope,\n ExtendedFieldUpdatedEnvelope,\n FieldDataTypeWithLiterals,\n FieldsQueryBuilder,\n FindOrCreateExtendedFieldResponse,\n RenameExtendedField,\n deleteExtendedField as universalDeleteExtendedField,\n findOrCreateExtendedField as universalFindOrCreateExtendedField,\n getExtendedField as universalGetExtendedField,\n queryExtendedFields as universalQueryExtendedFields,\n renameExtendedField as universalRenameExtendedField,\n} from './contacts-v4-extended-field-extended-fields.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/crm' };\n\nexport function findOrCreateExtendedField(\n httpClient: HttpClient\n): FindOrCreateExtendedFieldSignature {\n return (displayName: string, dataType: FieldDataTypeWithLiterals) =>\n universalFindOrCreateExtendedField(\n displayName,\n dataType,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface FindOrCreateExtendedFieldSignature {\n /**\n * Retrieves a custom field with a specified name, or creates one if it doesn't exist.\n * The number of custom fields is limited to 100.\n *\n * Successful calls to this method always return a field,\n * which can be specified in subsequent calls.\n *\n * To find an existing custom field without potentially creating a new one, call Get Extended Field or\n * Query Extended Fields.\n * @param - Display name to retrieve or create.\n *\n * If an existing custom field is an exact match\n * for the specified display name,\n * the existing field is returned.\n * If not, a new field is created and returned.\n * @param - Type of data the field holds.\n * Ignored if an existing field is an exact match\n * for the specified display name.\n * @returns Extended field that was found or created.\n */\n (\n displayName: string,\n dataType: FieldDataTypeWithLiterals\n ): Promise<FindOrCreateExtendedFieldResponse>;\n}\n\nexport function getExtendedField(\n httpClient: HttpClient\n): GetExtendedFieldSignature {\n return (key: string) =>\n universalGetExtendedField(\n key,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetExtendedFieldSignature {\n /**\n * Retrieves an extended field by the specified extended field key.\n * @param - null\n * @returns The specified field.\n */\n (key: string): Promise<ExtendedField>;\n}\n\nexport function renameExtendedField(\n httpClient: HttpClient\n): RenameExtendedFieldSignature {\n return (\n key: string,\n field: NonNullablePaths<RenameExtendedField, `displayName`>\n ) =>\n universalRenameExtendedField(\n key,\n field,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RenameExtendedFieldSignature {\n /**\n * Renames an extended field.\n * @param - null\n * @param - null\n * @returns Renamed extended field.\n */\n (key: string, field: RenameExtendedField): Promise<ExtendedField>;\n}\n\nexport function deleteExtendedField(\n httpClient: HttpClient\n): DeleteExtendedFieldSignature {\n return (key: string) =>\n universalDeleteExtendedField(\n key,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteExtendedFieldSignature {\n /**\n * Deletes an extended field.\n *\n * When an extended field is deleted,\n * any contact data stored in the field is also permanently deleted.\n * @param - Extended field key.\n */\n (key: string): Promise<void>;\n}\n\nexport function queryExtendedFields(\n httpClient: HttpClient\n): QueryExtendedFieldsSignature {\n return () =>\n universalQueryExtendedFields(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryExtendedFieldsSignature {\n /**\n * Creates a query to retrieve a list of extended fields.\n *\n * The `queryExtendedFields()` method builds a query to retrieve a list of extended fields and returns an `FieldsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the `find()` method.\n *\n * You can refine the query by chaining `FieldsQueryBuilder` methods onto the query. `FieldsQueryBuilder` methods enable you to filter, sort, and control the results that `queryExtendedFields()` returns.\n *\n * `queryExtendedFields()` runs with these `FieldsQueryBuilder` defaults, which you can override:\n * - `skip()`\n * - `limit(50)`\n * - `descending('_createdDate')`\n *\n * The following `FieldsQueryBuilder` methods are supported for `queryExtendedFields()`. For a full description of the `Extended Field` object, see the object returned for the `items` property in `FieldsQueryResult`.\n */\n (): FieldsQueryBuilder;\n}\n\nexport const onExtendedFieldCreated = EventDefinition(\n 'wix.contacts.v4.extended-field_created',\n true,\n (event: ExtendedFieldCreatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<ExtendedFieldCreatedEnvelope>();\nexport const onExtendedFieldDeleted = EventDefinition(\n 'wix.contacts.v4.extended-field_deleted',\n true,\n (event: ExtendedFieldDeletedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'undefined.createdDate' },\n { path: 'undefined.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<ExtendedFieldDeletedEnvelope>();\nexport const onExtendedFieldUpdated = EventDefinition(\n 'wix.contacts.v4.extended-field_updated',\n true,\n (event: ExtendedFieldUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<ExtendedFieldUpdatedEnvelope>();\n\nexport {\n ActionEvent,\n BaseEventMetadata,\n DeleteExtendedFieldRequest,\n DeleteExtendedFieldResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EventMetadata,\n ExtendedField,\n ExtendedFieldCreatedEnvelope,\n ExtendedFieldDeletedEnvelope,\n ExtendedFieldUpdatedEnvelope,\n FieldDataType,\n FieldType,\n FieldsQueryBuilder,\n FieldsQueryResult,\n FindOrCreateExtendedFieldRequest,\n FindOrCreateExtendedFieldResponse,\n GdprListRequest,\n GdprListResponse,\n GetExtendedFieldByLegacyIdRequest,\n GetExtendedFieldByLegacyIdResponse,\n GetExtendedFieldRequest,\n GetExtendedFieldResponse,\n IdentificationData,\n IdentificationDataIdOneOf,\n ListExtendedFieldsRequest,\n ListExtendedFieldsResponse,\n MessageEnvelope,\n Paging,\n PagingMetadata,\n PurgeRequest,\n PurgeResponse,\n Query,\n QueryExtendedFieldsRequest,\n QueryExtendedFieldsResponse,\n RenameExtendedField,\n RestoreInfo,\n SortOrder,\n Sorting,\n UpdateExtendedFieldRequest,\n UpdateExtendedFieldResponse,\n WebhookIdentityType,\n} from './contacts-v4-extended-field-extended-fields.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, HttpResponse, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixContactsV4ExtendedField from './contacts-v4-extended-field-extended-fields.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\n/** Extended field that was found or created. */\nexport interface ExtendedField {\n /**\n * Extended field namespace.\n *\n * Extended fields created through by calling the Find Or Create Extended Field method\n * are automatically assigned to the `custom` namespace.\n * @readonly\n * @minLength 1\n * @maxLength 25\n */\n namespace?: string | null;\n /**\n * Extended field key.\n *\n * When accessing contact data,\n * extended field data is available at `extendedFields[key]`.\n * For example, if the key is \"custom.notes\",\n * the value can be accessed at `extendedFields[\"custom.notes\"]`.\n *\n * `key` is generated when the extended field is created\n * and can't be modified, even if `displayName` changes.\n * @readonly\n * @minLength 1\n * @maxLength 80\n */\n key?: string;\n /**\n * Display name shown in the contact list.\n * @minLength 1\n * @maxLength 150\n */\n displayName?: string;\n /**\n * Type of data the field holds.\n * @readonly\n */\n dataType?: FieldDataTypeWithLiterals;\n /**\n * Indicates whether the extended field is a system field or custom field.\n * @readonly\n */\n fieldType?: FieldTypeWithLiterals;\n /**\n * Date and time the field was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the field was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Field description, if the field is a system field.\n * @readonly\n * @minLength 1\n * @maxLength 150\n */\n description?: string | null;\n}\n\nexport enum FieldDataType {\n /** Accepts strings. */\n TEXT = 'TEXT',\n /** Accepts floats. */\n NUMBER = 'NUMBER',\n /** Accepts dates formatted as `YYYY-MM-DD`. */\n DATE = 'DATE',\n /** Accepts strings. Prepends `https://` if no protocol is included. */\n URL = 'URL',\n}\n\n/** @enumType */\nexport type FieldDataTypeWithLiterals =\n | FieldDataType\n | 'TEXT'\n | 'NUMBER'\n | 'DATE'\n | 'URL';\n\nexport enum FieldType {\n /** Field is a system field managed by Wix. System fields can't be modified by calling the Update Extended Field method. */\n SYSTEM = 'SYSTEM',\n /** Field is a custom field and can be modified by calling the Update Extended Field method. */\n USER_DEFINED = 'USER_DEFINED',\n}\n\n/** @enumType */\nexport type FieldTypeWithLiterals = FieldType | 'SYSTEM' | 'USER_DEFINED';\n\n/** Extended field filter options. */\nexport interface ListExtendedFieldsRequest {\n /** Filter for fields of the specified type. */\n fieldType?: FieldTypeWithLiterals;\n /**\n * Filter for fields in the specified namespace.\n * Fields created by calling the Find Or Create Extended Field method\n * are automatically assigned to the `custom` namespace.\n * @minLength 3\n * @maxLength 25\n */\n namespace?: string | null;\n /**\n * Filter for fields where `displayName` starts with the specified case-sensitive string.\n * @maxLength 150\n */\n startsWith?: string | null;\n /** Sorting options. */\n sort?: Sorting;\n /** Paging options. */\n paging?: Paging;\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 100\n */\n fieldName?: string;\n /**\n * Sort order.\n *\n * Default: `ASC`.\n */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n /** Sort by ascending order. */\n ASC = 'ASC',\n /** Sort by descending order. */\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface Paging {\n /**\n * Number of items to return.\n *\n * Defaults to `100`.\n */\n limit?: number | null;\n /**\n * Number of items to skip in the current sort order.\n *\n * Defaults to `0`.\n */\n offset?: number | null;\n}\n\n/** List of extended fields. */\nexport interface ListExtendedFieldsResponse {\n /** List of extended fields. */\n fields?: ExtendedField[];\n /** Metadata for the page of results. */\n metadata?: PagingMetadata;\n}\n\nexport interface PagingMetadata {\n /** Number of items returned. */\n count?: number | null;\n /** Requested offset. */\n offset?: number | null;\n /** Number of items that matched the query. */\n total?: number | null;\n /**\n * Indicates if `total` calculation timed out before the response was sent.\n * Typically this happens if there is a large set of results.\n */\n tooManyToCount?: boolean | null;\n}\n\n/** Custom field to find or create. */\nexport interface FindOrCreateExtendedFieldRequest {\n /**\n * Display name to retrieve or create.\n *\n * If an existing custom field is an exact match\n * for the specified display name,\n * the existing field is returned.\n * If not, a new field is created and returned.\n * @minLength 1\n * @maxLength 150\n */\n displayName: string;\n /**\n * Type of data the field holds.\n * Ignored if an existing field is an exact match\n * for the specified display name.\n */\n dataType?: FieldDataTypeWithLiterals;\n}\n\n/** Extended field that was found or created. */\nexport interface FindOrCreateExtendedFieldResponse {\n /** Extended field that was found or created. */\n field?: ExtendedField;\n /**\n * Indicates whether the extended field was just created or already existed.\n *\n * Returns `true` if the field was just created.\n */\n newField?: boolean;\n}\n\nexport interface GetExtendedFieldRequest {\n /**\n * Extended field key.\n *\n * When accessing contact data,\n * extended field values are available at `info.extendedFields.items[key]`.\n * For example, if the key is \"custom.patronus\",\n * the value can be accessed at `info.extendedFields.items[\"custom.patronus\"]`.\n *\n * `key` is generated when the extended field is created.\n * It can't be modified, even if `displayName` is updated.\n * @minLength 1\n * @maxLength 80\n */\n key: string;\n}\n\n/** The specified field. */\nexport interface GetExtendedFieldResponse {\n /** The specified field. */\n field?: ExtendedField;\n}\n\nexport interface GetExtendedFieldByLegacyIdRequest {\n /**\n * Legacy ID of the extended field.\n * @format GUID\n */\n legacyId?: string;\n}\n\nexport interface GetExtendedFieldByLegacyIdResponse {\n /** The requested extended field. */\n field?: ExtendedField;\n}\n\nexport interface UpdateExtendedFieldRequest {\n /** Extended field to rename. */\n field?: ExtendedField;\n}\n\n/** Updated extended field. */\nexport interface UpdateExtendedFieldResponse {\n /** Renamed extended field. */\n field?: ExtendedField;\n}\n\nexport interface DeleteExtendedFieldRequest {\n /**\n * Extended field key.\n * @minLength 1\n * @maxLength 80\n */\n key: string;\n}\n\nexport interface DeleteExtendedFieldResponse {}\n\nexport interface PurgeRequest {\n /**\n * Instance ID of the site.\n * @format GUID\n */\n instanceId?: string;\n}\n\nexport interface PurgeResponse {\n /** Number of items deleted. */\n deletedItems?: number;\n}\n\nexport interface GdprListRequest {\n /**\n * Instance ID of the site.\n * @format GUID\n */\n instanceId?: string;\n}\n\nexport interface GdprListResponse {\n /** List of extended fields. */\n fields?: ExtendedField[];\n}\n\nexport interface QueryExtendedFieldsRequest {\n /** Query options. */\n query?: Query;\n}\n\nexport interface Query {\n /**\n * ilter object.\n *\n * Possible filters: `$eq`, `$gt`, `$gte`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`.\n *\n * For a detailed list of supported filters, see [sorting and filtering for extended fields](https://dev.wix.com/api/rest/contacts/extended-fields/sort-and-filter).\n *\n * Example: `{ \"filter\": {\n * \"displayName\": {\n * \"$startsWith\": \"Referral\"\n * }\n * }\n * }`\n */\n filter?: Record<string, any> | null;\n /**\n * Sorting options. Currently supports sorting on one field only.\n *\n * Example: `{ \"sort\": [{\"fieldName\": \"displayName\", \"order\": \"DESC\"}] }`\n * @maxSize 1\n */\n sort?: Sorting[];\n /** Pagination options. */\n paging?: Paging;\n}\n\nexport interface QueryExtendedFieldsResponse {\n /** List of extended fields. */\n fields?: ExtendedField[];\n /** Details on the paged set of results returned. */\n pagingMetadata?: PagingMetadata;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\nexport interface ExtendedFieldCreatedEnvelope {\n entity: ExtendedField;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an extended field is created.\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Manage Bookings Services and Settings\n * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n * @permissionScope Manage Events\n * @permissionScopeId SCOPE.EVENTS.MANAGE-EVENTS\n * @permissionScope Manage Challenges\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionScope Manage Portfolio\n * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.BLOG.MANAGE-BLOG\n * @permissionScope Manage Contact Extended Fields\n * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS\n * @permissionScope Access Verticals by Automations\n * @permissionScopeId SCOPE.CRM.ACCESS-VERTICALS-BY-AUTOMATIONS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Set Up Automations\n * @permissionScopeId SCOPE.CRM.SETUP-AUTOMATIONS\n * @permissionScope Manage Members and Contacts - all permissions\n * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n * @permissionId CONTACTS_SCHEMA.VIEW\n * @webhook\n * @eventType wix.contacts.v4.extended-field_created\n * @serviceIdentifier com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4\n * @slug created\n */\nexport declare function onExtendedFieldCreated(\n handler: (event: ExtendedFieldCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface ExtendedFieldDeletedEnvelope {\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an extended field is deleted.\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Manage Bookings Services and Settings\n * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n * @permissionScope Manage Events\n * @permissionScopeId SCOPE.EVENTS.MANAGE-EVENTS\n * @permissionScope Manage Challenges\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionScope Manage Portfolio\n * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.BLOG.MANAGE-BLOG\n * @permissionScope Manage Contact Extended Fields\n * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS\n * @permissionScope Access Verticals by Automations\n * @permissionScopeId SCOPE.CRM.ACCESS-VERTICALS-BY-AUTOMATIONS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Set Up Automations\n * @permissionScopeId SCOPE.CRM.SETUP-AUTOMATIONS\n * @permissionScope Manage Members and Contacts - all permissions\n * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n * @permissionId CONTACTS_SCHEMA.VIEW\n * @webhook\n * @eventType wix.contacts.v4.extended-field_deleted\n * @serviceIdentifier com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4\n * @slug deleted\n */\nexport declare function onExtendedFieldDeleted(\n handler: (event: ExtendedFieldDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface ExtendedFieldUpdatedEnvelope {\n entity: ExtendedField;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an extended field is updated.\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Manage Bookings Services and Settings\n * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n * @permissionScope Manage Events\n * @permissionScopeId SCOPE.EVENTS.MANAGE-EVENTS\n * @permissionScope Manage Challenges\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionScope Manage Portfolio\n * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.BLOG.MANAGE-BLOG\n * @permissionScope Manage Contact Extended Fields\n * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS\n * @permissionScope Access Verticals by Automations\n * @permissionScopeId SCOPE.CRM.ACCESS-VERTICALS-BY-AUTOMATIONS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Set Up Automations\n * @permissionScopeId SCOPE.CRM.SETUP-AUTOMATIONS\n * @permissionScope Manage Members and Contacts - all permissions\n * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n * @permissionId CONTACTS_SCHEMA.VIEW\n * @webhook\n * @eventType wix.contacts.v4.extended-field_updated\n * @serviceIdentifier com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4\n * @slug updated\n */\nexport declare function onExtendedFieldUpdated(\n handler: (event: ExtendedFieldUpdatedEnvelope) => void | Promise<void>\n): void;\n\ntype ExtendedFieldNonNullablePaths =\n | `key`\n | `displayName`\n | `dataType`\n | `fieldType`;\n\n/**\n * Retrieves a custom field with a specified name, or creates one if it doesn't exist.\n * The number of custom fields is limited to 100.\n *\n * Successful calls to this method always return a field,\n * which can be specified in subsequent calls.\n *\n * To find an existing custom field without potentially creating a new one, call Get Extended Field or\n * Query Extended Fields.\n * @param displayName - Display name to retrieve or create.\n *\n * If an existing custom field is an exact match\n * for the specified display name,\n * the existing field is returned.\n * If not, a new field is created and returned.\n * @param dataType - Type of data the field holds.\n * Ignored if an existing field is an exact match\n * for the specified display name.\n * @public\n * @requiredField dataType\n * @requiredField displayName\n * @permissionId CONTACTS_SCHEMA.MODIFY\n * @applicableIdentity APP\n * @returns Extended field that was found or created.\n * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.FindOrCreateExtendedField\n */\nexport async function findOrCreateExtendedField(\n displayName: string,\n dataType: FieldDataTypeWithLiterals\n): Promise<\n NonNullablePaths<\n FindOrCreateExtendedFieldResponse,\n | {\n [P in ExtendedFieldNonNullablePaths]: `field.${P}`;\n }[ExtendedFieldNonNullablePaths]\n | `newField`\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n displayName: displayName,\n dataType: dataType,\n });\n\n const reqOpts =\n ambassadorWixContactsV4ExtendedField.findOrCreateExtendedField(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { displayName: '$[0]', dataType: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['displayName', 'dataType']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves an extended field by the specified extended field key.\n * @public\n * @requiredField key\n * @param key - null\n * @permissionId CONTACTS_SCHEMA.VIEW\n * @applicableIdentity APP\n * @returns The specified field.\n * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.GetExtendedField\n */\nexport async function getExtendedField(\n key: string\n): Promise<NonNullablePaths<ExtendedField, ExtendedFieldNonNullablePaths>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ key: key });\n\n const reqOpts =\n ambassadorWixContactsV4ExtendedField.getExtendedField(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.field!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { key: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['key']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Renames an extended field.\n * @public\n * @requiredField field\n * @requiredField field.displayName\n * @requiredField key\n * @param key - null\n * @param field - null\n * @permissionId CONTACTS_SCHEMA.MODIFY\n * @applicableIdentity APP\n * @returns Renamed extended field.\n * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.UpdateExtendedField\n */\nexport async function renameExtendedField(\n key: string,\n field: NonNullablePaths<RenameExtendedField, `displayName`>\n): Promise<NonNullablePaths<ExtendedField, ExtendedFieldNonNullablePaths>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n field: { ...field, key: key },\n });\n\n const reqOpts =\n ambassadorWixContactsV4ExtendedField.updateExtendedField(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.field!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { field: '$[1]' },\n explicitPathsToArguments: { 'field.key': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['key', 'field']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface RenameExtendedField {\n /**\n * Extended field namespace.\n *\n * Extended fields created through by calling the Find Or Create Extended Field method\n * are automatically assigned to the `custom` namespace.\n * @readonly\n * @minLength 1\n * @maxLength 25\n */\n namespace?: string | null;\n /**\n * Display name shown in the contact list.\n * @minLength 1\n * @maxLength 150\n */\n displayName?: string;\n /**\n * Type of data the field holds.\n * @readonly\n */\n dataType?: FieldDataTypeWithLiterals;\n /**\n * Indicates whether the extended field is a system field or custom field.\n * @readonly\n */\n fieldType?: FieldTypeWithLiterals;\n /**\n * Date and time the field was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the field was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Field description, if the field is a system field.\n * @readonly\n * @minLength 1\n * @maxLength 150\n */\n description?: string | null;\n}\n\n/**\n * Deletes an extended field.\n *\n * When an extended field is deleted,\n * any contact data stored in the field is also permanently deleted.\n * @param key - Extended field key.\n * @public\n * @requiredField key\n * @permissionId CONTACTS_SCHEMA.MODIFY\n * @applicableIdentity APP\n * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.DeleteExtendedField\n */\nexport async function deleteExtendedField(key: string): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ key: key });\n\n const reqOpts =\n ambassadorWixContactsV4ExtendedField.deleteExtendedField(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { key: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['key']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Creates a query to retrieve a list of extended fields.\n *\n * The `queryExtendedFields()` method builds a query to retrieve a list of extended fields and returns an `FieldsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the `find()` method.\n *\n * You can refine the query by chaining `FieldsQueryBuilder` methods onto the query. `FieldsQueryBuilder` methods enable you to filter, sort, and control the results that `queryExtendedFields()` returns.\n *\n * `queryExtendedFields()` runs with these `FieldsQueryBuilder` defaults, which you can override:\n * - `skip()`\n * - `limit(50)`\n * - `descending('_createdDate')`\n *\n * The following `FieldsQueryBuilder` methods are supported for `queryExtendedFields()`. For a full description of the `Extended Field` object, see the object returned for the `items` property in `FieldsQueryResult`.\n * @public\n * @permissionId CONTACTS_SCHEMA.VIEW\n * @applicableIdentity APP\n * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.QueryExtendedFields\n */\nexport function queryExtendedFields(): FieldsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n ExtendedField,\n 'OFFSET',\n QueryExtendedFieldsRequest,\n QueryExtendedFieldsResponse\n >({\n func: async (payload: QueryExtendedFieldsRequest) => {\n const reqOpts =\n ambassadorWixContactsV4ExtendedField.queryExtendedFields(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QueryExtendedFieldsRequest['query']) => {\n const args = [query, {}] as [QueryExtendedFieldsRequest['query'], {}];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({\n data,\n }: HttpResponse<QueryExtendedFieldsResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [])\n );\n\n return {\n items: transformedData?.fields,\n pagingMetadata: transformedData?.pagingMetadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'OFFSET',\n transformationPaths: {},\n });\n}\n\ninterface QueryOffsetResult {\n currentPage: number | undefined;\n totalPages: number | undefined;\n totalCount: number | undefined;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface FieldsQueryResult extends QueryOffsetResult {\n items: ExtendedField[];\n query: FieldsQueryBuilder;\n next: () => Promise<FieldsQueryResult>;\n prev: () => Promise<FieldsQueryResult>;\n}\n\nexport interface FieldsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n eq: (\n propertyName:\n | 'namespace'\n | 'key'\n | 'displayName'\n | 'dataType'\n | 'fieldType'\n | '_createdDate'\n | '_updatedDate',\n value: any\n ) => FieldsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ne: (\n propertyName:\n | 'namespace'\n | 'key'\n | 'displayName'\n | 'dataType'\n | '_createdDate'\n | '_updatedDate',\n value: any\n ) => FieldsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ge: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => FieldsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n gt: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => FieldsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n le: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => FieldsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n lt: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => FieldsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n */\n startsWith: (\n propertyName: 'displayName',\n value: string\n ) => FieldsQueryBuilder;\n in: (propertyName: 'key' | 'displayName', value: any) => FieldsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n ascending: (\n ...propertyNames: Array<'displayName' | '_createdDate' | '_updatedDate'>\n ) => FieldsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n descending: (\n ...propertyNames: Array<'displayName' | '_createdDate' | '_updatedDate'>\n ) => FieldsQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n limit: (limit: number) => FieldsQueryBuilder;\n /** @param skip - Number of items to skip in the query results before returning the results. */\n skip: (skip: number) => FieldsQueryBuilder;\n find: () => Promise<FieldsQueryResult>;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveComWixpressContactsFieldsV4ContactExtendedFieldsServiceV4Url(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n _: [\n {\n srcPath: '/_api/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_crm_extended-fields';\n\n/**\n * Retrieves a custom field with a specified name, or creates one if it doesn't exist.\n * The number of custom fields is limited to 100.\n *\n * Successful calls to this method always return a field,\n * which can be specified in subsequent calls.\n *\n * To find an existing custom field without potentially creating a new one, call Get Extended Field or\n * Query Extended Fields.\n */\nexport function findOrCreateExtendedField(\n payload: object\n): RequestOptionsFactory<any> {\n function __findOrCreateExtendedField({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.contacts.v4.extended_field',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.FindOrCreateExtendedField',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressContactsFieldsV4ContactExtendedFieldsServiceV4Url({\n protoPath: '/v4/extended-fields',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'field.createdDate' },\n { path: 'field.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __findOrCreateExtendedField;\n}\n\n/** Retrieves an extended field by the specified extended field key. */\nexport function getExtendedField(payload: object): RequestOptionsFactory<any> {\n function __getExtendedField({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.contacts.v4.extended_field',\n method: 'GET' as any,\n methodFqn:\n 'com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.GetExtendedField',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressContactsFieldsV4ContactExtendedFieldsServiceV4Url({\n protoPath: '/v4/extended-fields/{key}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'field.createdDate' },\n { path: 'field.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getExtendedField;\n}\n\n/** Renames an extended field. */\nexport function updateExtendedField(\n payload: object\n): RequestOptionsFactory<any> {\n function __updateExtendedField({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [{ path: 'field.createdDate' }, { path: 'field.updatedDate' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.contacts.v4.extended_field',\n method: 'PATCH' as any,\n methodFqn:\n 'com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.UpdateExtendedField',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressContactsFieldsV4ContactExtendedFieldsServiceV4Url({\n protoPath: '/v4/extended-fields/{field.key}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'field.createdDate' },\n { path: 'field.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateExtendedField;\n}\n\n/**\n * Deletes an extended field.\n *\n * When an extended field is deleted,\n * any contact data stored in the field is also permanently deleted.\n */\nexport function deleteExtendedField(\n payload: object\n): RequestOptionsFactory<any> {\n function __deleteExtendedField({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.contacts.v4.extended_field',\n method: 'DELETE' as any,\n methodFqn:\n 'com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.DeleteExtendedField',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressContactsFieldsV4ContactExtendedFieldsServiceV4Url({\n protoPath: '/v4/extended-fields/{key}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteExtendedField;\n}\n\n/**\n * Creates a query to retrieve a list of extended fields.\n *\n * The `queryExtendedFields()` method builds a query to retrieve a list of extended fields and returns an `FieldsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the `find()` method.\n *\n * You can refine the query by chaining `FieldsQueryBuilder` methods onto the query. `FieldsQueryBuilder` methods enable you to filter, sort, and control the results that `queryExtendedFields()` returns.\n *\n * `queryExtendedFields()` runs with these `FieldsQueryBuilder` defaults, which you can override:\n * - `skip()`\n * - `limit(50)`\n * - `descending('_createdDate')`\n *\n * The following `FieldsQueryBuilder` methods are supported for `queryExtendedFields()`. For a full description of the `Extended Field` object, see the object returned for the `items` property in `FieldsQueryResult`.\n */\nexport function queryExtendedFields(\n payload: object\n): RequestOptionsFactory<any> {\n function __queryExtendedFields({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.contacts.v4.extended_field',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.QueryExtendedFields',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressContactsFieldsV4ContactExtendedFieldsServiceV4Url({\n protoPath: '/v4/extended-fields/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'fields.createdDate' },\n { path: 'fields.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryExtendedFields;\n}\n","import {\n findOrCreateExtendedField as publicFindOrCreateExtendedField,\n getExtendedField as publicGetExtendedField,\n renameExtendedField as publicRenameExtendedField,\n deleteExtendedField as publicDeleteExtendedField,\n queryExtendedFields as publicQueryExtendedFields,\n} from './contacts-v4-extended-field-extended-fields.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { onExtendedFieldCreated as publicOnExtendedFieldCreated } from './contacts-v4-extended-field-extended-fields.public.js';\nimport { onExtendedFieldDeleted as publicOnExtendedFieldDeleted } from './contacts-v4-extended-field-extended-fields.public.js';\nimport { onExtendedFieldUpdated as publicOnExtendedFieldUpdated } from './contacts-v4-extended-field-extended-fields.public.js';\n\nexport const findOrCreateExtendedField: MaybeContext<\n BuildRESTFunction<typeof publicFindOrCreateExtendedField> &\n typeof publicFindOrCreateExtendedField\n> = /*#__PURE__*/ createRESTModule(publicFindOrCreateExtendedField);\nexport const getExtendedField: MaybeContext<\n BuildRESTFunction<typeof publicGetExtendedField> &\n typeof publicGetExtendedField\n> = /*#__PURE__*/ createRESTModule(publicGetExtendedField);\nexport const renameExtendedField: MaybeContext<\n BuildRESTFunction<typeof publicRenameExtendedField> &\n typeof publicRenameExtendedField\n> = /*#__PURE__*/ createRESTModule(publicRenameExtendedField);\nexport const deleteExtendedField: MaybeContext<\n BuildRESTFunction<typeof publicDeleteExtendedField> &\n typeof publicDeleteExtendedField\n> = /*#__PURE__*/ createRESTModule(publicDeleteExtendedField);\nexport const queryExtendedFields: MaybeContext<\n BuildRESTFunction<typeof publicQueryExtendedFields> &\n typeof publicQueryExtendedFields\n> = /*#__PURE__*/ createRESTModule(publicQueryExtendedFields);\n/**\n * Triggered when an extended field is created.\n */\nexport const onExtendedFieldCreated: BuildEventDefinition<\n typeof publicOnExtendedFieldCreated\n> = createEventModule(publicOnExtendedFieldCreated);\n/**\n * Triggered when an extended field is deleted.\n */\nexport const onExtendedFieldDeleted: BuildEventDefinition<\n typeof publicOnExtendedFieldDeleted\n> = createEventModule(publicOnExtendedFieldDeleted);\n/**\n * Triggered when an extended field is updated.\n */\nexport const onExtendedFieldUpdated: BuildEventDefinition<\n typeof publicOnExtendedFieldUpdated\n> = createEventModule(publicOnExtendedFieldUpdated);\n\nexport {\n FieldDataType,\n FieldType,\n SortOrder,\n WebhookIdentityType,\n} from './contacts-v4-extended-field-extended-fields.universal.js';\nexport {\n ExtendedField,\n ListExtendedFieldsRequest,\n Sorting,\n Paging,\n ListExtendedFieldsResponse,\n PagingMetadata,\n FindOrCreateExtendedFieldRequest,\n FindOrCreateExtendedFieldResponse,\n GetExtendedFieldRequest,\n GetExtendedFieldResponse,\n GetExtendedFieldByLegacyIdRequest,\n GetExtendedFieldByLegacyIdResponse,\n UpdateExtendedFieldRequest,\n UpdateExtendedFieldResponse,\n DeleteExtendedFieldRequest,\n DeleteExtendedFieldResponse,\n PurgeRequest,\n PurgeResponse,\n GdprListRequest,\n GdprListResponse,\n QueryExtendedFieldsRequest,\n Query,\n QueryExtendedFieldsResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n BaseEventMetadata,\n EventMetadata,\n ExtendedFieldCreatedEnvelope,\n ExtendedFieldDeletedEnvelope,\n ExtendedFieldUpdatedEnvelope,\n RenameExtendedField,\n FieldsQueryResult,\n FieldsQueryBuilder,\n} from './contacts-v4-extended-field-extended-fields.universal.js';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAAA;AAAA,EAAA,iCAAAC;AAAA,EAAA,wBAAAC;AAAA,EAAA,8BAAAC;AAAA,EAAA,8BAAAC;AAAA,EAAA,8BAAAC;AAAA,EAAA,2BAAAC;AAAA,EAAA,2BAAAC;AAAA;AAAA;;;ACAA,IAAAC,iCAAwD;AACxD,IAAAC,oBAAqD;AACrD,IAAAC,0BAA+B;AAC/B,uBAA8D;;;ACH9D,6BAAoD;AACpD,2BAA6B;AAC7B,oCAGO;;;ACLP,0BAAkC;AAClC,uBAAqD;AACrD,IAAAC,oBAAqD;AACrD,6BAA+B;AAC/B,IAAAC,uBAA2B;AAI3B,SAAS,oEACP,MACA;AACA,QAAM,mBAAmB;AAAA,IACvB,mBAAmB;AAAA,MACjB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,GAAG;AAAA,MACD;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,aAAO,iCAAW,OAAO,OAAO,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC7D;AAEA,IAAM,eAAe;AAYd,SAAS,0BACd,SAC4B;AAC5B,WAAS,4BAA4B,EAAE,KAAK,GAAQ;AAClD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,KAAK,oEAAoE;AAAA,QACvE,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACC,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,oBAAoB;AAAA,YAC5B,EAAE,MAAM,oBAAoB;AAAA,UAC9B;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,iBAAiB,SAA6C;AAC5E,WAAS,mBAAmB,EAAE,KAAK,GAAQ;AACzC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,KAAK,oEAAoE;AAAA,QACvE,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,oBAAoB;AAAA,YAC5B,EAAE,MAAM,oBAAoB;AAAA,UAC9B;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,oBACd,SAC4B;AAC5B,WAAS,sBAAsB,EAAE,KAAK,GAAQ;AAC5C,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,oBAAoB,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAAA,MACtE;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,KAAK,oEAAoE;AAAA,QACvE,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,oBAAoB;AAAA,YAC5B,EAAE,MAAM,oBAAoB;AAAA,UAC9B;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAQO,SAAS,oBACd,SAC4B;AAC5B,WAAS,sBAAsB,EAAE,KAAK,GAAQ;AAC5C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,KAAK,oEAAoE;AAAA,QACvE,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAkBO,SAAS,oBACd,SAC4B;AAC5B,WAAS,sBAAsB,EAAE,KAAK,GAAQ;AAC5C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,KAAK,oEAAoE;AAAA,QACvE,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,qBAAqB;AAAA,YAC7B,EAAE,MAAM,qBAAqB;AAAA,UAC/B;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;;;AD9PA,IAAAC,0BAA+B;AAgExB,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,SAAM;AARI,SAAAA;AAAA,GAAA;AAmBL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,kBAAe;AAJL,SAAAA;AAAA,GAAA;AA+CL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,SAAM;AAEN,EAAAA,WAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;AAkVL,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,qBAAA,aAAU;AACV,EAAAA,qBAAA,uBAAoB;AACpB,EAAAA,qBAAA,YAAS;AACT,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,SAAM;AALI,SAAAA;AAAA,GAAA;AAmNZ,eAAsBC,2BACpB,aACA,UASA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,UACiC,0BAA0B,OAAO;AAExE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAC;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,aAAa,QAAQ,UAAU,OAAO;AAAA,QAClE,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,eAAe,UAAU;AAAA,IAC5B;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAYA,eAAsBC,kBACpB,KACyE;AAEzE,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC,EAAE,IAAS,CAAC;AAElE,QAAM,UACiC,iBAAiB,OAAO;AAE/D,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI,GAAG;AAAA,EAC/D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAD;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,KAAK,OAAO;AAAA,QACxC,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,KAAK;AAAA,IACR;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAeA,eAAsB,oBACpB,KACA,OACyE;AAEzE,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD,OAAO,EAAE,GAAG,OAAO,IAAS;AAAA,EAC9B,CAAC;AAED,QAAM,UACiC,oBAAoB,OAAO;AAElE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI,GAAG;AAAA,EAC/D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAA;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,EAAE,OAAO,OAAO;AAAA,QACxC,0BAA0B,EAAE,aAAa,OAAO;AAAA,QAChD,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,OAAO,OAAO;AAAA,IACjB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AA4DA,eAAsBE,qBAAoB,KAA4B;AAEpE,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC,EAAE,IAAS,CAAC;AAElE,QAAM,UACiC,oBAAoB,OAAO;AAElE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAAA,EACjC,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAF;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,KAAK,OAAO;AAAA,QACxC,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,KAAK;AAAA,IACR;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAsBO,SAASG,uBAA0C;AAExD,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,aAAO,mCAKL;AAAA,IACA,MAAM,OAAO,YAAwC;AACnD,YAAM,UACiC,oBAAoB,OAAO;AAElE,mBAAa,aAAa;AAC1B,UAAI;AACF,cAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,qBAAa,YAAY,MAAM;AAC/B,eAAO;AAAA,MACT,SAAS,KAAK;AACZ,qBAAa,UAAU,GAAG;AAC1B,cAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,UAA+C;AAClE,YAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AACvB,iBAAO,qEAAsC;AAAA,QAC3C,GAAG,OAAO,CAAC;AAAA,QACX,OAAO,OAAO,CAAC;AAAA,MACjB,CAAC;AAAA,IACH;AAAA,IACA,qBAAqB,CAAC;AAAA,MACpB;AAAA,IACF,MAAiD;AAC/C,YAAM,sBAAkB;AAAA,YACtB,wCAAe,MAAM,CAAC,CAAC;AAAA,MACzB;AAEA,aAAO;AAAA,QACL,OAAO,iBAAiB;AAAA,QACxB,gBAAgB,iBAAiB;AAAA,MACnC;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,QAAiB;AAClC,YAAM,uBAAmB,uBAAAH,gBAAkB,KAAK;AAAA,QAC9C,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,OAAO,OAAO;AAAA,QAC1C,yBAAyB;AAAA,MAC3B,CAAC;AAED,YAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,IACd,qBAAqB,CAAC;AAAA,EACxB,CAAC;AACH;;;ADp9BO,SAASI,2BACd,YACoC;AACpC,SAAO,CAAC,aAAqB,aAC3BA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AA6BO,SAASC,kBACd,YAC2B;AAC3B,SAAO,CAAC,QACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAWO,SAASC,qBACd,YAC8B;AAC9B,SAAO,CACL,KACA,UAEA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAYO,SAASC,qBACd,YAC8B;AAC9B,SAAO,CAAC,QACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAaO,SAASC,qBACd,YAC8B;AAC9B,SAAO,MACLA;AAAA;AAAA,IAEE,EAAE,WAAW;AAAA,EACf;AACJ;AAsBO,IAAM,6BAAyB;AAAA,EACpC;AAAA,EACA;AAAA,EACA,CAAC,cACC;AAAA,QACE,wCAAe,OAAO;AAAA,MACpB;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,qBAAqB;AAAA,UAC7B,EAAE,MAAM,qBAAqB;AAAA,UAC7B,EAAE,MAAM,qBAAqB;AAAA,QAC/B;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACJ,EAAgC;AACzB,IAAM,6BAAyB;AAAA,EACpC;AAAA,EACA;AAAA,EACA,CAAC,cACC;AAAA,QACE,wCAAe,OAAO;AAAA,MACpB;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,wBAAwB;AAAA,UAChC,EAAE,MAAM,wBAAwB;AAAA,UAChC,EAAE,MAAM,qBAAqB;AAAA,QAC/B;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACJ,EAAgC;AACzB,IAAM,6BAAyB;AAAA,EACpC;AAAA,EACA;AAAA,EACA,CAAC,cACC;AAAA,QACE,wCAAe,OAAO;AAAA,MACpB;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,qBAAqB;AAAA,UAC7B,EAAE,MAAM,qBAAqB;AAAA,UAC7B,EAAE,MAAM,qBAAqB;AAAA,QAC/B;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACJ,EAAgC;;;AGzMhC,IAAAC,uBAAiC;AACjC,sCAAkC;AAU3B,IAAMC,6BAGK,2DAAiBA,0BAA+B;AAC3D,IAAMC,oBAGK,2DAAiBA,iBAAsB;AAClD,IAAMC,uBAGK,2DAAiBA,oBAAyB;AACrD,IAAMC,uBAGK,2DAAiBA,oBAAyB;AACrD,IAAMC,uBAGK,2DAAiBA,oBAAyB;AAIrD,IAAMC,8BAET,mDAAkB,sBAA4B;AAI3C,IAAMC,8BAET,mDAAkB,sBAA4B;AAI3C,IAAMC,8BAET,mDAAkB,sBAA4B;","names":["deleteExtendedField","findOrCreateExtendedField","getExtendedField","onExtendedFieldCreated","onExtendedFieldDeleted","onExtendedFieldUpdated","queryExtendedFields","renameExtendedField","import_rename_all_nested_keys","import_timestamp","import_transform_paths","import_timestamp","import_rest_modules","payload","import_transform_paths","FieldDataType","FieldType","SortOrder","WebhookIdentityType","findOrCreateExtendedField","sdkTransformError","getExtendedField","deleteExtendedField","queryExtendedFields","findOrCreateExtendedField","getExtendedField","renameExtendedField","deleteExtendedField","queryExtendedFields","import_rest_modules","findOrCreateExtendedField","getExtendedField","renameExtendedField","deleteExtendedField","queryExtendedFields","onExtendedFieldCreated","onExtendedFieldDeleted","onExtendedFieldUpdated"]}
1
+ {"version":3,"sources":["../../index.ts","../../src/contacts-v4-extended-field-extended-fields.public.ts","../../src/contacts-v4-extended-field-extended-fields.universal.ts","../../src/contacts-v4-extended-field-extended-fields.http.ts","../../src/contacts-v4-extended-field-extended-fields.context.ts"],"sourcesContent":["export * from './src/contacts-v4-extended-field-extended-fields.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n ExtendedField,\n ExtendedFieldCreatedEnvelope,\n ExtendedFieldDeletedEnvelope,\n ExtendedFieldUpdatedEnvelope,\n FieldDataTypeWithLiterals,\n FieldsQueryBuilder,\n FindOrCreateExtendedFieldApplicationErrors,\n FindOrCreateExtendedFieldResponse,\n RenameExtendedField,\n deleteExtendedField as universalDeleteExtendedField,\n findOrCreateExtendedField as universalFindOrCreateExtendedField,\n getExtendedField as universalGetExtendedField,\n queryExtendedFields as universalQueryExtendedFields,\n renameExtendedField as universalRenameExtendedField,\n} from './contacts-v4-extended-field-extended-fields.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/crm' };\n\ntype ExtendedFieldNonNullablePaths =\n | `key`\n | `displayName`\n | `dataType`\n | `fieldType`;\n\nexport function findOrCreateExtendedField(\n httpClient: HttpClient\n): FindOrCreateExtendedFieldSignature {\n return (displayName: string, dataType: FieldDataTypeWithLiterals) =>\n universalFindOrCreateExtendedField(\n displayName,\n dataType,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface FindOrCreateExtendedFieldSignature {\n /**\n * Retrieves a custom field with a specified name, or creates one if it doesn't exist.\n * The number of custom fields is limited to 100.\n *\n * Successful calls to this method always return a field,\n * which can be specified in subsequent calls.\n *\n * To find an existing custom field without potentially creating a new one, call Get Extended Field or\n * Query Extended Fields.\n * @param - Display name to retrieve or create.\n *\n * If an existing custom field is an exact match\n * for the specified display name,\n * the existing field is returned.\n * If not, a new field is created and returned.\n * @param - Type of data the field holds.\n * Ignored if an existing field is an exact match\n * for the specified display name.\n * @returns Extended field that was found or created.\n */\n (displayName: string, dataType: FieldDataTypeWithLiterals): Promise<\n NonNullablePaths<\n FindOrCreateExtendedFieldResponse,\n | {\n [P in ExtendedFieldNonNullablePaths]: `field.${P}`;\n }[ExtendedFieldNonNullablePaths]\n | `newField`\n > & {\n __applicationErrorsType?: FindOrCreateExtendedFieldApplicationErrors;\n }\n >;\n}\n\nexport function getExtendedField(\n httpClient: HttpClient\n): GetExtendedFieldSignature {\n return (key: string) =>\n universalGetExtendedField(\n key,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetExtendedFieldSignature {\n /**\n * Retrieves an extended field by the specified extended field key.\n * @param - null\n * @returns The specified field.\n */\n (key: string): Promise<\n NonNullablePaths<ExtendedField, ExtendedFieldNonNullablePaths>\n >;\n}\n\nexport function renameExtendedField(\n httpClient: HttpClient\n): RenameExtendedFieldSignature {\n return (\n key: string,\n field: NonNullablePaths<RenameExtendedField, `displayName`>\n ) =>\n universalRenameExtendedField(\n key,\n field,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RenameExtendedFieldSignature {\n /**\n * Renames an extended field.\n * @param - null\n * @param - null\n * @returns Renamed extended field.\n */\n (\n key: string,\n field: NonNullablePaths<RenameExtendedField, `displayName`>\n ): Promise<NonNullablePaths<ExtendedField, ExtendedFieldNonNullablePaths>>;\n}\n\nexport function deleteExtendedField(\n httpClient: HttpClient\n): DeleteExtendedFieldSignature {\n return (key: string) =>\n universalDeleteExtendedField(\n key,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteExtendedFieldSignature {\n /**\n * Deletes an extended field.\n *\n * When an extended field is deleted,\n * any contact data stored in the field is also permanently deleted.\n * @param - Extended field key.\n */\n (key: string): Promise<void>;\n}\n\nexport function queryExtendedFields(\n httpClient: HttpClient\n): QueryExtendedFieldsSignature {\n return () =>\n universalQueryExtendedFields(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryExtendedFieldsSignature {\n /**\n * Creates a query to retrieve a list of extended fields.\n *\n * The `queryExtendedFields()` method builds a query to retrieve a list of extended fields and returns an `FieldsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the `find()` method.\n *\n * You can refine the query by chaining `FieldsQueryBuilder` methods onto the query. `FieldsQueryBuilder` methods enable you to filter, sort, and control the results that `queryExtendedFields()` returns.\n *\n * `queryExtendedFields()` runs with these `FieldsQueryBuilder` defaults, which you can override:\n * - `skip()`\n * - `limit(50)`\n * - `descending('_createdDate')`\n *\n * The following `FieldsQueryBuilder` methods are supported for `queryExtendedFields()`. For a full description of the `Extended Field` object, see the object returned for the `items` property in `FieldsQueryResult`.\n */\n (): FieldsQueryBuilder;\n}\n\nexport const onExtendedFieldCreated = EventDefinition(\n 'wix.contacts.v4.extended-field_created',\n true,\n (event: ExtendedFieldCreatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<ExtendedFieldCreatedEnvelope>();\nexport const onExtendedFieldDeleted = EventDefinition(\n 'wix.contacts.v4.extended-field_deleted',\n true,\n (event: ExtendedFieldDeletedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'undefined.createdDate' },\n { path: 'undefined.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<ExtendedFieldDeletedEnvelope>();\nexport const onExtendedFieldUpdated = EventDefinition(\n 'wix.contacts.v4.extended-field_updated',\n true,\n (event: ExtendedFieldUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<ExtendedFieldUpdatedEnvelope>();\n\nexport {\n ActionEvent,\n BaseEventMetadata,\n DeleteExtendedFieldRequest,\n DeleteExtendedFieldResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EventMetadata,\n ExtendedField,\n ExtendedFieldCreatedEnvelope,\n ExtendedFieldDeletedEnvelope,\n ExtendedFieldUpdatedEnvelope,\n FieldDataType,\n FieldType,\n FieldsQueryBuilder,\n FieldsQueryResult,\n FindOrCreateExtendedFieldRequest,\n FindOrCreateExtendedFieldResponse,\n GdprListRequest,\n GdprListResponse,\n GetExtendedFieldByLegacyIdRequest,\n GetExtendedFieldByLegacyIdResponse,\n GetExtendedFieldRequest,\n GetExtendedFieldResponse,\n IdentificationData,\n IdentificationDataIdOneOf,\n ListExtendedFieldsRequest,\n ListExtendedFieldsResponse,\n MessageEnvelope,\n Paging,\n PagingMetadata,\n PurgeRequest,\n PurgeResponse,\n Query,\n QueryExtendedFieldsRequest,\n QueryExtendedFieldsResponse,\n RenameExtendedField,\n RestoreInfo,\n SortOrder,\n Sorting,\n UpdateExtendedFieldRequest,\n UpdateExtendedFieldResponse,\n WebhookIdentityType,\n} from './contacts-v4-extended-field-extended-fields.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, HttpResponse, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixContactsV4ExtendedField from './contacts-v4-extended-field-extended-fields.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\n/** Extended field that was found or created. */\nexport interface ExtendedField {\n /**\n * Extended field namespace.\n *\n * Extended fields created through by calling the Find Or Create Extended Field method\n * are automatically assigned to the `custom` namespace.\n * @readonly\n * @minLength 1\n * @maxLength 25\n */\n namespace?: string | null;\n /**\n * Extended field key.\n *\n * When accessing contact data,\n * extended field data is available at `extendedFields[key]`.\n * For example, if the key is \"custom.notes\",\n * the value can be accessed at `extendedFields[\"custom.notes\"]`.\n *\n * `key` is generated when the extended field is created\n * and can't be modified, even if `displayName` changes.\n * @readonly\n * @minLength 1\n * @maxLength 80\n */\n key?: string;\n /**\n * Display name shown in the contact list.\n * @minLength 1\n * @maxLength 150\n */\n displayName?: string;\n /**\n * Type of data the field holds.\n * @readonly\n */\n dataType?: FieldDataTypeWithLiterals;\n /**\n * Indicates whether the extended field is a system field or custom field.\n * @readonly\n */\n fieldType?: FieldTypeWithLiterals;\n /**\n * Date and time the field was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the field was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Field description, if the field is a system field.\n * @readonly\n * @minLength 1\n * @maxLength 150\n */\n description?: string | null;\n}\n\nexport enum FieldDataType {\n /** Accepts strings. */\n TEXT = 'TEXT',\n /** Accepts floats. */\n NUMBER = 'NUMBER',\n /** Accepts dates formatted as `YYYY-MM-DD`. */\n DATE = 'DATE',\n /** Accepts strings. Prepends `https://` if no protocol is included. */\n URL = 'URL',\n}\n\n/** @enumType */\nexport type FieldDataTypeWithLiterals =\n | FieldDataType\n | 'TEXT'\n | 'NUMBER'\n | 'DATE'\n | 'URL';\n\nexport enum FieldType {\n /** Field is a system field managed by Wix. System fields can't be modified by calling the Update Extended Field method. */\n SYSTEM = 'SYSTEM',\n /** Field is a custom field and can be modified by calling the Update Extended Field method. */\n USER_DEFINED = 'USER_DEFINED',\n}\n\n/** @enumType */\nexport type FieldTypeWithLiterals = FieldType | 'SYSTEM' | 'USER_DEFINED';\n\n/** Extended field filter options. */\nexport interface ListExtendedFieldsRequest {\n /** Filter for fields of the specified type. */\n fieldType?: FieldTypeWithLiterals;\n /**\n * Filter for fields in the specified namespace.\n * Fields created by calling the Find Or Create Extended Field method\n * are automatically assigned to the `custom` namespace.\n * @minLength 3\n * @maxLength 25\n */\n namespace?: string | null;\n /**\n * Filter for fields where `displayName` starts with the specified case-sensitive string.\n * @maxLength 150\n */\n startsWith?: string | null;\n /** Sorting options. */\n sort?: Sorting;\n /** Paging options. */\n paging?: Paging;\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 100\n */\n fieldName?: string;\n /**\n * Sort order.\n *\n * Default: `ASC`.\n */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n /** Sort by ascending order. */\n ASC = 'ASC',\n /** Sort by descending order. */\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface Paging {\n /**\n * Number of items to return.\n *\n * Defaults to `100`.\n */\n limit?: number | null;\n /**\n * Number of items to skip in the current sort order.\n *\n * Defaults to `0`.\n */\n offset?: number | null;\n}\n\n/** List of extended fields. */\nexport interface ListExtendedFieldsResponse {\n /** List of extended fields. */\n fields?: ExtendedField[];\n /** Metadata for the page of results. */\n metadata?: PagingMetadata;\n}\n\nexport interface PagingMetadata {\n /** Number of items returned. */\n count?: number | null;\n /** Requested offset. */\n offset?: number | null;\n /** Number of items that matched the query. */\n total?: number | null;\n /**\n * Indicates if `total` calculation timed out before the response was sent.\n * Typically this happens if there is a large set of results.\n */\n tooManyToCount?: boolean | null;\n}\n\n/** Custom field to find or create. */\nexport interface FindOrCreateExtendedFieldRequest {\n /**\n * Display name to retrieve or create.\n *\n * If an existing custom field is an exact match\n * for the specified display name,\n * the existing field is returned.\n * If not, a new field is created and returned.\n * @minLength 1\n * @maxLength 150\n */\n displayName: string;\n /**\n * Type of data the field holds.\n * Ignored if an existing field is an exact match\n * for the specified display name.\n */\n dataType?: FieldDataTypeWithLiterals;\n}\n\n/** Extended field that was found or created. */\nexport interface FindOrCreateExtendedFieldResponse {\n /** Extended field that was found or created. */\n field?: ExtendedField;\n /**\n * Indicates whether the extended field was just created or already existed.\n *\n * Returns `true` if the field was just created.\n */\n newField?: boolean;\n}\n\nexport interface GetExtendedFieldRequest {\n /**\n * Extended field key.\n *\n * When accessing contact data,\n * extended field values are available at `info.extendedFields.items[key]`.\n * For example, if the key is \"custom.patronus\",\n * the value can be accessed at `info.extendedFields.items[\"custom.patronus\"]`.\n *\n * `key` is generated when the extended field is created.\n * It can't be modified, even if `displayName` is updated.\n * @minLength 1\n * @maxLength 80\n */\n key: string;\n}\n\n/** The specified field. */\nexport interface GetExtendedFieldResponse {\n /** The specified field. */\n field?: ExtendedField;\n}\n\nexport interface GetExtendedFieldByLegacyIdRequest {\n /**\n * Legacy ID of the extended field.\n * @format GUID\n */\n legacyId?: string;\n}\n\nexport interface GetExtendedFieldByLegacyIdResponse {\n /** The requested extended field. */\n field?: ExtendedField;\n}\n\nexport interface UpdateExtendedFieldRequest {\n /** Extended field to rename. */\n field?: ExtendedField;\n}\n\n/** Updated extended field. */\nexport interface UpdateExtendedFieldResponse {\n /** Renamed extended field. */\n field?: ExtendedField;\n}\n\nexport interface DeleteExtendedFieldRequest {\n /**\n * Extended field key.\n * @minLength 1\n * @maxLength 80\n */\n key: string;\n}\n\nexport interface DeleteExtendedFieldResponse {}\n\nexport interface PurgeRequest {\n /**\n * Instance ID of the site.\n * @format GUID\n */\n instanceId?: string;\n}\n\nexport interface PurgeResponse {\n /** Number of items deleted. */\n deletedItems?: number;\n}\n\nexport interface GdprListRequest {\n /**\n * Instance ID of the site.\n * @format GUID\n */\n instanceId?: string;\n}\n\nexport interface GdprListResponse {\n /** List of extended fields. */\n fields?: ExtendedField[];\n}\n\nexport interface QueryExtendedFieldsRequest {\n /** Query options. */\n query?: Query;\n}\n\nexport interface Query {\n /**\n * ilter object.\n *\n * Possible filters: `$eq`, `$gt`, `$gte`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`.\n *\n * For a detailed list of supported filters, see [sorting and filtering for extended fields](https://dev.wix.com/api/rest/contacts/extended-fields/sort-and-filter).\n *\n * Example: `{ \"filter\": {\n * \"displayName\": {\n * \"$startsWith\": \"Referral\"\n * }\n * }\n * }`\n */\n filter?: Record<string, any> | null;\n /**\n * Sorting options. Currently supports sorting on one field only.\n *\n * Example: `{ \"sort\": [{\"fieldName\": \"displayName\", \"order\": \"DESC\"}] }`\n * @maxSize 1\n */\n sort?: Sorting[];\n /** Pagination options. */\n paging?: Paging;\n}\n\nexport interface QueryExtendedFieldsResponse {\n /** List of extended fields. */\n fields?: ExtendedField[];\n /** Details on the paged set of results returned. */\n pagingMetadata?: PagingMetadata;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\nexport type FindOrCreateExtendedFieldApplicationErrors = {\n code?: 'FIELDS_QUOTA_EXCEEDED';\n description?: string;\n data?: Record<string, any>;\n};\nexport type QueryExtendedFieldsApplicationErrors =\n | {\n code?: 'INVALID_SORT';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'MALFORMED_FILTER';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'UNSUPPORTED_FILTER';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'UNSUPPORTED_FILTER_FIELD';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'UNSUPPORTED_FILTER_OPERATOR';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'UNSUPPORTED_FILTER_VALUE';\n description?: string;\n data?: Record<string, any>;\n };\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\nexport interface ExtendedFieldCreatedEnvelope {\n entity: ExtendedField;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an extended field is created.\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Manage Bookings Services and Settings\n * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n * @permissionScope Manage Events\n * @permissionScopeId SCOPE.EVENTS.MANAGE-EVENTS\n * @permissionScope Manage Challenges\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionScope Manage Portfolio\n * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.BLOG.MANAGE-BLOG\n * @permissionScope Manage Contact Extended Fields\n * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS\n * @permissionScope Access Verticals by Automations\n * @permissionScopeId SCOPE.CRM.ACCESS-VERTICALS-BY-AUTOMATIONS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Set Up Automations\n * @permissionScopeId SCOPE.CRM.SETUP-AUTOMATIONS\n * @permissionScope Manage Members and Contacts - all permissions\n * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n * @permissionId CONTACTS_SCHEMA.VIEW\n * @webhook\n * @eventType wix.contacts.v4.extended-field_created\n * @serviceIdentifier com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4\n * @slug created\n */\nexport declare function onExtendedFieldCreated(\n handler: (event: ExtendedFieldCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface ExtendedFieldDeletedEnvelope {\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an extended field is deleted.\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Manage Bookings Services and Settings\n * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n * @permissionScope Manage Events\n * @permissionScopeId SCOPE.EVENTS.MANAGE-EVENTS\n * @permissionScope Manage Challenges\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionScope Manage Portfolio\n * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.BLOG.MANAGE-BLOG\n * @permissionScope Manage Contact Extended Fields\n * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS\n * @permissionScope Access Verticals by Automations\n * @permissionScopeId SCOPE.CRM.ACCESS-VERTICALS-BY-AUTOMATIONS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Set Up Automations\n * @permissionScopeId SCOPE.CRM.SETUP-AUTOMATIONS\n * @permissionScope Manage Members and Contacts - all permissions\n * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n * @permissionId CONTACTS_SCHEMA.VIEW\n * @webhook\n * @eventType wix.contacts.v4.extended-field_deleted\n * @serviceIdentifier com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4\n * @slug deleted\n */\nexport declare function onExtendedFieldDeleted(\n handler: (event: ExtendedFieldDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface ExtendedFieldUpdatedEnvelope {\n entity: ExtendedField;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an extended field is updated.\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Manage Bookings Services and Settings\n * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION\n * @permissionScope Manage Events\n * @permissionScopeId SCOPE.EVENTS.MANAGE-EVENTS\n * @permissionScope Manage Challenges\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionScope Manage Portfolio\n * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.BLOG.MANAGE-BLOG\n * @permissionScope Manage Contact Extended Fields\n * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS\n * @permissionScope Access Verticals by Automations\n * @permissionScopeId SCOPE.CRM.ACCESS-VERTICALS-BY-AUTOMATIONS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Set Up Automations\n * @permissionScopeId SCOPE.CRM.SETUP-AUTOMATIONS\n * @permissionScope Manage Members and Contacts - all permissions\n * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS\n * @permissionId CONTACTS_SCHEMA.VIEW\n * @webhook\n * @eventType wix.contacts.v4.extended-field_updated\n * @serviceIdentifier com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4\n * @slug updated\n */\nexport declare function onExtendedFieldUpdated(\n handler: (event: ExtendedFieldUpdatedEnvelope) => void | Promise<void>\n): void;\n\ntype ExtendedFieldNonNullablePaths =\n | `key`\n | `displayName`\n | `dataType`\n | `fieldType`;\n\n/**\n * Retrieves a custom field with a specified name, or creates one if it doesn't exist.\n * The number of custom fields is limited to 100.\n *\n * Successful calls to this method always return a field,\n * which can be specified in subsequent calls.\n *\n * To find an existing custom field without potentially creating a new one, call Get Extended Field or\n * Query Extended Fields.\n * @param displayName - Display name to retrieve or create.\n *\n * If an existing custom field is an exact match\n * for the specified display name,\n * the existing field is returned.\n * If not, a new field is created and returned.\n * @param dataType - Type of data the field holds.\n * Ignored if an existing field is an exact match\n * for the specified display name.\n * @public\n * @requiredField dataType\n * @requiredField displayName\n * @permissionId CONTACTS_SCHEMA.MODIFY\n * @applicableIdentity APP\n * @returns Extended field that was found or created.\n * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.FindOrCreateExtendedField\n */\nexport async function findOrCreateExtendedField(\n displayName: string,\n dataType: FieldDataTypeWithLiterals\n): Promise<\n NonNullablePaths<\n FindOrCreateExtendedFieldResponse,\n | {\n [P in ExtendedFieldNonNullablePaths]: `field.${P}`;\n }[ExtendedFieldNonNullablePaths]\n | `newField`\n > & {\n __applicationErrorsType?: FindOrCreateExtendedFieldApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n displayName: displayName,\n dataType: dataType,\n });\n\n const reqOpts =\n ambassadorWixContactsV4ExtendedField.findOrCreateExtendedField(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { displayName: '$[0]', dataType: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['displayName', 'dataType']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves an extended field by the specified extended field key.\n * @public\n * @requiredField key\n * @param key - null\n * @permissionId CONTACTS_SCHEMA.VIEW\n * @applicableIdentity APP\n * @returns The specified field.\n * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.GetExtendedField\n */\nexport async function getExtendedField(\n key: string\n): Promise<NonNullablePaths<ExtendedField, ExtendedFieldNonNullablePaths>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ key: key });\n\n const reqOpts =\n ambassadorWixContactsV4ExtendedField.getExtendedField(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.field!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { key: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['key']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Renames an extended field.\n * @public\n * @requiredField field\n * @requiredField field.displayName\n * @requiredField key\n * @param key - null\n * @param field - null\n * @permissionId CONTACTS_SCHEMA.MODIFY\n * @applicableIdentity APP\n * @returns Renamed extended field.\n * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.UpdateExtendedField\n */\nexport async function renameExtendedField(\n key: string,\n field: NonNullablePaths<RenameExtendedField, `displayName`>\n): Promise<NonNullablePaths<ExtendedField, ExtendedFieldNonNullablePaths>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n field: { ...field, key: key },\n });\n\n const reqOpts =\n ambassadorWixContactsV4ExtendedField.updateExtendedField(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.field!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { field: '$[1]' },\n explicitPathsToArguments: { 'field.key': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['key', 'field']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface RenameExtendedField {\n /**\n * Extended field namespace.\n *\n * Extended fields created through by calling the Find Or Create Extended Field method\n * are automatically assigned to the `custom` namespace.\n * @readonly\n * @minLength 1\n * @maxLength 25\n */\n namespace?: string | null;\n /**\n * Display name shown in the contact list.\n * @minLength 1\n * @maxLength 150\n */\n displayName?: string;\n /**\n * Type of data the field holds.\n * @readonly\n */\n dataType?: FieldDataTypeWithLiterals;\n /**\n * Indicates whether the extended field is a system field or custom field.\n * @readonly\n */\n fieldType?: FieldTypeWithLiterals;\n /**\n * Date and time the field was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the field was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Field description, if the field is a system field.\n * @readonly\n * @minLength 1\n * @maxLength 150\n */\n description?: string | null;\n}\n\n/**\n * Deletes an extended field.\n *\n * When an extended field is deleted,\n * any contact data stored in the field is also permanently deleted.\n * @param key - Extended field key.\n * @public\n * @requiredField key\n * @permissionId CONTACTS_SCHEMA.MODIFY\n * @applicableIdentity APP\n * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.DeleteExtendedField\n */\nexport async function deleteExtendedField(key: string): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ key: key });\n\n const reqOpts =\n ambassadorWixContactsV4ExtendedField.deleteExtendedField(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { key: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['key']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Creates a query to retrieve a list of extended fields.\n *\n * The `queryExtendedFields()` method builds a query to retrieve a list of extended fields and returns an `FieldsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the `find()` method.\n *\n * You can refine the query by chaining `FieldsQueryBuilder` methods onto the query. `FieldsQueryBuilder` methods enable you to filter, sort, and control the results that `queryExtendedFields()` returns.\n *\n * `queryExtendedFields()` runs with these `FieldsQueryBuilder` defaults, which you can override:\n * - `skip()`\n * - `limit(50)`\n * - `descending('_createdDate')`\n *\n * The following `FieldsQueryBuilder` methods are supported for `queryExtendedFields()`. For a full description of the `Extended Field` object, see the object returned for the `items` property in `FieldsQueryResult`.\n * @public\n * @permissionId CONTACTS_SCHEMA.VIEW\n * @applicableIdentity APP\n * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.QueryExtendedFields\n */\nexport function queryExtendedFields(): FieldsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n ExtendedField,\n 'OFFSET',\n QueryExtendedFieldsRequest,\n QueryExtendedFieldsResponse\n >({\n func: async (payload: QueryExtendedFieldsRequest) => {\n const reqOpts =\n ambassadorWixContactsV4ExtendedField.queryExtendedFields(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QueryExtendedFieldsRequest['query']) => {\n const args = [query, {}] as [QueryExtendedFieldsRequest['query'], {}];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({\n data,\n }: HttpResponse<QueryExtendedFieldsResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [])\n );\n\n return {\n items: transformedData?.fields,\n pagingMetadata: transformedData?.pagingMetadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'OFFSET',\n transformationPaths: {},\n });\n}\n\ninterface QueryOffsetResult {\n currentPage: number | undefined;\n totalPages: number | undefined;\n totalCount: number | undefined;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface FieldsQueryResult extends QueryOffsetResult {\n items: ExtendedField[];\n query: FieldsQueryBuilder;\n next: () => Promise<FieldsQueryResult>;\n prev: () => Promise<FieldsQueryResult>;\n}\n\nexport interface FieldsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n eq: (\n propertyName:\n | 'namespace'\n | 'key'\n | 'displayName'\n | 'dataType'\n | 'fieldType'\n | '_createdDate'\n | '_updatedDate',\n value: any\n ) => FieldsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ne: (\n propertyName:\n | 'namespace'\n | 'key'\n | 'displayName'\n | 'dataType'\n | '_createdDate'\n | '_updatedDate',\n value: any\n ) => FieldsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ge: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => FieldsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n gt: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => FieldsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n le: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => FieldsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n lt: (\n propertyName: '_createdDate' | '_updatedDate',\n value: any\n ) => FieldsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n */\n startsWith: (\n propertyName: 'displayName',\n value: string\n ) => FieldsQueryBuilder;\n in: (propertyName: 'key' | 'displayName', value: any) => FieldsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n ascending: (\n ...propertyNames: Array<'displayName' | '_createdDate' | '_updatedDate'>\n ) => FieldsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n descending: (\n ...propertyNames: Array<'displayName' | '_createdDate' | '_updatedDate'>\n ) => FieldsQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n limit: (limit: number) => FieldsQueryBuilder;\n /** @param skip - Number of items to skip in the query results before returning the results. */\n skip: (skip: number) => FieldsQueryBuilder;\n find: () => Promise<FieldsQueryResult>;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveComWixpressContactsFieldsV4ContactExtendedFieldsServiceV4Url(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n _: [\n {\n srcPath: '/_api/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/contacts/v4/extended-fields',\n destPath: '/v4/extended-fields',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_crm_extended-fields';\n\n/**\n * Retrieves a custom field with a specified name, or creates one if it doesn't exist.\n * The number of custom fields is limited to 100.\n *\n * Successful calls to this method always return a field,\n * which can be specified in subsequent calls.\n *\n * To find an existing custom field without potentially creating a new one, call Get Extended Field or\n * Query Extended Fields.\n */\nexport function findOrCreateExtendedField(\n payload: object\n): RequestOptionsFactory<any> {\n function __findOrCreateExtendedField({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.contacts.v4.extended_field',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.FindOrCreateExtendedField',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressContactsFieldsV4ContactExtendedFieldsServiceV4Url({\n protoPath: '/v4/extended-fields',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'field.createdDate' },\n { path: 'field.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __findOrCreateExtendedField;\n}\n\n/** Retrieves an extended field by the specified extended field key. */\nexport function getExtendedField(payload: object): RequestOptionsFactory<any> {\n function __getExtendedField({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.contacts.v4.extended_field',\n method: 'GET' as any,\n methodFqn:\n 'com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.GetExtendedField',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressContactsFieldsV4ContactExtendedFieldsServiceV4Url({\n protoPath: '/v4/extended-fields/{key}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'field.createdDate' },\n { path: 'field.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getExtendedField;\n}\n\n/** Renames an extended field. */\nexport function updateExtendedField(\n payload: object\n): RequestOptionsFactory<any> {\n function __updateExtendedField({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [{ path: 'field.createdDate' }, { path: 'field.updatedDate' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.contacts.v4.extended_field',\n method: 'PATCH' as any,\n methodFqn:\n 'com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.UpdateExtendedField',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressContactsFieldsV4ContactExtendedFieldsServiceV4Url({\n protoPath: '/v4/extended-fields/{field.key}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'field.createdDate' },\n { path: 'field.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateExtendedField;\n}\n\n/**\n * Deletes an extended field.\n *\n * When an extended field is deleted,\n * any contact data stored in the field is also permanently deleted.\n */\nexport function deleteExtendedField(\n payload: object\n): RequestOptionsFactory<any> {\n function __deleteExtendedField({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.contacts.v4.extended_field',\n method: 'DELETE' as any,\n methodFqn:\n 'com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.DeleteExtendedField',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressContactsFieldsV4ContactExtendedFieldsServiceV4Url({\n protoPath: '/v4/extended-fields/{key}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteExtendedField;\n}\n\n/**\n * Creates a query to retrieve a list of extended fields.\n *\n * The `queryExtendedFields()` method builds a query to retrieve a list of extended fields and returns an `FieldsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the `find()` method.\n *\n * You can refine the query by chaining `FieldsQueryBuilder` methods onto the query. `FieldsQueryBuilder` methods enable you to filter, sort, and control the results that `queryExtendedFields()` returns.\n *\n * `queryExtendedFields()` runs with these `FieldsQueryBuilder` defaults, which you can override:\n * - `skip()`\n * - `limit(50)`\n * - `descending('_createdDate')`\n *\n * The following `FieldsQueryBuilder` methods are supported for `queryExtendedFields()`. For a full description of the `Extended Field` object, see the object returned for the `items` property in `FieldsQueryResult`.\n */\nexport function queryExtendedFields(\n payload: object\n): RequestOptionsFactory<any> {\n function __queryExtendedFields({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.contacts.v4.extended_field',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.QueryExtendedFields',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressContactsFieldsV4ContactExtendedFieldsServiceV4Url({\n protoPath: '/v4/extended-fields/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'fields.createdDate' },\n { path: 'fields.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryExtendedFields;\n}\n","import {\n findOrCreateExtendedField as publicFindOrCreateExtendedField,\n getExtendedField as publicGetExtendedField,\n renameExtendedField as publicRenameExtendedField,\n deleteExtendedField as publicDeleteExtendedField,\n queryExtendedFields as publicQueryExtendedFields,\n} from './contacts-v4-extended-field-extended-fields.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { onExtendedFieldCreated as publicOnExtendedFieldCreated } from './contacts-v4-extended-field-extended-fields.public.js';\nimport { onExtendedFieldDeleted as publicOnExtendedFieldDeleted } from './contacts-v4-extended-field-extended-fields.public.js';\nimport { onExtendedFieldUpdated as publicOnExtendedFieldUpdated } from './contacts-v4-extended-field-extended-fields.public.js';\n\nexport const findOrCreateExtendedField: MaybeContext<\n BuildRESTFunction<typeof publicFindOrCreateExtendedField> &\n typeof publicFindOrCreateExtendedField\n> = /*#__PURE__*/ createRESTModule(publicFindOrCreateExtendedField);\nexport const getExtendedField: MaybeContext<\n BuildRESTFunction<typeof publicGetExtendedField> &\n typeof publicGetExtendedField\n> = /*#__PURE__*/ createRESTModule(publicGetExtendedField);\nexport const renameExtendedField: MaybeContext<\n BuildRESTFunction<typeof publicRenameExtendedField> &\n typeof publicRenameExtendedField\n> = /*#__PURE__*/ createRESTModule(publicRenameExtendedField);\nexport const deleteExtendedField: MaybeContext<\n BuildRESTFunction<typeof publicDeleteExtendedField> &\n typeof publicDeleteExtendedField\n> = /*#__PURE__*/ createRESTModule(publicDeleteExtendedField);\nexport const queryExtendedFields: MaybeContext<\n BuildRESTFunction<typeof publicQueryExtendedFields> &\n typeof publicQueryExtendedFields\n> = /*#__PURE__*/ createRESTModule(publicQueryExtendedFields);\n/**\n * Triggered when an extended field is created.\n */\nexport const onExtendedFieldCreated: BuildEventDefinition<\n typeof publicOnExtendedFieldCreated\n> = createEventModule(publicOnExtendedFieldCreated);\n/**\n * Triggered when an extended field is deleted.\n */\nexport const onExtendedFieldDeleted: BuildEventDefinition<\n typeof publicOnExtendedFieldDeleted\n> = createEventModule(publicOnExtendedFieldDeleted);\n/**\n * Triggered when an extended field is updated.\n */\nexport const onExtendedFieldUpdated: BuildEventDefinition<\n typeof publicOnExtendedFieldUpdated\n> = createEventModule(publicOnExtendedFieldUpdated);\n\nexport {\n FieldDataType,\n FieldType,\n SortOrder,\n WebhookIdentityType,\n} from './contacts-v4-extended-field-extended-fields.universal.js';\nexport {\n ExtendedField,\n ListExtendedFieldsRequest,\n Sorting,\n Paging,\n ListExtendedFieldsResponse,\n PagingMetadata,\n FindOrCreateExtendedFieldRequest,\n FindOrCreateExtendedFieldResponse,\n GetExtendedFieldRequest,\n GetExtendedFieldResponse,\n GetExtendedFieldByLegacyIdRequest,\n GetExtendedFieldByLegacyIdResponse,\n UpdateExtendedFieldRequest,\n UpdateExtendedFieldResponse,\n DeleteExtendedFieldRequest,\n DeleteExtendedFieldResponse,\n PurgeRequest,\n PurgeResponse,\n GdprListRequest,\n GdprListResponse,\n QueryExtendedFieldsRequest,\n Query,\n QueryExtendedFieldsResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n BaseEventMetadata,\n EventMetadata,\n ExtendedFieldCreatedEnvelope,\n ExtendedFieldDeletedEnvelope,\n ExtendedFieldUpdatedEnvelope,\n RenameExtendedField,\n FieldsQueryResult,\n FieldsQueryBuilder,\n} from './contacts-v4-extended-field-extended-fields.universal.js';\n"],"mappings":"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","names":["deleteExtendedField","findOrCreateExtendedField","getExtendedField","onExtendedFieldCreated","onExtendedFieldDeleted","onExtendedFieldUpdated","queryExtendedFields","renameExtendedField","import_rename_all_nested_keys","import_timestamp","import_transform_paths","import_timestamp","import_rest_modules","payload","import_transform_paths","FieldDataType","FieldType","SortOrder","WebhookIdentityType","findOrCreateExtendedField","sdkTransformError","getExtendedField","deleteExtendedField","queryExtendedFields","findOrCreateExtendedField","getExtendedField","renameExtendedField","deleteExtendedField","queryExtendedFields","import_rest_modules","findOrCreateExtendedField","getExtendedField","renameExtendedField","deleteExtendedField","queryExtendedFields","onExtendedFieldCreated","onExtendedFieldDeleted","onExtendedFieldUpdated"]}
@@ -1,3 +1,5 @@
1
+ import { NonNullablePaths } from '@wix/sdk-types';
2
+
1
3
  /** Extended field that was found or created. */
2
4
  interface ExtendedField {
3
5
  /**
@@ -430,6 +432,36 @@ declare enum WebhookIdentityType {
430
432
  }
431
433
  /** @enumType */
432
434
  type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
435
+ type FindOrCreateExtendedFieldApplicationErrors = {
436
+ code?: 'FIELDS_QUOTA_EXCEEDED';
437
+ description?: string;
438
+ data?: Record<string, any>;
439
+ };
440
+ type QueryExtendedFieldsApplicationErrors = {
441
+ code?: 'INVALID_SORT';
442
+ description?: string;
443
+ data?: Record<string, any>;
444
+ } | {
445
+ code?: 'MALFORMED_FILTER';
446
+ description?: string;
447
+ data?: Record<string, any>;
448
+ } | {
449
+ code?: 'UNSUPPORTED_FILTER';
450
+ description?: string;
451
+ data?: Record<string, any>;
452
+ } | {
453
+ code?: 'UNSUPPORTED_FILTER_FIELD';
454
+ description?: string;
455
+ data?: Record<string, any>;
456
+ } | {
457
+ code?: 'UNSUPPORTED_FILTER_OPERATOR';
458
+ description?: string;
459
+ data?: Record<string, any>;
460
+ } | {
461
+ code?: 'UNSUPPORTED_FILTER_VALUE';
462
+ description?: string;
463
+ data?: Record<string, any>;
464
+ };
433
465
  interface BaseEventMetadata {
434
466
  /**
435
467
  * App instance ID.
@@ -478,13 +510,163 @@ interface ExtendedFieldCreatedEnvelope {
478
510
  entity: ExtendedField;
479
511
  metadata: EventMetadata;
480
512
  }
513
+ /**
514
+ * Triggered when an extended field is created.
515
+ * @permissionScope Manage Stores
516
+ * @permissionScopeId SCOPE.STORES.MANAGE-STORES
517
+ * @permissionScope Manage Bookings Services and Settings
518
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
519
+ * @permissionScope Manage Events
520
+ * @permissionScopeId SCOPE.EVENTS.MANAGE-EVENTS
521
+ * @permissionScope Manage Challenges
522
+ * @permissionScopeId SCOPE.CHALLENGES.MANAGE
523
+ * @permissionScope Manage Portfolio
524
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
525
+ * @permissionScope Manage Blog
526
+ * @permissionScopeId SCOPE.BLOG.MANAGE-BLOG
527
+ * @permissionScope Manage Contact Extended Fields
528
+ * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS
529
+ * @permissionScope Access Verticals by Automations
530
+ * @permissionScopeId SCOPE.CRM.ACCESS-VERTICALS-BY-AUTOMATIONS
531
+ * @permissionScope Manage Restaurants - all permissions
532
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
533
+ * @permissionScope Set Up Automations
534
+ * @permissionScopeId SCOPE.CRM.SETUP-AUTOMATIONS
535
+ * @permissionScope Manage Members and Contacts - all permissions
536
+ * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS
537
+ * @permissionId CONTACTS_SCHEMA.VIEW
538
+ * @webhook
539
+ * @eventType wix.contacts.v4.extended-field_created
540
+ * @serviceIdentifier com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4
541
+ * @slug created
542
+ */
543
+ declare function onExtendedFieldCreated(handler: (event: ExtendedFieldCreatedEnvelope) => void | Promise<void>): void;
481
544
  interface ExtendedFieldDeletedEnvelope {
482
545
  metadata: EventMetadata;
483
546
  }
547
+ /**
548
+ * Triggered when an extended field is deleted.
549
+ * @permissionScope Manage Stores
550
+ * @permissionScopeId SCOPE.STORES.MANAGE-STORES
551
+ * @permissionScope Manage Bookings Services and Settings
552
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
553
+ * @permissionScope Manage Events
554
+ * @permissionScopeId SCOPE.EVENTS.MANAGE-EVENTS
555
+ * @permissionScope Manage Challenges
556
+ * @permissionScopeId SCOPE.CHALLENGES.MANAGE
557
+ * @permissionScope Manage Portfolio
558
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
559
+ * @permissionScope Manage Blog
560
+ * @permissionScopeId SCOPE.BLOG.MANAGE-BLOG
561
+ * @permissionScope Manage Contact Extended Fields
562
+ * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS
563
+ * @permissionScope Access Verticals by Automations
564
+ * @permissionScopeId SCOPE.CRM.ACCESS-VERTICALS-BY-AUTOMATIONS
565
+ * @permissionScope Manage Restaurants - all permissions
566
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
567
+ * @permissionScope Set Up Automations
568
+ * @permissionScopeId SCOPE.CRM.SETUP-AUTOMATIONS
569
+ * @permissionScope Manage Members and Contacts - all permissions
570
+ * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS
571
+ * @permissionId CONTACTS_SCHEMA.VIEW
572
+ * @webhook
573
+ * @eventType wix.contacts.v4.extended-field_deleted
574
+ * @serviceIdentifier com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4
575
+ * @slug deleted
576
+ */
577
+ declare function onExtendedFieldDeleted(handler: (event: ExtendedFieldDeletedEnvelope) => void | Promise<void>): void;
484
578
  interface ExtendedFieldUpdatedEnvelope {
485
579
  entity: ExtendedField;
486
580
  metadata: EventMetadata;
487
581
  }
582
+ /**
583
+ * Triggered when an extended field is updated.
584
+ * @permissionScope Manage Stores
585
+ * @permissionScopeId SCOPE.STORES.MANAGE-STORES
586
+ * @permissionScope Manage Bookings Services and Settings
587
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
588
+ * @permissionScope Manage Events
589
+ * @permissionScopeId SCOPE.EVENTS.MANAGE-EVENTS
590
+ * @permissionScope Manage Challenges
591
+ * @permissionScopeId SCOPE.CHALLENGES.MANAGE
592
+ * @permissionScope Manage Portfolio
593
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
594
+ * @permissionScope Manage Blog
595
+ * @permissionScopeId SCOPE.BLOG.MANAGE-BLOG
596
+ * @permissionScope Manage Contact Extended Fields
597
+ * @permissionScopeId SCOPE.DC-CONTACTS.MANAGE-EX-FIELDS
598
+ * @permissionScope Access Verticals by Automations
599
+ * @permissionScopeId SCOPE.CRM.ACCESS-VERTICALS-BY-AUTOMATIONS
600
+ * @permissionScope Manage Restaurants - all permissions
601
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
602
+ * @permissionScope Set Up Automations
603
+ * @permissionScopeId SCOPE.CRM.SETUP-AUTOMATIONS
604
+ * @permissionScope Manage Members and Contacts - all permissions
605
+ * @permissionScopeId SCOPE.DC-CONTACTS-MEGA.MANAGE-MEMBERS-CONTACTS
606
+ * @permissionId CONTACTS_SCHEMA.VIEW
607
+ * @webhook
608
+ * @eventType wix.contacts.v4.extended-field_updated
609
+ * @serviceIdentifier com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4
610
+ * @slug updated
611
+ */
612
+ declare function onExtendedFieldUpdated(handler: (event: ExtendedFieldUpdatedEnvelope) => void | Promise<void>): void;
613
+ type ExtendedFieldNonNullablePaths = `key` | `displayName` | `dataType` | `fieldType`;
614
+ /**
615
+ * Retrieves a custom field with a specified name, or creates one if it doesn't exist.
616
+ * The number of custom fields is limited to 100.
617
+ *
618
+ * Successful calls to this method always return a field,
619
+ * which can be specified in subsequent calls.
620
+ *
621
+ * To find an existing custom field without potentially creating a new one, call Get Extended Field or
622
+ * Query Extended Fields.
623
+ * @param displayName - Display name to retrieve or create.
624
+ *
625
+ * If an existing custom field is an exact match
626
+ * for the specified display name,
627
+ * the existing field is returned.
628
+ * If not, a new field is created and returned.
629
+ * @param dataType - Type of data the field holds.
630
+ * Ignored if an existing field is an exact match
631
+ * for the specified display name.
632
+ * @public
633
+ * @requiredField dataType
634
+ * @requiredField displayName
635
+ * @permissionId CONTACTS_SCHEMA.MODIFY
636
+ * @applicableIdentity APP
637
+ * @returns Extended field that was found or created.
638
+ * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.FindOrCreateExtendedField
639
+ */
640
+ declare function findOrCreateExtendedField(displayName: string, dataType: FieldDataTypeWithLiterals): Promise<NonNullablePaths<FindOrCreateExtendedFieldResponse, {
641
+ [P in ExtendedFieldNonNullablePaths]: `field.${P}`;
642
+ }[ExtendedFieldNonNullablePaths] | `newField`> & {
643
+ __applicationErrorsType?: FindOrCreateExtendedFieldApplicationErrors;
644
+ }>;
645
+ /**
646
+ * Retrieves an extended field by the specified extended field key.
647
+ * @public
648
+ * @requiredField key
649
+ * @param key - null
650
+ * @permissionId CONTACTS_SCHEMA.VIEW
651
+ * @applicableIdentity APP
652
+ * @returns The specified field.
653
+ * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.GetExtendedField
654
+ */
655
+ declare function getExtendedField(key: string): Promise<NonNullablePaths<ExtendedField, ExtendedFieldNonNullablePaths>>;
656
+ /**
657
+ * Renames an extended field.
658
+ * @public
659
+ * @requiredField field
660
+ * @requiredField field.displayName
661
+ * @requiredField key
662
+ * @param key - null
663
+ * @param field - null
664
+ * @permissionId CONTACTS_SCHEMA.MODIFY
665
+ * @applicableIdentity APP
666
+ * @returns Renamed extended field.
667
+ * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.UpdateExtendedField
668
+ */
669
+ declare function renameExtendedField(key: string, field: NonNullablePaths<RenameExtendedField, `displayName`>): Promise<NonNullablePaths<ExtendedField, ExtendedFieldNonNullablePaths>>;
488
670
  interface RenameExtendedField {
489
671
  /**
490
672
  * Extended field namespace.
@@ -530,6 +712,40 @@ interface RenameExtendedField {
530
712
  */
531
713
  description?: string | null;
532
714
  }
715
+ /**
716
+ * Deletes an extended field.
717
+ *
718
+ * When an extended field is deleted,
719
+ * any contact data stored in the field is also permanently deleted.
720
+ * @param key - Extended field key.
721
+ * @public
722
+ * @requiredField key
723
+ * @permissionId CONTACTS_SCHEMA.MODIFY
724
+ * @applicableIdentity APP
725
+ * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.DeleteExtendedField
726
+ */
727
+ declare function deleteExtendedField(key: string): Promise<void>;
728
+ /**
729
+ * Creates a query to retrieve a list of extended fields.
730
+ *
731
+ * The `queryExtendedFields()` method builds a query to retrieve a list of extended fields and returns an `FieldsQueryBuilder` object.
732
+ *
733
+ * The returned object contains the query definition, which is used to run the query using the `find()` method.
734
+ *
735
+ * You can refine the query by chaining `FieldsQueryBuilder` methods onto the query. `FieldsQueryBuilder` methods enable you to filter, sort, and control the results that `queryExtendedFields()` returns.
736
+ *
737
+ * `queryExtendedFields()` runs with these `FieldsQueryBuilder` defaults, which you can override:
738
+ * - `skip()`
739
+ * - `limit(50)`
740
+ * - `descending('_createdDate')`
741
+ *
742
+ * The following `FieldsQueryBuilder` methods are supported for `queryExtendedFields()`. For a full description of the `Extended Field` object, see the object returned for the `items` property in `FieldsQueryResult`.
743
+ * @public
744
+ * @permissionId CONTACTS_SCHEMA.VIEW
745
+ * @applicableIdentity APP
746
+ * @fqn com.wixpress.contacts.fields.v4.ContactExtendedFieldsServiceV4.QueryExtendedFields
747
+ */
748
+ declare function queryExtendedFields(): FieldsQueryBuilder;
533
749
  interface QueryOffsetResult {
534
750
  currentPage: number | undefined;
535
751
  totalPages: number | undefined;
@@ -586,4 +802,4 @@ interface FieldsQueryBuilder {
586
802
  find: () => Promise<FieldsQueryResult>;
587
803
  }
588
804
 
589
- export { type EntityUpdatedEvent as A, type EntityDeletedEvent as B, type ActionEvent as C, type DeleteExtendedFieldRequest as D, type ExtendedField as E, type FieldDataTypeWithLiterals as F, type GetExtendedFieldRequest as G, type IdentificationDataIdOneOf as H, type IdentificationData as I, type BaseEventMetadata as J, type EventMetadata as K, type ListExtendedFieldsRequest as L, type MessageEnvelope as M, type FieldsQueryResult as N, type Paging as P, type QueryExtendedFieldsRequest as Q, type RenameExtendedField as R, SortOrder as S, type UpdateExtendedFieldRequest as U, WebhookIdentityType as W, type FindOrCreateExtendedFieldResponse as a, type FieldsQueryBuilder as b, type ExtendedFieldCreatedEnvelope as c, type ExtendedFieldDeletedEnvelope as d, type ExtendedFieldUpdatedEnvelope as e, FieldDataType as f, FieldType as g, type Sorting as h, type ListExtendedFieldsResponse as i, type PagingMetadata as j, type FindOrCreateExtendedFieldRequest as k, type GetExtendedFieldResponse as l, type GetExtendedFieldByLegacyIdRequest as m, type GetExtendedFieldByLegacyIdResponse as n, type UpdateExtendedFieldResponse as o, type DeleteExtendedFieldResponse as p, type PurgeRequest as q, type PurgeResponse as r, type GdprListRequest as s, type GdprListResponse as t, type Query as u, type QueryExtendedFieldsResponse as v, type DomainEvent as w, type DomainEventBodyOneOf as x, type EntityCreatedEvent as y, type RestoreInfo as z };
805
+ export { type ActionEvent, type BaseEventMetadata, type DeleteExtendedFieldRequest, type DeleteExtendedFieldResponse, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventMetadata, type ExtendedField, type ExtendedFieldCreatedEnvelope, type ExtendedFieldDeletedEnvelope, type ExtendedFieldUpdatedEnvelope, FieldDataType, type FieldDataTypeWithLiterals, FieldType, type FieldTypeWithLiterals, type FieldsQueryBuilder, type FieldsQueryResult, type FindOrCreateExtendedFieldApplicationErrors, type FindOrCreateExtendedFieldRequest, type FindOrCreateExtendedFieldResponse, type GdprListRequest, type GdprListResponse, type GetExtendedFieldByLegacyIdRequest, type GetExtendedFieldByLegacyIdResponse, type GetExtendedFieldRequest, type GetExtendedFieldResponse, type IdentificationData, type IdentificationDataIdOneOf, type ListExtendedFieldsRequest, type ListExtendedFieldsResponse, type MessageEnvelope, type Paging, type PagingMetadata, type PurgeRequest, type PurgeResponse, type Query, type QueryExtendedFieldsApplicationErrors, type QueryExtendedFieldsRequest, type QueryExtendedFieldsResponse, type RenameExtendedField, type RestoreInfo, SortOrder, type SortOrderWithLiterals, type Sorting, type UpdateExtendedFieldRequest, type UpdateExtendedFieldResponse, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, deleteExtendedField, findOrCreateExtendedField, getExtendedField, onExtendedFieldCreated, onExtendedFieldDeleted, onExtendedFieldUpdated, queryExtendedFields, renameExtendedField };