import { CreateContactRequest as CreateContactRequest$1, CreateContactResponse as CreateContactResponse$1, UpdateContactRequest as UpdateContactRequest$1, UpdateContactResponse as UpdateContactResponse$1, MergeContactsRequest as MergeContactsRequest$1, MergeContactsResponse as MergeContactsResponse$1, PreviewMergeContactsRequest as PreviewMergeContactsRequest$1, PreviewMergeContactsResponse as PreviewMergeContactsResponse$1, DeleteContactRequest as DeleteContactRequest$1, DeleteContactResponse as DeleteContactResponse$1, LabelContactRequest as LabelContactRequest$1, LabelContactResponse as LabelContactResponse$1, UnlabelContactRequest as UnlabelContactRequest$1, UnlabelContactResponse as UnlabelContactResponse$1, ListContactsRequest as ListContactsRequest$1, ListContactsResponse as ListContactsResponse$1, QueryContactsRequest as QueryContactsRequest$1, QueryContactsResponse as QueryContactsResponse$1, ListFacetsRequest as ListFacetsRequest$1, ListFacetsResponse as ListFacetsResponse$1, QueryFacetsRequest as QueryFacetsRequest$1, QueryFacetsResponse as QueryFacetsResponse$1, BulkDeleteContactsRequest as BulkDeleteContactsRequest$1, BulkDeleteContactsResponse as BulkDeleteContactsResponse$1, BulkUpdateContactsRequest as BulkUpdateContactsRequest$1, BulkUpdateContactsResponse as BulkUpdateContactsResponse$1, BulkLabelAndUnlabelContactsRequest as BulkLabelAndUnlabelContactsRequest$1, BulkLabelAndUnlabelContactsResponse as BulkLabelAndUnlabelContactsResponse$1, GetContactRequest as GetContactRequest$1, GetContactResponse as GetContactResponse$1 } from './index.typings.js'; import '@wix/sdk-types'; interface Contact { /** * Contact ID. * @format GUID * @readonly */ id?: string; /** * Revision number, which increments by 1 each time the contact is updated. * To prevent conflicting changes, * the existing `revision` must be specified when updating a contact. * @readonly */ revision?: number; /** * Details about the contact's source. * @readonly */ source?: ContactSource; /** * Date and time the contact was created. * @readonly */ createdDate?: Date | null; /** * Date and time the contact was last updated. * @readonly */ updatedDate?: Date | null; /** * Details about the contact's last action in the site. * @readonly */ lastActivity?: ContactActivity; /** * Contact's primary phone and email. * @readonly */ primaryInfo?: PrimaryContactInfo; /** Contact's details. */ info?: ContactInfo; /** * Contact's primary email details. * @readonly */ primaryEmail?: PrimaryEmail; /** * Contact's primary phone details. * @readonly */ primaryPhone?: PrimaryPhone; } interface ContactSource { /** * Source type. * @readonly */ sourceType?: ContactSourceTypeWithLiterals; /** * App ID, if the contact was created by an app. * @format GUID * @readonly */ appId?: string | null; } declare enum ContactSourceType { OTHER = "OTHER", ADMIN = "ADMIN", WIX_APP = "WIX_APP", IMPORT = "IMPORT", THIRD_PARTY = "THIRD_PARTY", WIX_BOOKINGS = "WIX_BOOKINGS", WIX_CHAT = "WIX_CHAT", WIX_EMAIL_MARKETING = "WIX_EMAIL_MARKETING", WIX_EVENTS = "WIX_EVENTS", WIX_FORMS = "WIX_FORMS", WIX_GROUPS = "WIX_GROUPS", WIX_HOTELS = "WIX_HOTELS", WIX_MARKET_PLACE = "WIX_MARKET_PLACE", WIX_MUSIC = "WIX_MUSIC", WIX_RESTAURANTS = "WIX_RESTAURANTS", WIX_SITE_MEMBERS = "WIX_SITE_MEMBERS", WIX_STORES = "WIX_STORES", WIX_CODE = "WIX_CODE", HOPP = "HOPP" } /** @enumType */ type ContactSourceTypeWithLiterals = ContactSourceType | 'OTHER' | 'ADMIN' | 'WIX_APP' | 'IMPORT' | 'THIRD_PARTY' | 'WIX_BOOKINGS' | 'WIX_CHAT' | 'WIX_EMAIL_MARKETING' | 'WIX_EVENTS' | 'WIX_FORMS' | 'WIX_GROUPS' | 'WIX_HOTELS' | 'WIX_MARKET_PLACE' | 'WIX_MUSIC' | 'WIX_RESTAURANTS' | 'WIX_SITE_MEMBERS' | 'WIX_STORES' | 'WIX_CODE' | 'HOPP'; interface ContactActivity { /** Date and time of the last action. */ activityDate?: Date | null; /** Contact's last action in the site. */ activityType?: ContactActivityTypeWithLiterals; } declare enum ContactActivityType { /** Visited the site. */ GENERAL = "GENERAL", /** Became a new contact. */ CONTACT_CREATED = "CONTACT_CREATED", /** Logged in. */ MEMBER_LOGIN = "MEMBER_LOGIN", /** Requested a site membership. */ MEMBER_REGISTER = "MEMBER_REGISTER", /** Was approved, blocked, or unblocked. */ MEMBER_STATUS_CHANGED = "MEMBER_STATUS_CHANGED", /** Submitted a form. */ FORM_SUBMITTED = "FORM_SUBMITTED", /** Started a chat. */ INBOX_FORM_SUBMITTED = "INBOX_FORM_SUBMITTED", /** Paid a payment request. */ INBOX_PAYMENT_REQUEST_PAID = "INBOX_PAYMENT_REQUEST_PAID", /** Received a message from the site. */ INBOX_MESSAGE_TO_CUSTOMER = "INBOX_MESSAGE_TO_CUSTOMER", /** Sent a new message to the site. */ INBOX_MESSAGE_FROM_CUSTOMER = "INBOX_MESSAGE_FROM_CUSTOMER", /** Subscribed to a site newsletter through a form. */ NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED = "NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED", /** Unsubscribed from a site newsletter. */ NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE = "NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE", /** Made a purchase. */ ECOM_PURCHASE = "ECOM_PURCHASE", /** Abandoned a shopping cart. */ ECOM_CART_ABANDON = "ECOM_CART_ABANDON", /** Checked out shopping cart and submitted buyer info (but didn’t complete the purchase yet). */ ECOM_CHECKOUT_BUYER = "ECOM_CHECKOUT_BUYER", /** Booked an appointment. */ BOOKINGS_APPOINTMENT = "BOOKINGS_APPOINTMENT", /** Made a Wix Hotels reservation. */ HOTELS_RESERVATION = "HOTELS_RESERVATION", /** Paid for a Wix Hotels reservation. */ HOTELS_PURCHASE = "HOTELS_PURCHASE", /** Confirmed a Wix Hotels reservation. */ HOTELS_CONFIRMATION = "HOTELS_CONFIRMATION", /** Canceled a Wix Hotels reservation. */ HOTELS_CANCEL = "HOTELS_CANCEL", /** Purchased a video. */ VIDEO_PURCHASE = "VIDEO_PURCHASE", /** Rented a video. */ VIDEO_RENT = "VIDEO_RENT", /** Made a purchase with a pay button. */ CASHIER_BUTTON_PURCHASE = "CASHIER_BUTTON_PURCHASE", /** Became a new Wix Marketplace lead. */ ARENA_NEW_LEAD = "ARENA_NEW_LEAD", /** RSVP'd to an event. */ EVENTS_RSVP = "EVENTS_RSVP", /** Paid an invoice. */ INVOICE_PAY = "INVOICE_PAY", /** An invoice is now overdue. */ INVOICE_OVERDUE = "INVOICE_OVERDUE", /** Accepted a price quote. */ PRICE_QUOTE_ACCEPT = "PRICE_QUOTE_ACCEPT", /** A price quote has expired. */ PRICE_QUOTE_EXPIRE = "PRICE_QUOTE_EXPIRE", /** Ordered food with Wix Restaurants. */ RESTAURANTS_ORDER = "RESTAURANTS_ORDER", /** Made a Wix Restaurants reservation. */ RESTAURANTS_RESERVATION = "RESTAURANTS_RESERVATION", /** Opened an email from the site. */ SHOUTOUT_OPEN = "SHOUTOUT_OPEN", /** Clicked a link in an email from the site. */ SHOUTOUT_CLICK = "SHOUTOUT_CLICK", /** Merged with another contact. */ CONTACT_MERGED = "CONTACT_MERGED", /** Subscribed to a site newsletter. */ NEWSLETTER_SUBSCRIPTION_SUBSCRIBE = "NEWSLETTER_SUBSCRIPTION_SUBSCRIBE", /** Subscription status to site newsletters is pending confirmation. */ NEWSLETTER_SUBSCRIPTION_PENDING = "NEWSLETTER_SUBSCRIPTION_PENDING", /** Subscription status to site newsletters is not set. */ NEWSLETTER_SUBSCRIPTION_NOT_SET = "NEWSLETTER_SUBSCRIPTION_NOT_SET", /** Subscribed to phone notifications. */ PHONE_SUBSCRIPTION_SUBSCRIBE = "PHONE_SUBSCRIPTION_SUBSCRIBE", /** Subscription to phone notificatons is pending confirmation. */ PHONE_SUBSCRIPTION_PENDING = "PHONE_SUBSCRIPTION_PENDING", /** Subscription to phone notificatons is not set. */ PHONE_SUBSCRIPTION_NOT_SET = "PHONE_SUBSCRIPTION_NOT_SET", /** Subscribed to phone notifications. */ PHONE_SUBSCRIPTION_UNSUBSCRIBE = "PHONE_SUBSCRIPTION_UNSUBSCRIBE" } /** @enumType */ type ContactActivityTypeWithLiterals = ContactActivityType | 'GENERAL' | 'CONTACT_CREATED' | 'MEMBER_LOGIN' | 'MEMBER_REGISTER' | 'MEMBER_STATUS_CHANGED' | 'FORM_SUBMITTED' | 'INBOX_FORM_SUBMITTED' | 'INBOX_PAYMENT_REQUEST_PAID' | 'INBOX_MESSAGE_TO_CUSTOMER' | 'INBOX_MESSAGE_FROM_CUSTOMER' | 'NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED' | 'NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE' | 'ECOM_PURCHASE' | 'ECOM_CART_ABANDON' | 'ECOM_CHECKOUT_BUYER' | 'BOOKINGS_APPOINTMENT' | 'HOTELS_RESERVATION' | 'HOTELS_PURCHASE' | 'HOTELS_CONFIRMATION' | 'HOTELS_CANCEL' | 'VIDEO_PURCHASE' | 'VIDEO_RENT' | 'CASHIER_BUTTON_PURCHASE' | 'ARENA_NEW_LEAD' | 'EVENTS_RSVP' | 'INVOICE_PAY' | 'INVOICE_OVERDUE' | 'PRICE_QUOTE_ACCEPT' | 'PRICE_QUOTE_EXPIRE' | 'RESTAURANTS_ORDER' | 'RESTAURANTS_RESERVATION' | 'SHOUTOUT_OPEN' | 'SHOUTOUT_CLICK' | 'CONTACT_MERGED' | 'NEWSLETTER_SUBSCRIPTION_SUBSCRIBE' | 'NEWSLETTER_SUBSCRIPTION_PENDING' | 'NEWSLETTER_SUBSCRIPTION_NOT_SET' | 'PHONE_SUBSCRIPTION_SUBSCRIBE' | 'PHONE_SUBSCRIPTION_PENDING' | 'PHONE_SUBSCRIPTION_NOT_SET' | 'PHONE_SUBSCRIPTION_UNSUBSCRIBE'; interface ActivityIcon { /** * Icon name * @maxLength 50 */ name?: string | null; /** * Icon url * @format WEB_URL */ url?: string | null; } interface PrimaryContactInfo { /** * Primary email address. * * This property reflects the email address in `info.emails` * where `primary` is `true`. * @format EMAIL * @readonly */ email?: string | null; /** * Primary phone number. * * This property reflects the phone number in `info.phones` * where `primary` is `true`. * @readonly */ phone?: string | null; } interface Image { /** * WixMedia image ID. * This property is written by Wix when an image is uploaded to the Wix Media Manager. */ id?: string; /** Image source: Either a Media Manager URL or external URL. */ url?: string; /** Height of the original image. */ height?: number; /** Width of the original image. */ width?: number; /** Image alt text (optional). */ altText?: string | null; /** * Image URL expiration date (optional). * @readonly */ urlExpirationDate?: Date | null; } interface ContactInfo { /** Contact's first and last name. */ name?: ContactName; /** Contact's email addresses. */ emails?: ContactEmailsWrapper; /** Contact's phone numbers. */ phones?: ContactPhonesWrapper; /** Contact's street addresses. */ addresses?: ContactAddressesWrapper; /** * Contact's company name. * @maxLength 1000 */ company?: string | null; /** * Contact's job title. * @maxLength 1000 */ jobTitle?: string | null; /** * Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`. * @format LOCAL_DATE */ birthdate?: string | null; /** * Locale in * [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format. * Typically, this is a lowercase 2-letter language code, * followed by a hyphen, followed by an uppercase 2-letter country code. * For example, `en-US` for U.S. English, and `de-DE` for Germany German. * @format LANGUAGE_TAG */ locale?: string | null; /** * List of contact's labels. * * Labels are used to organize contacts. Labels can be * added and removed using Label Contact and Unlabel Contact, respectively. * * To view or manage contact labels, use the Labels API. */ labelKeys?: LabelsWrapper; /** * Additional custom fields. * * Empty fields are not returned. */ extendedFields?: ExtendedFieldsWrapper; /** Contact's profile picture. */ picture?: ContactPicture; } interface ContactName { /** * Contact's first name. * @maxLength 1000 */ first?: string | null; /** * Contact's last name. * @maxLength 1000 */ last?: string | null; } interface ContactEmailsWrapper { /** * List of up to 50 email addresses. * @maxSize 50 */ items?: ContactEmail[]; } interface ContactEmail { /** * Email ID. * @format GUID * @readonly */ id?: string | null; /** * Email type. * * `UNTAGGED` is shown as "Other" in the Contact List. */ tag?: EmailTagWithLiterals; /** * Email address. * @minLength 1 * @maxLength 320 */ email?: string; /** * Indicates whether this is the contact's primary email address. * When changing `primary` to `true` for an email, * the contact's other emails become `false`. * Changing the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email. */ primary?: boolean | null; } declare enum EmailTag { UNTAGGED = "UNTAGGED", MAIN = "MAIN", HOME = "HOME", WORK = "WORK" } /** @enumType */ type EmailTagWithLiterals = EmailTag | 'UNTAGGED' | 'MAIN' | 'HOME' | 'WORK'; interface ContactPhonesWrapper { /** * List of up to 50 phone numbers. * @maxSize 50 */ items?: ContactPhone[]; } interface ContactPhone { /** * Phone ID. * @format GUID * @readonly */ id?: string | null; /** * Phone type. * * `UNTAGGED` is shown as "Other" in the Contact List. */ tag?: PhoneTagWithLiterals; /** * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. * @format COUNTRY */ countryCode?: string | null; /** * Phone number. * @minLength 1 * @maxLength 50 */ phone?: string; /** * [ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/) * phone number. * Automatically generated using `phone` and `countryCode`, pending both values are valid. * @readonly */ e164Phone?: string | null; /** * Indicates whether this is the contact's primary phone number. * When changing `primary` to `true` for a phone, * the contact's `primary` field for other phones becomes `false`. * Changing the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone. */ primary?: boolean | null; } declare enum PhoneTag { UNTAGGED = "UNTAGGED", MAIN = "MAIN", HOME = "HOME", MOBILE = "MOBILE", WORK = "WORK", FAX = "FAX" } /** @enumType */ type PhoneTagWithLiterals = PhoneTag | 'UNTAGGED' | 'MAIN' | 'HOME' | 'MOBILE' | 'WORK' | 'FAX'; interface ContactAddressesWrapper { /** * List of up to 50 addresses. * @maxSize 50 */ items?: ContactAddress[]; } interface ContactAddress { /** * Street address ID. * @format GUID * @readonly */ id?: string | null; /** * Address type. * `UNTAGGED` is shown as "Other" in the Contact List. */ tag?: AddressTagWithLiterals; /** Street address. */ address?: Address; } declare enum AddressTag { UNTAGGED = "UNTAGGED", HOME = "HOME", WORK = "WORK", BILLING = "BILLING", SHIPPING = "SHIPPING" } /** @enumType */ type AddressTagWithLiterals = AddressTag | 'UNTAGGED' | 'HOME' | 'WORK' | 'BILLING' | 'SHIPPING'; /** Physical address */ interface Address extends AddressStreetOneOf { /** Street address object, with number and name in separate fields. */ streetAddress?: StreetAddress; /** * Main address line, usually street and number, as free text. * @maxLength 1000 */ addressLine?: string | null; /** * 2-letter country code in an * [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. * @format COUNTRY */ country?: string | null; /** * Code for a subdivision (such as state, prefecture, or province) in an * [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. * @maxLength 100 */ subdivision?: string | null; /** * City name. * @maxLength 1000 */ city?: string | null; /** * Postal or zip code. * @maxLength 100 */ postalCode?: string | null; /** * Free text providing more detailed address information, * such as apartment, suite, or floor. * @maxLength 1000 */ addressLine2?: string | null; } /** @oneof */ interface AddressStreetOneOf { /** Street address object, with number and name in separate fields. */ streetAddress?: StreetAddress; /** * Main address line, usually street and number, as free text. * @maxLength 1000 */ addressLine?: string | null; } interface StreetAddress { /** * Street number. * @maxLength 100 */ number?: string; /** * Street name. * @maxLength 1000 */ name?: string; } interface AddressLocation { /** Address's latitude. */ latitude?: number | null; /** Address's longitude. */ longitude?: number | null; } interface Subdivision { /** subdivision short code */ code?: string; /** Full subdivision name. */ name?: string; } declare enum SubdivisionType { UNKNOWN_SUBDIVISION_TYPE = "UNKNOWN_SUBDIVISION_TYPE", /** State */ ADMINISTRATIVE_AREA_LEVEL_1 = "ADMINISTRATIVE_AREA_LEVEL_1", /** County */ ADMINISTRATIVE_AREA_LEVEL_2 = "ADMINISTRATIVE_AREA_LEVEL_2", /** City/town */ ADMINISTRATIVE_AREA_LEVEL_3 = "ADMINISTRATIVE_AREA_LEVEL_3", /** Neighborhood/quarter */ ADMINISTRATIVE_AREA_LEVEL_4 = "ADMINISTRATIVE_AREA_LEVEL_4", /** Street/block */ ADMINISTRATIVE_AREA_LEVEL_5 = "ADMINISTRATIVE_AREA_LEVEL_5", /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */ COUNTRY = "COUNTRY" } /** @enumType */ type SubdivisionTypeWithLiterals = SubdivisionType | 'UNKNOWN_SUBDIVISION_TYPE' | 'ADMINISTRATIVE_AREA_LEVEL_1' | 'ADMINISTRATIVE_AREA_LEVEL_2' | 'ADMINISTRATIVE_AREA_LEVEL_3' | 'ADMINISTRATIVE_AREA_LEVEL_4' | 'ADMINISTRATIVE_AREA_LEVEL_5' | 'COUNTRY'; interface AssigneesWrapper { /** * List of site contributor user IDs. * @format GUID * @maxSize 50 */ items?: string[]; } interface LabelsWrapper { /** * List of contact label keys. * * Contact labels help categorize contacts. Label keys must exist to be added to the contact. * Contact labels can be created or retrieved with Find or Create Label or List Labels. * @maxSize 2000 */ items?: string[]; } interface ExtendedFieldsWrapper { /** * Contact's extended fields, * where each key is the field key, * and each value is the field's value for the contact. * * To view and manage extended fields, use the Extended Fields API. */ items?: Record; } interface LocationsWrapper { /** * List of location ids. * @format GUID * @maxSize 50 */ items?: string[]; } /** TEST contact picture description */ interface ContactPicture { /** * Image. * This can contain an image URL or a Wix Media image ID. */ image?: Image; } declare enum ImageProvider { UNKNOWN = "UNKNOWN", /** Image stored outside Wix */ EXTERNAL = "EXTERNAL", /** Stored in wix media platform, Must be uploaded by using `GeneratePictureUploadUrl` */ WIX_MEDIA = "WIX_MEDIA" } /** @enumType */ type ImageProviderWithLiterals = ImageProvider | 'UNKNOWN' | 'EXTERNAL' | 'WIX_MEDIA'; interface SegmentsWrapper { /** * List of Contact segment IDs * @maxSize 60 * @format GUID */ items?: string[]; } interface PrimaryEmail { /** * Primary email address. * * This field reflects the email address in `info.emails` * where `primary` is `true`. * @format EMAIL * @readonly */ email?: string | null; /** * Indicates the recipient's opt-in or opt-out status for marketing emails. * * Default: `NOT_SET` * @readonly */ subscriptionStatus?: SubscriptionStatusWithLiterals; /** * Indicates last reported status of sent emails. * * Default: `NOT_SET` * @readonly */ deliverabilityStatus?: EmailDeliverabilityStatusWithLiterals; } declare enum SubscriptionStatus { /** No status exists. */ NO_SUBSCRIPTION_STATUS = "NO_SUBSCRIPTION_STATUS", /** No status specified. */ NOT_SET = "NOT_SET", /** Subscription confirmation was requested, but recipient hasn't confirmed yet. */ PENDING = "PENDING", /** Recipient has opted in to marketing emails or SMS messages. */ SUBSCRIBED = "SUBSCRIBED", /** Recipient has opted out of marketing emails or SMS messages. */ UNSUBSCRIBED = "UNSUBSCRIBED" } /** @enumType */ type SubscriptionStatusWithLiterals = SubscriptionStatus | 'NO_SUBSCRIPTION_STATUS' | 'NOT_SET' | 'PENDING' | 'SUBSCRIBED' | 'UNSUBSCRIBED'; declare enum EmailDeliverabilityStatus { /** No status reported. */ NOT_SET = "NOT_SET", /** Emails are being successfully delivered. */ VALID = "VALID", /** The last email to the recipient bounced or was rejected. */ BOUNCED = "BOUNCED", /** Recipient registered a spam complaint with their email provider. */ SPAM_COMPLAINT = "SPAM_COMPLAINT", /** Multiple emails have been delivered without any kind of engagement from the recipient. */ INACTIVE = "INACTIVE" } /** @enumType */ type EmailDeliverabilityStatusWithLiterals = EmailDeliverabilityStatus | 'NOT_SET' | 'VALID' | 'BOUNCED' | 'SPAM_COMPLAINT' | 'INACTIVE'; interface PrimaryPhone { /** * Country code of the primary phone number in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. * @format COUNTRY */ countryCode?: string | null; /** * Phone number in [ITU E.164](https://www.itu.int/rec/T-REC-E.164/) format. * Automatically generated using `phone` and `countryCode` when both values are valid. * @readonly */ e164Phone?: string | null; /** * Formatted phone. Automatically generated using `phone` and `countryCode`. * @readonly */ formattedPhone?: string | null; /** * Indicates the recipient's opt-in or opt-out status for SMS messages. * * Default: * - `NOT_SET` when the phone is a valid E164 phone. * - `NO_SUBSCRIPTION_STATUS` when the phone is not a valid E164 phone. * @readonly */ subscriptionStatus?: SubscriptionStatusWithLiterals; /** * Primary phone number. * * This field reflects the phone number in `info.phones` * where `primary` is `true`. * @readonly */ phone?: string | null; } declare enum PhoneDeliverabilityStatus { /** No status exists. */ NO_PHONE_DELIVERABILITY_STATUS = "NO_PHONE_DELIVERABILITY_STATUS", /** No status reported. */ NOT_SET = "NOT_SET" } /** @enumType */ type PhoneDeliverabilityStatusWithLiterals = PhoneDeliverabilityStatus | 'NO_PHONE_DELIVERABILITY_STATUS' | 'NOT_SET'; interface MemberInfo { /** * Member ID * @format GUID */ memberId?: string | null; /** Signup date */ signupDate?: Date | null; /** * Login email * @format EMAIL */ email?: string | null; /** Indicate whether the email is verified */ emailVerified?: boolean | null; /** Indicates whether the member is required to verify their email */ emailVerificationRequired?: boolean | null; /** * Member status. * - `PENDING`: Member created and is waiting for approval by site owner. * - `ACTIVE`: Member can log in to the site. * - `OFFLINE`: Member is a [managed writer](https://support.wix.com/en/article/wix-blog-adding-managed-writers-to-your-blog) for the site blog and cannot log in to the site. * - `BLOCKED': Member is blocked and cannot log in to the site. */ status?: MemberStatusWithLiterals; /** Profile info */ profileInfo?: ProfileInfo; /** User info */ userInfo?: UserInfo; /** Session info */ sessionInfo?: SessionInfo; /** Group info */ groupInfo?: GroupInfo; } declare enum MemberStatus { PENDING = "PENDING", ACTIVE = "ACTIVE", DELETED = "DELETED", BLOCKED = "BLOCKED", OFFLINE = "OFFLINE" } /** @enumType */ type MemberStatusWithLiterals = MemberStatus | 'PENDING' | 'ACTIVE' | 'DELETED' | 'BLOCKED' | 'OFFLINE'; interface ProfileInfo { /** * Nickname * @maxLength 255 */ nickname?: string | null; /** Privacy status */ privacyStatus?: PrivacyStatusWithLiterals; /** Indicate whether the member is reported */ reported?: boolean | null; /** Indicate whether the member is muted */ muted?: boolean | null; /** Profile photo */ photo?: Image; } declare enum PrivacyStatus { PRIVATE = "PRIVATE", PUBLIC = "PUBLIC" } /** @enumType */ type PrivacyStatusWithLiterals = PrivacyStatus | 'PRIVATE' | 'PUBLIC'; interface UserInfo { /** * User ID * @format GUID */ userId?: string; /** The user's role on the website */ role?: RoleWithLiterals; } declare enum Role { UNSPECIFIED_ROLE = "UNSPECIFIED_ROLE", OWNER = "OWNER", CONTRIBUTOR = "CONTRIBUTOR" } /** @enumType */ type RoleWithLiterals = Role | 'UNSPECIFIED_ROLE' | 'OWNER' | 'CONTRIBUTOR'; interface SessionInfo { /** Last time the member logged in to the website */ lastWebLogin?: Date | null; /** Last time the member logged in to one of the mobile apps */ lastMobileLogin?: Date | null; /** * List of mobile apps that the member has ever logged in to * @maxSize 50 * @maxLength 50 */ mobileAppNames?: string[]; } interface GroupInfo { /** * Group IDs * @format GUID * @maxSize 1000 */ groupIds?: string[]; } interface ContactSubmitted { /** Pass through data, submitted with the contact */ passThroughData?: string | null; /** Submitted activity */ activity?: ContactActivity; /** Submitted Contact (after processing) */ contact?: Contact; } interface ContactChanged { /** The Contact before the changes */ previousContact?: Contact; /** The Contact after the changes */ currentContact?: Contact; } interface ContactEmailSubscriptionUpdated { /** The updated contact ID. */ contactId?: string; /** The revision of the contact. */ revision?: number; /** The primary email of the contact with the updated subscription and deliverability status. */ primaryEmail?: PrimaryEmail; /** Date and time the contact was updated with the email subscription or deliverability status. */ updatedDate?: Date | null; } interface ContactPhoneSubscriptionUpdated { /** The updated contact ID. */ contactId?: string; /** The revision of the contact. */ revision?: number; /** The primary phone of the contact with the updated subscription status. */ primaryPhone?: PrimaryPhone; /** Date and time the contact was updated with the SMS subscription status. */ updatedDate?: Date | null; } /** * This message is an internal message used by this app and it is used to trigger * the update of the subscription status of the contact asynchronously. * It is published after a contact is created/updated/merged. */ interface ContactPrimaryInfoUpdated { /** The updated contact ID. */ contactId?: string; /** Indication whether the primary email was updated. */ primaryEmailUpdated?: boolean; /** Indication whether primary phone was updated. */ primaryPhoneUpdated?: boolean; /** previous primary email subscription status */ previousPrimaryEmailSubscriptionStatus?: PrimarySubscriptionStatus; /** previous primary phone subscription status */ previousPrimaryPhoneSubscriptionStatus?: PrimarySubscriptionStatus; } interface PrimarySubscriptionStatus { /** subscription status */ subscriptionStatus?: SubscriptionStatusWithLiterals; } /** * This message is an internal message used by this app and it is used to trigger * the update of the contact's last activity is done asynchronously. */ interface LastActivityUpdate { /** * The contact ID. * @format GUID */ contactId?: string; /** Activity date. */ activityDate?: Date | null; /** * Activity translation key. * @maxLength 100 */ activityTranslationKey?: string; /** * Activity icon. * @maxLength 100 */ icon?: string | null; } /** Contact creation options. */ interface CreateContactRequest { /** Contact info. */ info: ContactInfo; /** * Controls whether the call will succeed * if the new contact information contains an email or a phone number already used by another contact. * * If set to `true`, * the call will succeed even if an email address or phone number is used by another contact. * If set to `false`, * the call will fail if the given email address is used by another contact or, * if the email address is not given and the given phone number is used by another contact. * * Default: `false` */ allowDuplicates?: boolean; } /** Contact. */ interface CreateContactResponse { /** Contact. */ contact?: Contact; } interface DuplicateContactExists { /** @format GUID */ duplicateContactId?: string | null; /** @format EMAIL */ duplicateEmail?: string | null; /** @format PHONE */ duplicatePhone?: string | null; } interface UpdateContactRequest { /** * ID of the contact to update. * @format GUID */ contactId: string; /** * Revision number. * When updating, include the existing `revision` * to prevent conflicting updates. */ revision: number | null; /** * Controls whether the call will succeed * if the new contact information contains an email or a phone number already used by another contact. * * If set to `true`, * the call will succeed even if an email address or phone number is used by another contact. * If set to `false`, * the call will fail if the given email address is used by another contact or, * if the email address is not given and the given phone number is used by another contact. * * Default: `false` */ allowDuplicates?: boolean; /** Contact info. */ info: ContactInfo; } /** Updated contact. */ interface UpdateContactResponse { /** Updated contact. */ contact?: Contact; } interface MergeContactsRequest { /** * Target contact ID. * @format GUID */ targetContactId: string; /** * Target contact revision number, which increments by 1 each time the contact is updated. * To prevent conflicting changes, * the target contact's current `revision` must be specified. */ targetContactRevision: number | null; /** * IDs of up to 5 contacts to merge into the target contact. * When you merge more than one source contact, * the first source is given precedence, then the second, and so on. * @minSize 1 * @maxSize 5 */ sourceContactIds?: string[]; } interface MergeContactsResponse { /** Updated target contact. */ contact?: Contact; } interface ContactMerged { /** ID of the contact the source contacts were merged into. */ targetContactId?: string; /** IDs of contacts that were merged into the target contact. */ sourceContactIds?: string[]; /** Updated target contact. */ targetContact?: Contact; } interface PreviewMergeContactsRequest { /** * Target contact ID. * @format GUID */ targetContactId: string; /** * IDs of up to 5 contacts to merge into the target contact. * When you merge more than one source contact, * the first source is given precedence, then the second, and so on. * @minSize 1 * @maxSize 5 */ sourceContactIds?: string[]; } interface PreviewMergeContactsResponse { /** Preview of the updated target contact. */ contact?: Contact; } interface DeleteContactRequest { /** * ID of the contact to delete. * @format GUID */ contactId: string; } interface DeleteContactResponse { } interface LabelContactRequest { /** * ID of the contact to add labels to. * @format GUID */ contactId: string; /** * List of label keys to add to the contact. * * Label keys must exist to be added to the contact. * Use the Labels API to create or retrieve labels. * @minSize 1 * @maxSize 100 */ labelKeys: string[]; } /** Updated contact. */ interface LabelContactResponse { /** Updated contact. */ contact?: Contact; } interface UnlabelContactRequest { /** * ID of the contact to remove labels from. * @format GUID */ contactId: string; /** * List of label keys to remove from the contact. * @minSize 1 * @maxSize 100 */ labelKeys: string[]; } /** Updated contact. */ interface UnlabelContactResponse { /** Updated contact. */ contact?: Contact; } interface LabelAndUnlabelContactRequest { /** * Contact ID. * @format GUID */ contactId?: string; /** * List of label keys to add to the contact. * * Label keys must exist to be added to the contact. * Contact labels can be created or retrieved with * [Find or Create Label](https://dev.wix.com/api/rest/contacts/labels/find-or-create-label) * or * [List Labels](https://dev.wix.com/api/rest/contacts/labels/list-labels). * @minSize 1 * @maxSize 100 */ labelKeysToAdd?: string[]; /** * List of label keys to remove from the contact. * @minSize 1 * @maxSize 100 */ labelKeysToRemove?: string[]; } interface LabelAndUnlabelContactResponse { /** Updated contact. */ contact?: Contact; } interface ListContactsRequest { /** [Sort order](https://dev.wix.com/api/rest/contacts/contacts/sort-and-filter). */ sort?: Sorting; /** [Pagination](https://dev.wix.com/api/rest/getting-started/pagination), defaults to offset = 0 and limit = 50 (max limit 1,000). */ paging?: Paging; /** * List of projected fields to return. * If both `fields` and `fieldsets` are sent in the request, * the union of both lists is returned. * `id` and `revision` are always returned. * * Supported properties: * `source`, `createdDate`, `updatedDate`, `lastActivity`, `primaryInfo`, * `info.name`, `info.emails`, `info.phones`, `info.addresses`, `info.company`, * `info.jobTitle`, `info.picture`, `info.birthdate`, `info.locale`, * `info.labelKeys`, `info.locations`, `info.extendedFields` * @maxLength 100 * @maxSize 100 */ fields?: string[]; /** @maxSize 10 */ fieldsets?: ContactFieldSetWithLiterals[]; } interface Sorting { /** * Field to sort by. * * Supported properties: * `createdDate`, `lastActivity.activityDate`, `primaryInfo.email`, `info.name.first`, `info.name.last`, `info.company`, * `info.jobTitle`, `info.birthdate` * @maxLength 100 */ fieldName?: string; /** * Sort order. * Use `ASC` for ascending order or `DESC` for descending order. * * Defaults to `ASC`. */ order?: SortOrderWithLiterals; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } /** @enumType */ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC'; interface Paging { /** * Number of items to return. Learn more about pagination in [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#paging). * * Default: `50`.
* Maximum: `1000`. * @max 1000 */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } declare enum ContactFieldSet { /** name, primaryEmail, primaryPhone */ BASIC = "BASIC", /** name, phones, emails, addresses */ COMMUNICATION_DETAILS = "COMMUNICATION_DETAILS", /** name, primaryInfo(email, phone), extendedFields */ EXTENDED = "EXTENDED", /** Full contact object */ FULL = "FULL" } /** @enumType */ type ContactFieldSetWithLiterals = ContactFieldSet | 'BASIC' | 'COMMUNICATION_DETAILS' | 'EXTENDED' | 'FULL'; /** List of contacts. */ interface ListContactsResponse { /** List of contacts. */ contacts?: Contact[]; /** Details on the paged set of results returned. */ pagingMetadata?: PagingMetadata; } interface PagingMetadata { /** The number of items returned in this response. */ count?: number | null; /** The offset which was requested. */ offset?: number | null; /** The total number of items that match the query. */ total?: number | null; /** A flag that indicates the server failed to calculate 'total' field. */ tooManyToCount?: boolean | null; } interface QueryContactsRequest { /** * Plain text search for an exact match. * * Supported properties: * `info.name.first`, `info.name.last`, `info.emails.email`, `info.phones.phone` * * Max: 100 characters * @maxLength 100 */ search?: string | null; /** Query options. */ query?: Query; } interface Query { /** * Filter object. * See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) * for more information. * * For a detailed list of supported filters, see * [Supported Filters](https://dev.wix.com/api/rest/contacts/contacts/supported-filters). */ filter?: Record | null; /** * Sorting options. * See [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination) * for more information. * * Max: 1 sort object * @maxSize 1 */ sort?: Sorting[]; /** Pagination options. */ paging?: Paging; /** * List of projected fields to return. * If both `fields` and `fieldsets` are sent in the request, * the union of both lists is returned. * `id` and `revision` are always returned. * * Supported properties: * `source`, `createdDate`, `updatedDate`, `lastActivity`, `primaryInfo`, * `info.name`, `info.emails`, `info.phones`, `info.addresses`, `info.company`, * `info.jobTitle`, `info.picture`, `info.birthdate`, `info.locale`, * `info.labelKeys`, `info.locations`, `info.extendedFields` * @maxLength 100 * @maxSize 100 */ fields?: string[]; /** * Predefined sets of fields to return. * If both `fields` and `fieldsets` are sent in the request, * the union of both lists is returned. * * - `BASIC`: Returns `id`, `revision`, `primaryInfo`, `info.name`. * - `COMMUNICATION_DETAILS`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.emails`, `info.phones`, `info.addresses`. * - `EXTENDED`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.extendedFields`. * - `FULL`: Returns all fields. * * Default: If `fields` is omitted from the request, `FULL`. * @maxSize 10 */ fieldsets?: ContactFieldSetWithLiterals[]; } /** List of contacts. */ interface QueryContactsResponse { /** List of contacts. */ contacts?: Contact[]; /** Details on the paged set of results returned. */ pagingMetadata?: PagingMetadata; } interface ListFacetsRequest { /** Pagination options. */ paging?: Paging; /** * Language for localization. * @format LANGUAGE */ language?: string | null; } interface ListFacetsResponse { /** List of facets. */ facets?: ContactsFacet[]; /** Details on the paged set of results returned. */ pagingMetadata?: PagingMetadata; } interface ContactsFacet { /** Type of facet. */ facetType?: ContactsFacetTypeWithLiterals; /** * Scope for facet keys. * When a facet key exists in a namespace, * each key is unique within that namespace. * * Currently, facets not created by Wix are in the `custom` namespace. */ namespace?: string | null; /** Human-readable display name. */ namespaceDisplayName?: string | null; /** Facet key, automatically generated. */ facetKey?: string | null; /** Human-readable name. Shown in the Wix UI. */ facetDisplayName?: string | null; /** Number of contacts the facet applies to. */ count?: number | null; /** Filter used to query contacts of this facet. */ queryFilter?: Record | null; } declare enum ContactsFacetType { UNKNOWN = "UNKNOWN", ALL_CONTACTS = "ALL_CONTACTS", NOT_LABELED = "NOT_LABELED", LABEL = "LABEL", SUBSCRIPTION_STATUS = "SUBSCRIPTION_STATUS", MEMBERSHIP_STATUS = "MEMBERSHIP_STATUS" } /** @enumType */ type ContactsFacetTypeWithLiterals = ContactsFacetType | 'UNKNOWN' | 'ALL_CONTACTS' | 'NOT_LABELED' | 'LABEL' | 'SUBSCRIPTION_STATUS' | 'MEMBERSHIP_STATUS'; interface QueryFacetsRequest { /** Pagination options. */ paging?: Paging; /** * Language for localization. * @format LANGUAGE */ language?: string | null; /** * Filterable fields: * - `'info.extendedFields.emailSubscriptions.effectiveEmail'` (`$exists`). * - `'info.extendedFields.emailSubscriptions.subscriptionStatus'` (`$eq`, `$ne`, `$in`, `$nin`). * - `'info.extendedFields.emailSubscriptions.deliverabilityStatus'` (`$eq`, `$ne`, `$in`, `$nin`). */ filter?: Record | null; } interface QueryFacetsResponse { /** List of facets. */ facets?: ContactsFacet[]; /** Details on the paged set of results returned. */ pagingMetadata?: PagingMetadata; } interface BulkDeleteContactsRequest { /** * Filter object. * * Possible filters: * `$eq`, `$exists`, `$gt`, `$gte`, `$hasAll`, `$hasSome`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`. * * See [Sort, Filter, and Search](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search) * for a detailed list of supported filters for contact properties, extended fields, and custom fields. * * * Example: * `{ "filter": { "info.name.last": "Smith" } }` */ filter?: Record | null; /** * Plain text search for an exact match, up to 100 characters. * * Searchable fields: * * - `info.name.first` * - `info.name.last` * - `info.emails.email` * - `info.phones.phone` * @maxLength 100 */ search?: string | null; } interface BulkDeleteContactsResponse { /** * Bulk job ID. * The job's status can be retrieved with Get Bulk Job. * @format GUID */ jobId?: string; } interface BulkUpdateContactsRequest { /** * Filter object. * * Possible filters: * `$eq`, `$exists`, `$gt`, `$gte`, `$hasAll`, `$hasSome`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`. * * See [Sort, Filter, and Search](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search) * for a detailed list of supported filters for contact properties, extended fields, and custom fields. * * * Example: * `{ "filter": { "info.name.last": "Smith" } }` */ filter?: Record | null; /** * Plain text search for an exact match, up to 100 characters. * * Searchable fields: * * - `info.name.first` * - `info.name.last` * - `info.emails.email` * - `info.phones.phone` * @maxLength 100 */ search?: string | null; /** Contact info. */ info?: ContactInfo; } interface BulkUpdateContactsResponse { /** * Bulk job ID. * The job's status can be retrieved with Get Bulk Job. * @format GUID */ jobId?: string; } interface BulkLabelAndUnlabelContactsRequest { /** * Filter options. * Labels will be removed from contacts that meet the `filter` and `search` criteria. * * See * [Field Support for Filtering, Sorting, and Searching](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search) * for a list of supported filters and fields. */ filter?: Record | null; /** * Plain text search for an exact match, up to 100 characters. * Labels will be removed from contacts that meet the `filter` and `search` criteria. * * See * [Field Support for Filtering, Sorting, and Searching](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search) * for a list of searchable fields. * @maxLength 100 */ search?: string | null; /** * List of label keys to add to the contacts. * * Label keys must exist to be added to the contact. * Contact labels can be created or retrieved with * [Find or Create Label](https://dev.wix.com/api/rest/contacts/labels/find-or-create-label) * or * [List Labels](https://dev.wix.com/api/rest/contacts/labels/list-labels) * @maxSize 100 */ labelKeysToAdd?: string[]; /** * List of label keys to remove from the contacts. * @maxSize 100 */ labelKeysToRemove?: string[]; } interface BulkLabelAndUnlabelContactsResponse { /** * Bulk job ID. * The job's status can be retrieved with Get Bulk Job. * @format GUID */ jobId?: string; } interface BulkUpsertContactsRequest { /** * @minSize 1 * @maxSize 100 */ info?: ContactInfo[]; returnFullEntity?: boolean; } interface BulkUpsertContactsResponse { results?: Item[]; metadata?: BulkUpsertContactsResponseMetadata; } declare enum Action { UNKNOWN = "UNKNOWN", UPDATED = "UPDATED", CREATED = "CREATED" } /** @enumType */ type ActionWithLiterals = Action | 'UNKNOWN' | 'UPDATED' | 'CREATED'; interface Error { /** Error code. */ code?: string; /** Error details. */ message?: string | null; } interface Metadata { id?: string | null; originalIndex?: number; action?: ActionWithLiterals; success?: boolean; error?: Error; } interface Item { contact?: Contact; metadata?: Metadata; } interface BulkUpsertContactsResponseMetadata { totalSuccess?: number; totalFailure?: number; totalCreated?: number; totalUpdated?: number; } interface UpsertContactRequest { info?: ContactInfo; } interface UpsertContactResponse { /** Upserted contact. */ contact?: Contact; action?: UpsertContactResponseActionWithLiterals; } declare enum UpsertContactResponseAction { UNKNOWN = "UNKNOWN", UPDATED = "UPDATED", CREATED = "CREATED" } /** @enumType */ type UpsertContactResponseActionWithLiterals = UpsertContactResponseAction | 'UNKNOWN' | 'UPDATED' | 'CREATED'; interface GeneratePictureUploadUrlRequest { /** * ID of the contact whose picture is being updated. * @format GUID */ contactId?: string; /** * Mime Type. Must be one of: * `image/png`, `image/jpeg`. * Defaults to `image/png`. */ mimeType?: string | null; } interface GeneratePictureUploadUrlResponse { /** * URL to upload the image * @format WEB_URL */ uploadUrl?: string; } interface GetContactRequest { /** * ID of the contact to retrieve. * @format GUID */ id: string; /** * List of projected fields to return. * If both `fields` and `fieldsets` are sent in the request, * the union of both lists is returned. * `id` and `revision` are always returned. * * Supported properties: * `source`, `createdDate`, `updatedDate`, `lastActivity`, `primaryInfo`, * `info.name`, `info.emails`, `info.phones`, `info.addresses`, `info.company`, * `info.jobTitle`, `info.picture`, `info.birthdate`, `info.locale`, * `info.labelKeys`, `info.locations`, `info.extendedFields` * @maxLength 100 * @maxSize 100 */ fields?: string[]; /** * Predefined sets of fields to return. * If both `fields` and `fieldsets` are sent in the request, * the union of both lists is returned. * * - `BASIC`: Returns `id`, `revision`, `primaryInfo`, `info.name`. * - `COMMUNICATION_DETAILS`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.emails`, `info.phones`, `info.addresses`. * - `EXTENDED`: Returns `id`, `revision`, `primaryInfo`, `info.name`, `info.extendedFields`. * - `FULL`: Returns all fields. * * Default: If `fields` is omitted from the request, `FULL`. * @maxSize 10 */ fieldsets?: ContactFieldSetWithLiterals[]; } /** The requested contact. */ interface GetContactResponse { /** The requested contact. */ contact?: Contact; /** Contact response type. */ responseType?: GetContactResponseTypeWithLiterals; } declare enum GetContactResponseType { /** The specified contact was returned. */ REGULAR = "REGULAR", /** Not used. */ IMPLICIT = "IMPLICIT", /** The specified contact was previously merged with another contact and the new contact was returned. */ MERGED = "MERGED" } /** @enumType */ type GetContactResponseTypeWithLiterals = GetContactResponseType | 'REGULAR' | 'IMPLICIT' | 'MERGED'; interface SyncSubmitContactRequest { contactInfo?: ContactInfo; activity?: ContactActivity; passThroughData?: string | null; /** @format GUID */ contactId?: string; submitOperation?: SubmitOperationWithLiterals; /** Need to resolve source in allocator, because of server sign */ sourceType?: ContactSourceTypeWithLiterals; sourceId?: string | null; hideFromContactList?: boolean; } declare enum SubmitOperation { UNKNOWN = "UNKNOWN", CREATE = "CREATE", UPDATE = "UPDATE" } /** @enumType */ type SubmitOperationWithLiterals = SubmitOperation | 'UNKNOWN' | 'CREATE' | 'UPDATE'; interface SyncSubmitContactResponse { } interface CountContactsRequest { } interface CountContactsResponse { count?: number; } interface SearchContactsRequest { /** Search object. Encapsulates filter, sorting, paging and other details */ search?: Search; } interface Search extends SearchPagingMethodOneOf { /** Cursor pointing to page of results. 'cursorPaging.cursor' can not be used together with 'filter' or 'sort' */ cursorPaging?: CursorPaging; /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */ filter?: Record | null; /** Sort object in the form [{"fieldName":"sortField1"},{"fieldName":"sortField2","direction":"DESC"}] */ sort?: Sorting[]; /** * List of projected fields to return. * * If used in the request, * all the fields contained in `fields` and `fieldsets` are returned. * If left blank, `fieldsets` is used to determine which fields to return. * * For a list of valid projected fields, see * [Valid Contact Projection Fields](https://dev.wix.com/api/rest/contacts/contacts/fieldsets-and-projected-fields#contacts_contacts_fieldsets-and-projected-fields_valid-contact-projection-fields). * @maxLength 100 * @maxSize 100 */ fields?: string[]; /** * Predefined sets of fields to return. * * Defaults to `FULL`. * Ignored if left empty when `fields` is used in the request. * * For more information, * see [Contact Fieldsets](https://dev.wix.com/api/rest/contacts/contacts/fieldsets-and-projected-fields#contacts_contacts_fieldsets-and-projected-fields_contact-fieldsets). * @maxSize 10 */ fieldsets?: string[]; /** free text to match in searchable fields */ search?: SearchDetails; } /** @oneof */ interface SearchPagingMethodOneOf { /** Cursor pointing to page of results. 'cursorPaging.cursor' can not be used together with 'filter' or 'sort' */ cursorPaging?: CursorPaging; } interface SearchDetails { /** boolean search mode. Default is `OR` */ mode?: ModeWithLiterals; /** * search term or expression * @maxLength 100 */ expression?: string | null; /** * fields to search in. if empty - server will search in own default fieldsDefault searchable fields: * * - `info.name.first` * - `info.name.last` * - `info.emails.email` * - `info.phones.phone` * @maxLength 100 * @maxSize 100 */ fields?: string[]; /** flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */ fuzzy?: boolean; } declare enum Mode { /** any */ OR = "OR", /** all */ AND = "AND" } /** @enumType */ type ModeWithLiterals = Mode | 'OR' | 'AND'; interface CursorPaging { /** * The number of contacts to load (default = 50, max = 1000) * @max 1000 */ limit?: number | null; /** Cursor returned in last query response. Should not be provided on first page request */ cursor?: string | null; } interface SearchContactsResponse { /** List of contacts. */ contacts?: Contact[]; /** Details on the paged set of results returned. */ cursorPagingMetadata?: CursorPagingMetadata; } /** This is the preferred message for cursor-paging enabled services */ interface CursorPagingMetadata { /** Number of items returned in the response. */ count?: number | null; /** Cursor strings that point to the next page, previous page, or both. */ cursors?: Cursors; /** * Whether there are more pages to retrieve following the current page. * * + `true`: Another page of results can be retrieved. * + `false`: This is the last page. */ hasNext?: boolean | null; } interface Cursors { /** Cursor pointing to next result page */ next?: string | null; /** Cursor pointing to previous result page */ prev?: string | null; } interface BulkAddSegmentToContactsRequest { /** * Segment id * @format GUID */ segmentId?: string; /** * List of Contact ids * @format GUID * @minSize 1 * @maxSize 1000 */ contactIds?: string[]; /** * List of existing segment ids * @format GUID * @maxSize 100 */ existsSegmentIds?: string[]; } interface BulkAddSegmentToContactsResponse { /** List of action results */ results?: ItemMetadata[]; /** Metadata on the bulk action */ bulkActionMetadata?: BulkActionMetadata; } interface ItemMetadata { /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */ id?: string | null; /** Index of the item within the request array. Allows for correlation between request and response items. */ originalIndex?: number; /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */ success?: boolean; /** Details about the error in case of failure. */ error?: ApplicationError; } interface ApplicationError { /** Error code. */ code?: string; /** Description of the error. */ description?: string; /** Data related to the error. */ data?: Record | null; } interface BulkActionMetadata { /** Number of items that were successfully processed. */ totalSuccesses?: number; /** Number of items that couldn't be processed. */ totalFailures?: number; /** Number of failures without details because detailed failure threshold was exceeded. */ undetailedFailures?: number; } interface ContactAddedToSegment { /** Id of the segment to which the contact was added */ segmentId?: string; /** The contact that was added */ contact?: Contact; } interface BulkRemoveSegmentFromContactsRequest { /** * Segment id * @format GUID */ segmentId?: string; /** * List of Contact ids * @format GUID * @minSize 1 * @maxSize 1000 */ contactIds?: string[]; } interface BulkRemoveSegmentFromContactsResponse { /** List of action results */ results?: ItemMetadata[]; /** Metadata on the bulk action */ bulkActionMetadata?: BulkActionMetadata; } interface ContactRemovedFromSegment { /** Id of the segment from which the contact was removed */ segmentId?: string; /** The contact that was removed */ contact?: Contact; } interface ListContactIdsBySegmentRequest { /** * Segment id * @format GUID */ segmentId?: string; /** Cursor paging. */ cursorPaging?: CursorPaging; } interface ListContactIdsBySegmentResponse { /** * List of contact IDs * @format GUID * @maxSize 1000 */ contactIds?: string[]; /** Paging metadata */ cursorPagingMetadata?: CursorPagingMetadata; } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * 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. * 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. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entityAsJson?: string; /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */ restoreInfo?: RestoreInfo; } interface RestoreInfo { deletedDate?: Date | null; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntityAsJson?: string; } interface EntityDeletedEvent { /** Entity that was deleted. */ deletedEntityAsJson?: string | null; } interface ActionEvent { bodyAsJson?: string; } interface MessageEnvelope { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; /** Details related to the account */ accountInfo?: AccountInfo; } interface IdentificationData extends IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; /** @readonly */ identityType?: WebhookIdentityTypeWithLiterals; } /** @oneof */ interface IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } /** @enumType */ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP'; interface AccountInfo { /** * ID of the Wix account associated with the event. * @format GUID */ accountId?: string | null; /** * ID of the parent Wix account. Only included when accountId belongs to a child account. * @format GUID */ parentAccountId?: string | null; /** * ID of the Wix site associated with the event. Only included when the event is tied to a specific site. * @format GUID */ siteId?: string | null; } /** @docsIgnore */ type CreateContactApplicationErrors = { code?: 'DUPLICATE_CONTACT_EXISTS'; description?: string; data?: DuplicateContactExists; } | { code?: 'INSUFFICIENT_CONTACT_DATA'; description?: string; data?: Record; } | { code?: 'CONTACT_ID_ALREADY_EXISTS'; description?: string; data?: Record; } | { code?: 'CANNOT_HAVE_MULTIPLE_PRIMARY_INFO'; description?: string; data?: Record; } | { code?: 'INVALID_EXTENDED_FIELD_VALUE'; description?: string; data?: Record; }; /** @docsIgnore */ type UpdateContactApplicationErrors = { code?: 'DUPLICATE_CONTACT_EXISTS'; description?: string; data?: DuplicateContactExists; } | { code?: 'CONTACT_ALREADY_CHANGED'; description?: string; data?: Record; } | { code?: 'INSUFFICIENT_CONTACT_DATA'; description?: string; data?: Record; } | { code?: 'CONTACT_NOT_FOUND'; description?: string; data?: Record; } | { code?: 'INSUFFICIENT_UPDATE_CONTACT_DATA'; description?: string; data?: Record; } | { code?: 'CANNOT_HAVE_MULTIPLE_PRIMARY_INFO'; description?: string; data?: Record; } | { code?: 'INVALID_EXTENDED_FIELD_VALUE'; description?: string; data?: Record; } | { code?: 'CANNOT_UPDATE_MEMBER_EMAIL'; description?: string; data?: Record; }; /** @docsIgnore */ type MergeContactsApplicationErrors = { code?: 'CONTACT_NOT_FOUND'; description?: string; data?: Record; } | { code?: 'FAILED_PRECONDITION'; description?: string; data?: Record; } | { code?: 'ILLEGAL_MERGE'; description?: string; data?: Record; }; /** @docsIgnore */ type PreviewMergeContactsApplicationErrors = { code?: 'CONTACT_NOT_FOUND'; description?: string; data?: Record; } | { code?: 'FAILED_PRECONDITION'; description?: string; data?: Record; } | { code?: 'ILLEGAL_MERGE'; description?: string; data?: Record; }; /** @docsIgnore */ type DeleteContactApplicationErrors = { code?: 'CANNOT_DELETE_MEMBER'; description?: string; data?: Record; } | { code?: 'CANNOT_DELETE_CONTACT_WITH_BILLING_SUBSCRIPTION'; description?: string; data?: Record; } | { code?: 'CANNOT_DELETE_MEMBER_OWNER_OR_CONTRIBUTOR'; description?: string; data?: Record; } | { code?: 'FAILED_DELETE_CONTACT_AFTER_MEMBER_DELETION'; description?: string; data?: Record; }; /** @docsIgnore */ type LabelContactApplicationErrors = { code?: 'CONTACT_NOT_FOUND'; description?: string; data?: Record; }; /** @docsIgnore */ type UnlabelContactApplicationErrors = { code?: 'CONTACT_NOT_FOUND'; description?: string; data?: Record; }; /** @docsIgnore */ type ListContactsApplicationErrors = { code?: 'UNSUPPORTED_SORT_FIELD'; description?: string; data?: Record; } | { code?: 'ILLEGAL_LIMIT'; description?: string; data?: Record; }; /** @docsIgnore */ type QueryContactsApplicationErrors = { code?: 'UNSUPPORTED_SORT_FIELD'; description?: string; data?: Record; } | { code?: 'ILLEGAL_LIMIT'; description?: string; data?: Record; } | { code?: 'MALFORMED_FILTER'; description?: string; data?: Record; } | { code?: 'UNSUPPORTED_FILTER'; description?: string; data?: Record; } | { code?: 'UNSUPPORTED_FILTER_FIELD_UNKNOWN'; description?: string; data?: Record; } | { code?: 'UNSUPPORTED_FILTER_OPERATOR'; description?: string; data?: Record; } | { code?: 'UNSUPPORTED_FILTER_VALUE'; description?: string; data?: Record; } | { code?: 'UNSUPPORTED_FILTER_VALUE_TYPE'; description?: string; data?: Record; }; /** @docsIgnore */ type BulkDeleteContactsApplicationErrors = { code?: 'NEITHER_FILTER_NOR_SEARCH'; description?: string; data?: Record; }; /** @docsIgnore */ type BulkLabelAndUnlabelContactsApplicationErrors = { code?: 'NEITHER_FILTER_NOR_SEARCH'; description?: string; data?: Record; }; /** @docsIgnore */ type GetContactApplicationErrors = { code?: 'CONTACT_NOT_FOUND'; description?: string; data?: Record; }; type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function createContact(): __PublicMethodMetaInfo<'POST', {}, CreateContactRequest$1, CreateContactRequest, CreateContactResponse$1, CreateContactResponse>; declare function updateContact(): __PublicMethodMetaInfo<'PATCH', { contactId: string; }, UpdateContactRequest$1, UpdateContactRequest, UpdateContactResponse$1, UpdateContactResponse>; declare function mergeContacts(): __PublicMethodMetaInfo<'POST', { targetContactId: string; }, MergeContactsRequest$1, MergeContactsRequest, MergeContactsResponse$1, MergeContactsResponse>; declare function previewMergeContacts(): __PublicMethodMetaInfo<'POST', { targetContactId: string; }, PreviewMergeContactsRequest$1, PreviewMergeContactsRequest, PreviewMergeContactsResponse$1, PreviewMergeContactsResponse>; declare function deleteContact(): __PublicMethodMetaInfo<'DELETE', { contactId: string; }, DeleteContactRequest$1, DeleteContactRequest, DeleteContactResponse$1, DeleteContactResponse>; declare function labelContact(): __PublicMethodMetaInfo<'POST', { contactId: string; }, LabelContactRequest$1, LabelContactRequest, LabelContactResponse$1, LabelContactResponse>; declare function unlabelContact(): __PublicMethodMetaInfo<'DELETE', { contactId: string; }, UnlabelContactRequest$1, UnlabelContactRequest, UnlabelContactResponse$1, UnlabelContactResponse>; declare function listContacts(): __PublicMethodMetaInfo<'GET', {}, ListContactsRequest$1, ListContactsRequest, ListContactsResponse$1, ListContactsResponse>; declare function queryContacts(): __PublicMethodMetaInfo<'POST', {}, QueryContactsRequest$1, QueryContactsRequest, QueryContactsResponse$1, QueryContactsResponse>; declare function listFacets(): __PublicMethodMetaInfo<'GET', {}, ListFacetsRequest$1, ListFacetsRequest, ListFacetsResponse$1, ListFacetsResponse>; declare function queryFacets(): __PublicMethodMetaInfo<'POST', {}, QueryFacetsRequest$1, QueryFacetsRequest, QueryFacetsResponse$1, QueryFacetsResponse>; declare function bulkDeleteContacts(): __PublicMethodMetaInfo<'POST', {}, BulkDeleteContactsRequest$1, BulkDeleteContactsRequest, BulkDeleteContactsResponse$1, BulkDeleteContactsResponse>; declare function bulkUpdateContacts(): __PublicMethodMetaInfo<'POST', {}, BulkUpdateContactsRequest$1, BulkUpdateContactsRequest, BulkUpdateContactsResponse$1, BulkUpdateContactsResponse>; declare function bulkLabelAndUnlabelContacts(): __PublicMethodMetaInfo<'POST', {}, BulkLabelAndUnlabelContactsRequest$1, BulkLabelAndUnlabelContactsRequest, BulkLabelAndUnlabelContactsResponse$1, BulkLabelAndUnlabelContactsResponse>; declare function getContact(): __PublicMethodMetaInfo<'GET', { id: string; }, GetContactRequest$1, GetContactRequest, GetContactResponse$1, GetContactResponse>; export { type AccountInfo as AccountInfoOriginal, type ActionEvent as ActionEventOriginal, Action as ActionOriginal, type ActionWithLiterals as ActionWithLiteralsOriginal, type ActivityIcon as ActivityIconOriginal, type AddressLocation as AddressLocationOriginal, type Address as AddressOriginal, type AddressStreetOneOf as AddressStreetOneOfOriginal, AddressTag as AddressTagOriginal, type AddressTagWithLiterals as AddressTagWithLiteralsOriginal, type ApplicationError as ApplicationErrorOriginal, type AssigneesWrapper as AssigneesWrapperOriginal, type BulkActionMetadata as BulkActionMetadataOriginal, type BulkAddSegmentToContactsRequest as BulkAddSegmentToContactsRequestOriginal, type BulkAddSegmentToContactsResponse as BulkAddSegmentToContactsResponseOriginal, type BulkDeleteContactsApplicationErrors as BulkDeleteContactsApplicationErrorsOriginal, type BulkDeleteContactsRequest as BulkDeleteContactsRequestOriginal, type BulkDeleteContactsResponse as BulkDeleteContactsResponseOriginal, type BulkLabelAndUnlabelContactsApplicationErrors as BulkLabelAndUnlabelContactsApplicationErrorsOriginal, type BulkLabelAndUnlabelContactsRequest as BulkLabelAndUnlabelContactsRequestOriginal, type BulkLabelAndUnlabelContactsResponse as BulkLabelAndUnlabelContactsResponseOriginal, type BulkRemoveSegmentFromContactsRequest as BulkRemoveSegmentFromContactsRequestOriginal, type BulkRemoveSegmentFromContactsResponse as BulkRemoveSegmentFromContactsResponseOriginal, type BulkUpdateContactsRequest as BulkUpdateContactsRequestOriginal, type BulkUpdateContactsResponse as BulkUpdateContactsResponseOriginal, type BulkUpsertContactsRequest as BulkUpsertContactsRequestOriginal, type BulkUpsertContactsResponseMetadata as BulkUpsertContactsResponseMetadataOriginal, type BulkUpsertContactsResponse as BulkUpsertContactsResponseOriginal, type ContactActivity as ContactActivityOriginal, ContactActivityType as ContactActivityTypeOriginal, type ContactActivityTypeWithLiterals as ContactActivityTypeWithLiteralsOriginal, type ContactAddedToSegment as ContactAddedToSegmentOriginal, type ContactAddress as ContactAddressOriginal, type ContactAddressesWrapper as ContactAddressesWrapperOriginal, type ContactChanged as ContactChangedOriginal, type ContactEmail as ContactEmailOriginal, type ContactEmailSubscriptionUpdated as ContactEmailSubscriptionUpdatedOriginal, type ContactEmailsWrapper as ContactEmailsWrapperOriginal, ContactFieldSet as ContactFieldSetOriginal, type ContactFieldSetWithLiterals as ContactFieldSetWithLiteralsOriginal, type ContactInfo as ContactInfoOriginal, type ContactMerged as ContactMergedOriginal, type ContactName as ContactNameOriginal, type Contact as ContactOriginal, type ContactPhone as ContactPhoneOriginal, type ContactPhoneSubscriptionUpdated as ContactPhoneSubscriptionUpdatedOriginal, type ContactPhonesWrapper as ContactPhonesWrapperOriginal, type ContactPicture as ContactPictureOriginal, type ContactPrimaryInfoUpdated as ContactPrimaryInfoUpdatedOriginal, type ContactRemovedFromSegment as ContactRemovedFromSegmentOriginal, type ContactSource as ContactSourceOriginal, ContactSourceType as ContactSourceTypeOriginal, type ContactSourceTypeWithLiterals as ContactSourceTypeWithLiteralsOriginal, type ContactSubmitted as ContactSubmittedOriginal, type ContactsFacet as ContactsFacetOriginal, ContactsFacetType as ContactsFacetTypeOriginal, type ContactsFacetTypeWithLiterals as ContactsFacetTypeWithLiteralsOriginal, type CountContactsRequest as CountContactsRequestOriginal, type CountContactsResponse as CountContactsResponseOriginal, type CreateContactApplicationErrors as CreateContactApplicationErrorsOriginal, type CreateContactRequest as CreateContactRequestOriginal, type CreateContactResponse as CreateContactResponseOriginal, type CursorPagingMetadata as CursorPagingMetadataOriginal, type CursorPaging as CursorPagingOriginal, type Cursors as CursorsOriginal, type DeleteContactApplicationErrors as DeleteContactApplicationErrorsOriginal, type DeleteContactRequest as DeleteContactRequestOriginal, type DeleteContactResponse as DeleteContactResponseOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type DuplicateContactExists as DuplicateContactExistsOriginal, EmailDeliverabilityStatus as EmailDeliverabilityStatusOriginal, type EmailDeliverabilityStatusWithLiterals as EmailDeliverabilityStatusWithLiteralsOriginal, EmailTag as EmailTagOriginal, type EmailTagWithLiterals as EmailTagWithLiteralsOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, type Error as ErrorOriginal, type ExtendedFieldsWrapper as ExtendedFieldsWrapperOriginal, type GeneratePictureUploadUrlRequest as GeneratePictureUploadUrlRequestOriginal, type GeneratePictureUploadUrlResponse as GeneratePictureUploadUrlResponseOriginal, type GetContactApplicationErrors as GetContactApplicationErrorsOriginal, type GetContactRequest as GetContactRequestOriginal, type GetContactResponse as GetContactResponseOriginal, GetContactResponseType as GetContactResponseTypeOriginal, type GetContactResponseTypeWithLiterals as GetContactResponseTypeWithLiteralsOriginal, type GroupInfo as GroupInfoOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, type Image as ImageOriginal, ImageProvider as ImageProviderOriginal, type ImageProviderWithLiterals as ImageProviderWithLiteralsOriginal, type ItemMetadata as ItemMetadataOriginal, type Item as ItemOriginal, type LabelAndUnlabelContactRequest as LabelAndUnlabelContactRequestOriginal, type LabelAndUnlabelContactResponse as LabelAndUnlabelContactResponseOriginal, type LabelContactApplicationErrors as LabelContactApplicationErrorsOriginal, type LabelContactRequest as LabelContactRequestOriginal, type LabelContactResponse as LabelContactResponseOriginal, type LabelsWrapper as LabelsWrapperOriginal, type LastActivityUpdate as LastActivityUpdateOriginal, type ListContactIdsBySegmentRequest as ListContactIdsBySegmentRequestOriginal, type ListContactIdsBySegmentResponse as ListContactIdsBySegmentResponseOriginal, type ListContactsApplicationErrors as ListContactsApplicationErrorsOriginal, type ListContactsRequest as ListContactsRequestOriginal, type ListContactsResponse as ListContactsResponseOriginal, type ListFacetsRequest as ListFacetsRequestOriginal, type ListFacetsResponse as ListFacetsResponseOriginal, type LocationsWrapper as LocationsWrapperOriginal, type MemberInfo as MemberInfoOriginal, MemberStatus as MemberStatusOriginal, type MemberStatusWithLiterals as MemberStatusWithLiteralsOriginal, type MergeContactsApplicationErrors as MergeContactsApplicationErrorsOriginal, type MergeContactsRequest as MergeContactsRequestOriginal, type MergeContactsResponse as MergeContactsResponseOriginal, type MessageEnvelope as MessageEnvelopeOriginal, type Metadata as MetadataOriginal, Mode as ModeOriginal, type ModeWithLiterals as ModeWithLiteralsOriginal, type PagingMetadata as PagingMetadataOriginal, type Paging as PagingOriginal, PhoneDeliverabilityStatus as PhoneDeliverabilityStatusOriginal, type PhoneDeliverabilityStatusWithLiterals as PhoneDeliverabilityStatusWithLiteralsOriginal, PhoneTag as PhoneTagOriginal, type PhoneTagWithLiterals as PhoneTagWithLiteralsOriginal, type PreviewMergeContactsApplicationErrors as PreviewMergeContactsApplicationErrorsOriginal, type PreviewMergeContactsRequest as PreviewMergeContactsRequestOriginal, type PreviewMergeContactsResponse as PreviewMergeContactsResponseOriginal, type PrimaryContactInfo as PrimaryContactInfoOriginal, type PrimaryEmail as PrimaryEmailOriginal, type PrimaryPhone as PrimaryPhoneOriginal, type PrimarySubscriptionStatus as PrimarySubscriptionStatusOriginal, PrivacyStatus as PrivacyStatusOriginal, type PrivacyStatusWithLiterals as PrivacyStatusWithLiteralsOriginal, type ProfileInfo as ProfileInfoOriginal, type QueryContactsApplicationErrors as QueryContactsApplicationErrorsOriginal, type QueryContactsRequest as QueryContactsRequestOriginal, type QueryContactsResponse as QueryContactsResponseOriginal, type QueryFacetsRequest as QueryFacetsRequestOriginal, type QueryFacetsResponse as QueryFacetsResponseOriginal, type Query as QueryOriginal, type RestoreInfo as RestoreInfoOriginal, Role as RoleOriginal, type RoleWithLiterals as RoleWithLiteralsOriginal, type SearchContactsRequest as SearchContactsRequestOriginal, type SearchContactsResponse as SearchContactsResponseOriginal, type SearchDetails as SearchDetailsOriginal, type Search as SearchOriginal, type SearchPagingMethodOneOf as SearchPagingMethodOneOfOriginal, type SegmentsWrapper as SegmentsWrapperOriginal, type SessionInfo as SessionInfoOriginal, SortOrder as SortOrderOriginal, type SortOrderWithLiterals as SortOrderWithLiteralsOriginal, type Sorting as SortingOriginal, type StreetAddress as StreetAddressOriginal, type Subdivision as SubdivisionOriginal, SubdivisionType as SubdivisionTypeOriginal, type SubdivisionTypeWithLiterals as SubdivisionTypeWithLiteralsOriginal, SubmitOperation as SubmitOperationOriginal, type SubmitOperationWithLiterals as SubmitOperationWithLiteralsOriginal, SubscriptionStatus as SubscriptionStatusOriginal, type SubscriptionStatusWithLiterals as SubscriptionStatusWithLiteralsOriginal, type SyncSubmitContactRequest as SyncSubmitContactRequestOriginal, type SyncSubmitContactResponse as SyncSubmitContactResponseOriginal, type UnlabelContactApplicationErrors as UnlabelContactApplicationErrorsOriginal, type UnlabelContactRequest as UnlabelContactRequestOriginal, type UnlabelContactResponse as UnlabelContactResponseOriginal, type UpdateContactApplicationErrors as UpdateContactApplicationErrorsOriginal, type UpdateContactRequest as UpdateContactRequestOriginal, type UpdateContactResponse as UpdateContactResponseOriginal, type UpsertContactRequest as UpsertContactRequestOriginal, UpsertContactResponseAction as UpsertContactResponseActionOriginal, type UpsertContactResponseActionWithLiterals as UpsertContactResponseActionWithLiteralsOriginal, type UpsertContactResponse as UpsertContactResponseOriginal, type UserInfo as UserInfoOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, type __PublicMethodMetaInfo, bulkDeleteContacts, bulkLabelAndUnlabelContacts, bulkUpdateContacts, createContact, deleteContact, getContact, labelContact, listContacts, listFacets, mergeContacts, previewMergeContacts, queryContacts, queryFacets, unlabelContact, updateContact };