> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # Package: shippingDelivery # Namespace: deliveryProfiles # Webhook link: https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/delivery-profile-created.md ## Introduction Triggered when a delivery profile is created. --- ## REST API ### Schema ``` Webhook: Delivery Profile Created Description: Triggered when a delivery profile is created. Event body: - name: id | type: string | description: Unique event ID. Allows clients to ignore duplicate events. - name: entityFqdn | type: string | description: Fully qualified domain name of the entity associated with the event. - name: slug | type: string | description: Event name. - name: entityId | type: string | description: ID of the entity associated with the event. - name: eventTime | type: string (date-time) | description: Event timestamp. - name: triggeredByAnonymizeRequest | type: boolean | description: Whether the event was triggered as a result of a privacy regulation application such as GDPR. - name: originatedFrom | type: string | description: If present, indicates the action that triggered the event. - name: createdEvent | type: object | description: Created event details. - name: entity | type: DeliveryProfile | description: The created entity. - name: id | type: string | description: Delivery profile GUID. - name: name | type: string | description: Delivery profile name. - name: default | type: boolean | description: Whether this is the default delivery profile. > **Notes:** > > - The first delivery profile is automatically created and marked as default when the Wix Stores, Wix Bookings, Wix Events, or Wix Restaurants business solutions are installed on a site. > - Default status can't be changed or transferred to another profile. > - The default profile can't be deleted because every site requires one for core delivery functionality. - name: deliveryRegions | type: array | description: Delivery regions in this profile. - name: id | type: string | description: Delivery region GUID. - name: name | type: string | description: Delivery region name. For example, `"Domestic"` or `"International"`. - name: active | type: boolean | description: Whether this delivery region is active and available during checkout. Default: `true` - name: deliveryCarriers | type: array | description: Delivery carriers assigned to this region. Carriers are managed using the [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/add-delivery-carrier.md), [Update Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/update-delivery-carrier.md), and [Remove Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/remove-delivery-carrier.md) methods. - name: appId | type: string | description: Carrier app GUID. Get app GUIDs from the [app dashboard](https://dev.wix.com/dc3/my-apps/), or by calling [List Installed Delivery Carriers](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/list-installed-delivery-carriers.md). - name: backupRate | type: BackupRate | description: Backup rate to use when the carrier doesn't return a rate for a specific shipping option. When `active` is `false` and the carrier doesn't return a rate, the carrier's shipping options aren't shown to customers. - name: title | type: string | description: Title displayed for the backup rate. For example, `"Standard Shipping"`. - name: amount | type: string | description: Backup rate amount. - name: active | type: boolean | description: Whether the backup rate is active. The backup rate is used in the following situations: + When `active` is `true`. + When the carrier does not return a cost for any reason. If active, and no cost is returned by the carrier, the backup rate will be displayed to customers as the shipping option. Default: `false` - name: additionalCharges | type: array | description: Additional charges to add to the delivery rate. These charges are combined with the carrier's rate into a single shipping cost and itemized in order details. - name: description | type: string | description: Description of the additional charge. For example, `"Handling fee of $5 applied for gift wrapping"`. - name: amount | type: string | description: Additional fixed charge amount to add to the delivery rate. For example, `"12.50"`. - name: destinations | type: array | description: Geographic destinations covered by this region. If empty, the region applies globally (Rest of World). A site can have up to 250 destinations across all delivery profiles. - name: countryCode | type: string | description: 2-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. - name: subdivisions | type: array | description: Subdivision codes in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. For example, `"US-CA"` for California. If empty, the delivery region applies to the entire country. The following countries don't support subdivision-level delivery and require an empty `subdivisions` list. Sending subdivisions for these countries fails with `SUBDIVISIONS_UNSUPPORTED_FOR_COUNTRY`: `AT`, `BE`, `BS`, `CH`, `CI`, `CZ`, `DO`, `GR`, `NO`, `PL`, `RS`, `SD`, `SI`, `SK`, `SN`. - name: createdDate | type: string | description: Date and time the delivery region was created. - name: createdBy | type: CreatedBy | description: Information about who created the delivery profile. Currently only for use with Wix Restaurants. - ONE-OF: - name: appId | type: string | description: App GUID, when the delivery profile was created by an external application or Wix service. - name: userId | type: string | description: Wix user GUID, when the delivery profile was created by a Wix user using the dashboard or an API call. - name: revision | type: string | description: Revision number, which increments by 1 each time the delivery profile is updated. To prevent conflicting changes, the current revision must be passed when updating the delivery profile. Ignored when creating a delivery profile. - name: createdDate | type: string | description: Date and time the delivery profile was created. - name: updatedDate | type: string | description: Date and time the delivery profile was last updated. - name: extendedFields | type: ExtendedFields | description: Custom field data for the delivery profile object. [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md) must be configured in the app dashboard before they can be accessed with API calls. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). ``` ### Examples ```curl { "id": "52269077-05f2-4b59-ba4f-36ef8c4c1e11", "entityFqdn": "wix.ecom.v1.delivery_profile", "slug": "created", "entityId": "8046df3c-7575-4098-a5ab-c91ad8f33c47", "createdEvent": { "entityAsJson": "{\"deliveryProfile\":{\"id\":\"8046df3c-7575-4098-a5ab-c91ad8f33c47\",\"revision\":1,\"createdDate\":\"2025-10-30T17:22:10.299Z\",\"updatedDate\":\"2025-10-30T17:22:10.299Z\",\"lorem\":\"lorem\",\"ipsum\":\"lorem ipsum\",\"businessAddress\":\"Pankivska 14a\"}}" }, "eventTime": "2020-10-18T13:40:58.304800Z", "triggeredByAnonymizeRequest": false } ``` --- ## JavaScript SDK ### Schema ``` Webhook: onDeliveryProfileCreated Description: Triggered when a delivery profile is created. Payload: DeliveryProfileCreatedEnvelope - name: entity | type: DeliveryProfile | description: none - name: _id | type: string | description: Delivery profile GUID. - name: name | type: string | description: Delivery profile name. - name: default | type: boolean | description: Whether this is the default delivery profile. > **Notes:** > > - The first delivery profile is automatically created and marked as default when the Wix Stores, Wix Bookings, Wix Events, or Wix Restaurants business solutions are installed on a site. > - Default status can't be changed or transferred to another profile. > - The default profile can't be deleted because every site requires one for core delivery functionality. - name: deliveryRegions | type: array | description: Delivery regions in this profile. - name: _id | type: string | description: Delivery region GUID. - name: name | type: string | description: Delivery region name. For example, `"Domestic"` or `"International"`. - name: active | type: boolean | description: Whether this delivery region is active and available during checkout. Default: `true` - name: deliveryCarriers | type: array | description: Delivery carriers assigned to this region. Carriers are managed using the [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/add-delivery-carrier.md), [Update Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/update-delivery-carrier.md), and [Remove Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/remove-delivery-carrier.md) methods. - name: appId | type: string | description: Carrier app GUID. Get app GUIDs from the [app dashboard](https://dev.wix.com/dc3/my-apps/), or by calling [List Installed Delivery Carriers](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/list-installed-delivery-carriers.md). - name: backupRate | type: BackupRate | description: Backup rate to use when the carrier doesn't return a rate for a specific shipping option. When `active` is `false` and the carrier doesn't return a rate, the carrier's shipping options aren't shown to customers. - name: title | type: string | description: Title displayed for the backup rate. For example, `"Standard Shipping"`. - name: amount | type: string | description: Backup rate amount. - name: active | type: boolean | description: Whether the backup rate is active. The backup rate is used in the following situations: + When `active` is `true`. + When the carrier does not return a cost for any reason. If active, and no cost is returned by the carrier, the backup rate will be displayed to customers as the shipping option. Default: `false` - name: additionalCharges | type: array | description: Additional charges to add to the delivery rate. These charges are combined with the carrier's rate into a single shipping cost and itemized in order details. - name: description | type: string | description: Description of the additional charge. For example, `"Handling fee of $5 applied for gift wrapping"`. - name: amount | type: string | description: Additional fixed charge amount to add to the delivery rate. For example, `"12.50"`. - name: destinations | type: array | description: Geographic destinations covered by this region. If empty, the region applies globally (Rest of World). A site can have up to 250 destinations across all delivery profiles. - name: countryCode | type: string | description: 2-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. - name: subdivisions | type: array | description: Subdivision codes in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. For example, `"US-CA"` for California. If empty, the delivery region applies to the entire country. The following countries don't support subdivision-level delivery and require an empty `subdivisions` list. Sending subdivisions for these countries fails with `SUBDIVISIONS_UNSUPPORTED_FOR_COUNTRY`: `AT`, `BE`, `BS`, `CH`, `CI`, `CZ`, `DO`, `GR`, `NO`, `PL`, `RS`, `SD`, `SI`, `SK`, `SN`. - name: _createdDate | type: Date | description: Date and time the delivery region was created. - name: createdBy | type: CreatedBy | description: Information about who created the delivery profile. Currently only for use with Wix Restaurants. - ONE-OF: - name: appId | type: string | description: App GUID, when the delivery profile was created by an external application or Wix service. - name: userId | type: string | description: Wix user GUID, when the delivery profile was created by a Wix user using the dashboard or an API call. - name: revision | type: string | description: Revision number, which increments by 1 each time the delivery profile is updated. To prevent conflicting changes, the current revision must be passed when updating the delivery profile. Ignored when creating a delivery profile. - name: _createdDate | type: Date | description: Date and time the delivery profile was created. - name: _updatedDate | type: Date | description: Date and time the delivery profile was last updated. - name: extendedFields | type: ExtendedFields | description: Custom field data for the delivery profile object. [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md) must be configured in the app dashboard before they can be accessed with API calls. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). - name: metadata | type: EventMetadata | description: none - name: instanceId | type: string | description: App instance GUID. - name: eventType | type: string | description: Event type. - name: identity | type: IdentificationData | description: The identification type and identity data. - ONE-OF: - name: anonymousVisitorId | type: string | description: GUID of a site visitor that has not logged in to the site. - name: memberId | type: string | description: GUID of a site visitor that has logged in to the site. - name: wixUserId | type: string | description: GUID of a Wix user (site owner, contributor, etc.). - name: appId | type: string | description: GUID of an app. - name: identityType | type: WebhookIdentityType | description: - enum: UNKNOWN, ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP - name: accountInfo | type: AccountInfo | description: Details related to the account - name: accountId | type: string | description: GUID of the Wix account associated with the event. - name: parentAccountId | type: string | description: GUID of the parent Wix account. Only included when accountId belongs to a child account. - name: siteId | type: string | description: GUID of the Wix site associated with the event. Only included when the event is tied to a specific site. - name: _id | type: string | description: Event GUID. With this GUID you can easily spot duplicated events and ignore them. - name: entityFqdn | type: string | description: 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`. - name: slug | type: string | description: 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`. - name: entityId | type: string | description: GUID of the entity associated with the event. - name: eventTime | type: Date | description: Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. - name: triggeredByAnonymizeRequest | type: boolean | description: Whether the event was triggered as a result of a privacy regulation application (for example, GDPR). - name: originatedFrom | type: string | description: If present, indicates the action that triggered the event. - name: entityEventSequence | type: string | description: 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. ``` ### Examples ```javascript import { deliveryProfile } from '@wix/ecom'; deliveryProfile.onDeliveryProfileCreated((event) => { // handle your event here }); ``` ```javascript import { createClient, AppStrategy } from '@wix/sdk'; import { deliveryProfile } from '@wix/ecom'; const wixClient = createClient({ auth: AppStrategy({ appId: 'MY-APP-ID', publicKey: 'YOUR_APP_PUBLIC_KEY', }), modules: { deliveryProfile, }, }); wixClient.deliveryProfile.onDeliveryProfileCreated((event) => { // handle your event here }); ``` ---