Skip to content

Commit 1fc666e

Browse files
committed
Merge remote-tracking branch 'origin/master' into events---policies
2 parents 28ea80e + 8872b8f commit 1fc666e

File tree

8 files changed

+2022
-44
lines changed

8 files changed

+2022
-44
lines changed

all/all-apis/abandoned-checkouts.service.json

Lines changed: 1920 additions & 0 deletions
Large diffs are not rendered by default.

all/all-apis/bookingsv2.service.json

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -703,10 +703,27 @@
703703
"docs": {"summary": " Triggered when a booking is created.\n"},
704704
"topic": "domain_events_wix.bookings.v2.booking",
705705
"tag": "Bookings V2",
706-
"permissions": [],
706+
"permissions": [ {
707+
"name": "Read Bookings - Including Participants",
708+
"description": "Request permission to read the business's bookings info, and its bookings with staff member and participant data."
709+
}],
707710
"customLabels": [{"id": "maturity-beta"}],
708711
"eventType": "wix.bookings.v2.booking_created",
709712
"extra": {"isDomainEvent": true}
713+
},
714+
{
715+
"type": "_com_wixpress_bookings_bookings_v2_BookingUpdatedDomainEvent",
716+
"name": "Booking Updated Webhook",
717+
"docs": {"summary": " Triggered when a booking is updated.\n"},
718+
"topic": "domain_events_wix.bookings.v2.booking",
719+
"tag": "Bookings V2",
720+
"permissions": [ {
721+
"name": "Read Bookings - Including Participants",
722+
"description": "Request permission to read the business's bookings info, and its bookings with staff member and participant data."
723+
}],
724+
"customLabels": [{"id": "maturity-beta"}],
725+
"eventType": "wix.bookings.v2.booking_updated",
726+
"extra": {"isDomainEvent": true}
710727
},
711728
{
712729
"type": "_com_wixpress_bookings_bookings_v2_NumberOfParticipantsUpdatedDomainEvent",
@@ -977,9 +994,9 @@
977994
"examples": []
978995
},
979996
"members": [ {
980-
"name": "currentEntityAsJson",
997+
"name": "currentEntity",
981998
"type": "All APIs.bookingsv2._com_wixpress_bookings_bookings_v2_Booking",
982-
"doc": "Event body as a stringified JSON"
999+
"doc": "Event body"
9831000
}],
9841001
"enum": null,
9851002
"extra": {},
@@ -1958,7 +1975,7 @@
19581975
"displayName": "namespaces Map Entry Object",
19591976
"locations": [],
19601977
"docs": {
1961-
"summary": "Set of key-value pairs. Data Extensions extended fields\nKey: Namespace\nValue: extended fields data in Struct format\n",
1978+
"summary": "Set of key-value pairs. \nExtended field data as key:object pairs. Each key corresponds to the namespace of the app that created the extended fields. \nThe value of each key is structured according to the schema defined when the extended fields were created.\n\nYou can only access fields for which you have the appropriate permissions.\n",
19621979
"links": [],
19631980
"examples": []
19641981
},
@@ -1983,7 +2000,7 @@
19832000
"members": [ {
19842001
"name": "namespaces",
19852002
"type": "All APIs.bookingsv2.namespacesMapEntry",
1986-
"doc": "Set of key-value pairs. Data Extensions extended fields\nKey: Namespace\nValue: extended fields data in Struct format\n"
2003+
"doc": "Set of key-value pairs. \nExtended field data as key:object pairs. Each key corresponds to the namespace of the app that created the extended fields. \nThe value of each key is structured according to the schema defined when the extended fields were created.\n\nYou can only access fields for which you have the appropriate permissions.\n"
19872004
}],
19882005
"enum": null,
19892006
"extra": {},
@@ -2117,7 +2134,7 @@
21172134
{
21182135
"name": "extendedFields",
21192136
"type": "All APIs.bookingsv2._wix_common_data_dataextensions_ExtendedFields",
2120-
"doc": "Additional custom fields. This includes fields managed by Wix, by 3rd-party apps, and by the site.\n\nEmpty fields are not returned.\n"
2137+
"doc": "Custom field data for this object. Extended fields must be configured in the Wix Dev Center before they can be accessed with API calls.\n"
21212138
},
21222139
{
21232140
"name": "doubleBooked",

all/all-apis/contacts.service.json

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119
},
120120
"locations": [],
121121
"docs": {
122-
"summary": "\nDeletes multiple contacts.\n\nAll contacts that meet the specified `filter` and `search` criteria are deleted.\nTo perform a dry run, use the intended filter options with\n[Query Contacts](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/query-contacts).\n\nWhen this endpoint is used, a bulk job is started and the job ID is returned.\nThe job might not complete right away, depending on its size.\nThe job's status can be retrieved with\n[Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n[List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n \n",
122+
"summary": "\nDeletes multiple contacts.\n\nAll contacts that meet the specified `filter` and `search` criteria are deleted.\nThe request should contain a `filter` value or a `search` value, or both.\nTo perform a dry run, use the intended filter options with\n[Query Contacts](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/query-contacts).\n\nWhen this endpoint is used, a bulk job is started and the job ID is returned.\nThe job might not complete right away, depending on its size.\nThe job's status can be retrieved with\n[Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n[List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n \n",
123123
"description": [],
124124
"request": "POST",
125125
"url": "https://www.wixapis.com/contacts/v4/bulk/contacts/delete",
@@ -198,7 +198,7 @@
198198
},
199199
"locations": [],
200200
"docs": {
201-
"summary": "\nAdds and removes labels from multiple contacts.\n\nLabels are added to and removed from all contacts that meet the specified\n`filter` and `search` criteria.\nTo perform a dry run, use the intended filter options with\n[Query Contacts](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/query-contacts).\n\nWhen this endpoint is used, a bulk job is started and the job ID is returned.\nThe job might not not complete right away, depending on its size.\nThe job's status can be retrieved with\n[Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n[List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n \n",
201+
"summary": "\nAdds and removes labels from multiple contacts.\n\nLabels are added to and removed from all contacts that meet the specified\n`filter` and `search` criteria.\nThe request should contain a `filter` value or a `search` value, or both. To perform a dry run, use the intended filter options with\n[Query Contacts](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/query-contacts).\n\nWhen this endpoint is used, a bulk job is started and the job ID is returned.\nThe job might not not complete right away, depending on its size.\nThe job's status can be retrieved with\n[Get Bulk Job](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/get-bulk-job) or\n[List Bulk Jobs](https://dev.wix.com/api/rest/contacts/contacts/bulk-jobs/list-bulk-jobs).\n \n",
202202
"description": [],
203203
"request": "POST",
204204
"url": "https://www.wixapis.com/contacts/v4/bulk/contacts/add-remove-labels",
@@ -931,7 +931,7 @@
931931
"rpcRequestName": "MergeContactsRequest",
932932
"rpcResponseName": "MergeContactsResponse"
933933
},
934-
"customLabels": [{"id": "maturity-beta"}]
934+
"customLabels": []
935935
},
936936
{
937937
"name": "Preview Merge Contacts",
@@ -994,7 +994,7 @@
994994
"rpcRequestName": "PreviewMergeContactsRequest",
995995
"rpcResponseName": "PreviewMergeContactsResponse"
996996
},
997-
"customLabels": [{"id": "maturity-beta"}]
997+
"customLabels": []
998998
},
999999
{
10001000
"name": "Query Contacts",
@@ -1034,7 +1034,7 @@
10341034
},
10351035
"locations": [],
10361036
"docs": {
1037-
"summary": "\nRetrieves a list of contacts, given the provided [paging](https://dev.wix.com/api/rest/getting-started/pagination), [filtering, and sorting](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching).\nUp to 1,000 contacts can be returned per request.\n\nFor a detailed list of supported operations, see\nfiltering and sorting for\n[contact properties](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#contact-properties-filtering-sorting-and-searching),\n[extended fields](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#extended-fields-filtering-sorting-and-searching),\nand [custom fields](https://dev.wix.com/api/rest/contacts/contacts/sorting,-filtering,-and-searching#custom-fields-filtering-sorting-and-searching).\nTo learn how to query contacts, see\n[API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n \n",
1037+
"summary": "\nRetrieves a list of contacts, given the provided [paging](https://dev.wix.com/api/rest/getting-started/sorting-and-paging#getting-started_sorting-and-paging_paging), [filtering, and sorting](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/sort,-filter,-and-search).\nUp to 1,000 contacts can be returned per request.\n\nFor a detailed list of supported operations, see\nfiltering and sorting for\n[contact properties](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/sort,-filter,-and-search#contacts_contacts_contacts-v4_sort,-filter,-and-search_contact-properties-supported-filters-sorting-and-search),\n[extended fields](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/sort,-filter,-and-search#contacts_contacts_contacts-v4_sort,-filter,-and-search_extended-fields-supported-filters-sorting-and-search),\nand [custom fields](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4/sort,-filter,-and-search#contacts_contacts_contacts-v4_sort,-filter,-and-search_custom-fields-supported-filters-sorting-and-search).\nTo learn how to query contacts, see\n[API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n \n",
10381038
"description": [],
10391039
"request": "POST",
10401040
"url": "https://www.wixapis.com/contacts/v4/contacts/query",
@@ -1248,15 +1248,6 @@
12481248
"type": "All APIs.Contacts._com_wixpress_contacts_core_api_v4_ContactInfo",
12491249
"doc": " Contact info.\n",
12501250
"required": true
1251-
},
1252-
{
1253-
"in": "BODY",
1254-
"name": "fieldMask",
1255-
"type": "All APIs.Contacts._google_protobuf_FieldMask",
1256-
"doc": "\nSet of fields to update.\nFields that aren't included in `fieldMask.paths` are ignored.\nSee\n[Field Masks in Update Requests](https://dev.wix.com/api/rest/contacts/contacts/field-masks-in-update-requests)\nfor details on working with field masks.\n\n> **Deprecation Notice:**\n> This parameter will be removed on March 31, 2022.\n> If your app uses this parameter, update your code as soon as possible.\n",
1257-
"required": false,
1258-
"fieldMask": "RPC",
1259-
"deprecated": true
12601251
}
12611252
],
12621253
"ret": {
@@ -1339,7 +1330,7 @@
13391330
"name": "Read Contacts",
13401331
"description": "Request permission to read the site's contact info. "
13411332
}],
1342-
"customLabels": [{"id": "maturity-beta"}],
1333+
"customLabels": [],
13431334
"eventType": "wix.contacts.v4.contact_merged",
13441335
"extra": {"isDomainEvent": true}
13451336
},
@@ -4265,13 +4256,6 @@
42654256
"name": "info",
42664257
"type": "All APIs.Contacts._com_wixpress_contacts_core_api_v4_ContactInfo",
42674258
"doc": " Contact info.\n"
4268-
},
4269-
{
4270-
"name": "fieldMask",
4271-
"type": "All APIs.Contacts._google_protobuf_FieldMask",
4272-
"doc": "\nSet of fields to update.\nFields that aren't included in `fieldMask.paths` are ignored.\nSee\n[Field Masks in Update Requests](https://dev.wix.com/api/rest/contacts/contacts/field-masks-in-update-requests)\nfor details on working with field masks.\n\n> **Deprecation Notice:**\n> This parameter will be removed on March 31, 2022.\n> If your app uses this parameter, update your code as soon as possible.\n",
4273-
"fieldMask": "RPC",
4274-
"deprecated": true
42754259
}
42764260
],
42774261
"enum": null,
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
SortOrder: 0
2+
# About the eCommerce Abandoned Checkouts API
3+
4+
When a customer begins an eCommerce Checkout process but doesn't complete it (for example, after closing their browser tab before putting in their payment details and making a payment), that checkout becomes an abandoned checkout. The Abandoned Checkouts API allows an app developer to help a customer recover their abandoned checkout (return to their incomplete checkout and complete the checkout). When a customer completes their checkout and makes a purchase, the checkout becomes an [order](https://dev.wix.com/api/rest/wix-ecommerce/orders).
5+
6+
An abandoned checkout holds buyer details, price, reference to the initial checkout, a checkout URL, and more.
7+
8+
The eCommerce Abandoned Checkouts API provides functionality for [getting information about an abandoned checkout](https://dev.wix.com/api/rest/wix-ecommerce/abandoned-checkouts/get-abandoned-checkout) and [retrieving a list of abandoned checkouts](https://dev.wix.com/api/rest/wix-ecommerce/abandoned-checkouts/query-abandoned-checkouts). You can also listen for events when an abandoned checkout is [created](https://dev.wix.com/api/rest/wix-ecommerce/abandoned-checkouts/abandoned-checkout-created-webhook) and [recovered](https://dev.wix.com/api/rest/wix-ecommerce/abandoned-checkouts/abandoned-checkout-recovered-webhook).
9+
10+
To assist in migration from the Stores to eCommerce APIs, please refer to the [Stores Cart to eCommerce Checkout Conversion Table](https://dev.wix.com/api/rest/wix-ecommerce/checkout/stores-cart-to-ecommerce-checkout-object-conversion).
11+
12+
## Terminology
13+
14+
+ **Recovered**: When a customer returns to their abandoned checkout and completes the checkout.
15+
16+
+ **Activities**: This property is only relevant if the site owner set up [automations in the Dashboard](https://support.wix.com/en/article/wix-automations-creating-a-new-automation). The `activities` property is a list of all automation activities performed by [Wix Automations](https://support.wix.com/en/article/wix-automations-getting-started) regarding the abandoned checkout. Wix Automations updates the `activities` field for each actvity in the automation flow. For example, if a site owner set up an automation to send a notification to a site visitor an hour after their abandoned checkout is created, Wix automations does the following:
17+
+ Updates the `activities` field to `SCHEDULED` when the abandoned checkout is created.
18+
+ Updates the `activities` field to `NOTIFICATION_SENT` after an hour, when the notification is sent to the site visitor.
19+
20+
21+
Other `actvities` include:
22+
+ `EMAIL_SENT`
23+
+ `EMAIL_NOT_SENT`
24+
+ `TASK_CREATED`
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
SortOrder: 1
2+
# Abandoned Checkouts: Sample Use Case & Flow
3+
4+
This article shares some possible use cases your app could support, as well as an example flow that could support each
5+
use case. You're certainly not limited to these use cases, but they can be a helpful jumping off point as you plan your
6+
app's implementation.
7+
8+
## Redirect a site visitor with an abandoned checkout back to their checkout page
9+
10+
If a site visitor starts a checkout but doesn't complete it, you can redirect them to their checkout page. You can also check whether the site visitor has recovered their abandoned checkout and completed the purchase.
11+
12+
To redirect the site visitor to their checkout page:
13+
14+
1. Using the [Abandoned Checkout Created Webhook](https://dev.wix.com/api/rest/wix-ecommerce/abandoned-checkouts/abandoned-checkout-created-webhook), listen for an event when an abandoned checkout is created (a checkout was not completed).
15+
16+
2. Save the newly created abandoned checkout's ID (`entityId` field) and `checkoutUrl` from the above webhook's payload. Then send a marketing campaign with the `checkoutURL` to your site visitor, redirecting them to their checkout page.
17+
18+
3. After the marketing campaign, call [Get Abandoned Checkout](https://dev.wix.com/api/rest/wix-ecommerce/abandoned-checkouts/get-abandoned-checkout) with the abandoned checkout's ID. Then check the `status` field in the response to see if the abandoned checkout has been recovered.
19+
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
SortOrder: 2
2+
# Abandoned Checkouts: Supported Filters and Sorting
3+
4+
The table below shows field support for filters and sorting for the base set of abandoned checkout properties.
5+
6+
| Field | Supported Filters | Sortable |
7+
| ---------------------------- | --------------------------------------------- | -------- |
8+
| `id` | `$eq`, `$ne`, `$in`, `$exists` | |
9+
| `createdDate` | `$eq`, `$ne`, `$gt`, `$lt`, `$gte`, `$lte` | Sortable |
10+
| `updatedDate` | `$eq`, `$ne`, `$gt`, `$lt`, `$gte`, `$lte` | Sortable |
11+
| `status` | `$eq` | Sortable |
12+
| `buyerInfo.email` | `$eq` | |
13+
| `totalPrice.amount` | `$eq`, `$gt`, `$lt`, `$gte`, `$lte` | Sortable |
14+
| `totalPrice.convertedAmount` | `$eq`, `$gt`, `$lt`, `$gte`, `$lte` | Sortable |

all/guides/contacts/docs/documentation.yaml

Lines changed: 0 additions & 16 deletions
This file was deleted.

guides/ReleaseNotes.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# Release Notes
22

3+
## New Release: Wix eCommerce [Abandoned Checkouts API](wix-ecommerce/abandoned-checkouts)
4+
5+
Wix eCommerce introduces the new [Abandoned Checkouts API](wix-ecommerce/abandoned-checkouts). When a customer begins an eCommerce Checkout process but doesn't complete it (for example, after closing their browser tab before putting in their payment details and making a payment), that checkout becomes an abandoned checkout.
6+
7+
The Abandoned Checkouts API allows an app developer to help a customer recover their abandoned checkout (return to their incomplete checkout and complete the checkout).
8+
9+
The Abandoned Checkouts API provides the following functionalities:
10+
11+
+ [Get](wix-ecommerce/abandoned-checkouts/get-abandoned-checkout) an abandoned checkout.
12+
+ [Query](wix-ecommerce/abandoned-checkouts/query-abandoned-checkouts) abandoned checkouts.
13+
+ An event when an abandoned checkout is [created](wix-ecommerce/abandoned-checkouts/abandoned-checkout-created-webhook).
14+
+ An event when an abandoned checkout is [recovered](wix-ecommerce/abandoned-checkouts/abandoned-checkout-recovered-webhook).
15+
16+
17+
(June 6, 2023)
18+
319

420
## New Webhooks: [Wix Bookings V2](wix-bookings/bookings-v2)
521

0 commit comments

Comments
 (0)