diff --git a/all/all-apis/abandoned-checkouts.service.json b/all/all-apis/abandoned-checkouts.service.json new file mode 100644 index 00000000000..b44c1b7a73b --- /dev/null +++ b/all/all-apis/abandoned-checkouts.service.json @@ -0,0 +1,1920 @@ +{ + "name": "Abandoned Checkouts", + "client_id": "https://github.com/wix-private/ecom/tree/master/server/wix-ecommerce-server/wix-ecommerce-platform-abandoned-checkout#public", + "memberOf": "All APIs", + "category": "core", + "mixes": [], + "labels": [], + "docs": { + "summary": "Manage eCommerce abandoned checkouts", + "description": [] + }, + "properties": [], + "tags": [ { + "name": "Abandoned Checkouts", + "entity": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout", + "src": "https://github.com/wix-private/ecom/tree/master/server/wix-ecommerce-server/wix-ecommerce-platform-abandoned-checkout/proto/wix/ecom/abandoned_checkout/api/v1/abandoned_checkout.proto" + }], + "relatedGuides": [ + { + "path": "../guides/abandoned-checkouts/docs/sort-and-filter.md", + "name": "Sort and Filter" + }, + { + "path": "../guides/abandoned-checkouts/docs/intro.md", + "name": "Introduction" + }, + { + "path": "../guides/abandoned-checkouts/docs/sample-flows.md", + "name": "Sample Flows" + } + ], + "operations": [ + { + "name": "Get Abandoned Checkout", + "methodName": "GetAbandonedCheckout", + "serviceName": "AbandonedCheckoutService", + "tag": "Abandoned Checkouts", + "permissions": [ + { + "name": "Read eCommerce - all read permissions", + "description": "Request permission to read the site's Wix eCommerce (ecom) data, including cart, checkout, and order data. This permission scope contains all of the read eCommerce permissions." + }, + { + "name": "Manage Orders", + "description": "Request permission to read, create and modify the site's Wix Stores orders." + }, + { + "name": "Read Orders", + "description": "Request permission to read the site's Wix Stores order info." + } + ], + "events": [], + "labels": [], + "nameParams": [], + "requiredFields": ["abandonedCheckoutId"], + "params": [ { + "in": "PATH", + "name": "abandonedCheckoutId", + "type": "string", + "doc": " Abandoned checkout ID.\n", + "required": true + }], + "ret": { + "type": { + "name": "GetAbandonedCheckout", + "statusCode": "200", + "typeParams": ["All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_GetAbandonedCheckoutResponse"] + }, + "doc": "" + }, + "locations": [], + "docs": { + "summary": "\nRetrieves an abandoned checkout.\n \n", + "description": [], + "request": "GET", + "url": "https://www.wixapis.com/ecom/v1/abandoned-checkout/{abandonedCheckoutId}", + "links": [], + "examples": [ { + "title": "Get Abandoned Checkout", + "body": ["curl GET https://www.wixapis.com/ecom/v1/abandoned-checkout/b4ebb0b8-4482-4693-ae09-7b47e977484c \\\n -H 'Content-Type: application/json;charset=UTF-8' \\\n -H 'Authorization: '"], + "response": ["{\"abandonedCheckout\": {\n \"id\": \"b4ebb0b8-4482-4693-ae09-7b47e977484c\",\n \"createdDate\": \"2023-05-03T08:26:07.512Z\",\n \"updatedDate\": \"2023-05-03T08:33:33.809Z\",\n \"checkoutId\": \"a9524a00-4b00-4edb-abbc-538a09e59f43\",\n \"cartId\": \"b1460e65-bf14-42e3-9279-d96705a69347\",\n \"status\": \"RECOVERED\",\n \"buyerLanguage\": \"en\",\n \"buyerInfo\": {\n \"contactId\": \"251f2a54-3bde-4c34-8647-89111ef83358\",\n \"email\": \"John.Doe@example.com\",\n \"visitorId\": \"2f8d09d0-d067-44d9-9bd8-495d63fa5b4a\"\n },\n \"contactDetails\": {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\"\n },\n \"currency\": \"USD\",\n \"conversionCurrency\": \"USD\",\n \"checkoutUrl\": \"http://www.wixapis.com/ecom/v1/abandoned-checkout/b4ebb0b8-4482-4693-ae09-7b47e977484c?metasiteId=07b12318-c5d9-419f-9c2c-9507db543901\",\n \"totalPrice\": {\n \"amount\": \"255\",\n \"convertedAmount\": \"255\",\n \"formattedAmount\": \"$255.00\",\n \"formattedConvertedAmount\": \"$255.00\"\n },\n \"activities\": [\n {\n \"createdDate\": \"2023-05-03T08:26:07.747Z\",\n \"type\": \"SCHEDULED\"\n },\n {\n \"createdDate\": \"2023-05-03T08:32:01.991Z\",\n \"type\": \"EMAIL_SENT\"\n }\n ]\n}} "], + "type": "curl", + "extra": {} + }], + "extra": {} + }, + "extra": { + "hasRest": true, + "rpcRequestName": "GetAbandonedCheckoutRequest", + "rpcResponseName": "GetAbandonedCheckoutResponse" + }, + "customLabels": [{"id": "maturity-beta"}] + }, + { + "name": "Query Abandoned Checkouts", + "methodName": "QueryAbandonedCheckouts", + "serviceName": "AbandonedCheckoutService", + "tag": "Abandoned Checkouts", + "permissions": [ + { + "name": "Read eCommerce - all read permissions", + "description": "Request permission to read the site's Wix eCommerce (ecom) data, including cart, checkout, and order data. This permission scope contains all of the read eCommerce permissions." + }, + { + "name": "Manage Orders", + "description": "Request permission to read, create and modify the site's Wix Stores orders." + }, + { + "name": "Read Orders", + "description": "Request permission to read the site's Wix Stores order info." + } + ], + "events": [], + "labels": [], + "nameParams": [], + "requiredFields": ["query"], + "params": [ { + "in": "BODY", + "name": "query", + "type": "All APIs.Abandoned Checkouts._wix_common_QueryV2", + "doc": " Query options.\n", + "required": true + }], + "ret": { + "type": { + "name": "QueryAbandonedCheckouts", + "statusCode": "200", + "typeParams": ["All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_QueryAbandonedCheckoutsResponse"] + }, + "doc": "" + }, + "locations": [], + "docs": { + "summary": "\nRetrieves a list of abandoned checkouts, given the provided paging, filtering, and sorting. Up to 100 abandoned checkouts can be returned per request.\n\nFor a detailed list of supported operations, see [filtering and sorting for abandoned checkout properties](https://dev.wix.com/api/rest/wix-ecommerce/abandoned-checkouts/sort-and-filter). To learn how to query marketing consents, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n \n", + "description": [], + "request": "POST", + "url": "https://www.wixapis.com/ecom/v1/abandoned-checkout/query", + "links": [], + "examples": [ { + "title": "Query Abandoned Checkouts", + "body": ["curl POST https://www.wixapis.com/ecom/v1/abandoned-checkout/b4ebb0b8-4482-4693-ae09-7b47e977484c \\\n -H 'Content-Type: application/json;charset=UTF-8' \\\n -H 'Authorization: ' \\\n --data-binary '{\n \"query\": {\n \"sort\": [\n {\n \"fieldName\": \"createdDate\",\n \"order\": \"DESC\"\n }\n ],\n \"filter\": {\n \"contactDetails.firstName\": \"John\"\n },\n \"paging\": {\n \"limit\": 20,\n \"offset\": 0\n }\n }\n }'"], + "response": ["{\n \"results\": [ {\n \"id\": \"f126d944-c0ae-4474-b416-3285e19ada7e\",\n \"createdDate\": \"2023-04-30T11:49:08.291Z\",\n \"updatedDate\": \"2023-05-02T14:39:15.156Z\",\n \"checkoutId\": \"56064306-83c5-4c53-aac4-171c7033d8b3\",\n \"cartId\": \"47a145af-11da-4e7b-934c-894e58fb2d3e\",\n \"status\": \"RECOVERED\",\n \"buyerLanguage\": \"en\",\n \"buyerInfo\": {\n \"contactId\": \"2744c1d6-d168-4c47-9f54-f0325c028843\",\n \"email\": \"John.Doe@example.com\",\n \"visitorId\": \"3aba7e8b-6e8f-4f10-91a4-ac06b53c298f\"\n },\n \"contactDetails\": {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\"\n },\n \"currency\": \"USD\",\n \"conversion_currency\": \"USD\",\n \"checkoutUrl\": \"http://www.wixapis.com/ecom/v1/abandoned-checkout/b4ebb0b8-4482-4693-ae09-7b47e977484c?metasiteId=07b12318-c5d9-419f-9c2c-9507db543901\",\n \"total_price\": {\n \"amount\": \"85\",\n \"convertedAmount\": \"85\",\n \"formattedAmount\": \"$85.00\",\n \"formattedConvertedAmount\": \"$85.00\"\n },\n \"activities\": [\n {\n \"createdDate\": \"2023-04-30T11:49:08.538Z\",\n \"type\": \"SCHEDULED\"\n },\n {\n \"createdDate\": \"2023-04-30T11:55:01.969Z\",\n \"type\": \"EMAIL_SENT\"\n }\n ]\n }],\n \"metadata\": {\n \"count\": 1,\n \"offset\": 0,\n \"has_next\": false\n }\n} "], + "type": "curl", + "extra": {} + }], + "extra": {} + }, + "extra": { + "hasRest": true, + "rpcRequestName": "QueryAbandonedCheckoutsRequest", + "rpcResponseName": "QueryAbandonedCheckoutsResponse" + }, + "customLabels": [{"id": "maturity-beta"}] + } + ], + "events": [ + { + "type": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutCreatedDomainEvent", + "name": "Abandoned Checkout Created Webhook", + "docs": { + "summary": " Triggered when an abandoned checkout is created.\n", + "src": "https://github.com/wix-private/ecom/tree/master/server/wix-ecommerce-server/wix-ecommerce-platform-abandoned-checkout/proto/wix/ecom/abandoned_checkout/api/v1/abandoned_checkout_service.proto" + }, + "topic": "domain_events_wix.ecom.v1.abandoned_checkout", + "tag": "Abandoned Checkouts", + "permissions": [ + { + "name": "Read eCommerce - all read permissions", + "description": "Request permission to read the site's Wix eCommerce (ecom) data, including cart, checkout, and order data. This permission scope contains all of the read eCommerce permissions." + }, + { + "name": "Manage Orders", + "description": "Request permission to read, create and modify the site's Wix Stores orders." + }, + { + "name": "Read Orders", + "description": "Request permission to read the site's Wix Stores order info." + } + ], + "customLabels": [{"id": "maturity-beta"}], + "eventType": "wix.ecom.v1.abandoned_checkout_created", + "extra": {"isDomainEvent": true} + }, + { + "type": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutRecoveredDomainEvent", + "name": "Abandoned Checkout Recovered Webhook", + "docs": { + "summary": " Triggered when an abandoned checkout is recovered (the customer completes the checkout).\n", + "src": "https://github.com/wix-private/ecom/tree/master/server/wix-ecommerce-server/wix-ecommerce-platform-abandoned-checkout/proto/wix/ecom/abandoned_checkout/api/v1/abandoned_checkout_service.proto" + }, + "topic": "domain_events_wix.ecom.v1.abandoned_checkout", + "tag": "Abandoned Checkouts", + "permissions": [ + { + "name": "Read eCommerce - all read permissions", + "description": "Request permission to read the site's Wix eCommerce (ecom) data, including cart, checkout, and order data. This permission scope contains all of the read eCommerce permissions." + }, + { + "name": "Manage Orders", + "description": "Request permission to read, create and modify the site's Wix Stores orders." + }, + { + "name": "Read Orders", + "description": "Request permission to read the site's Wix Stores order info." + } + ], + "customLabels": [{"id": "maturity-beta"}], + "eventType": "wix.ecom.v1.abandoned_checkout_recovered", + "extra": {"isDomainEvent": true} + } + ], + "callbacks": [], + "messages": [ + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutUpdatedDomainEvent", + "displayName": "Abandoned Checkout Updated Domain Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "id", + "type": "string", + "doc": "Unique event ID." + }, + { + "name": "entityFqdn", + "type": "string", + "doc": "Expected `wix.ecom.v1.abandoned_checkout`.\nFully Qualified Domain Name." + }, + { + "name": "slug", + "type": "string", + "doc": "Expected `updated`.\nEvent name." + }, + { + "name": "updatedEvent", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutEntityUpdatedEvent", + "doc": "Event Info" + }, + { + "name": "entityId", + "type": "string", + "doc": "AbandonedCheckout ID associated with this event." + }, + { + "name": "eventTime", + "type": "string", + "doc": "Event timestamp." + }, + { + "name": "triggeredByAnonymizeRequest", + "type": "boolean", + "doc": "Whether this event was triggered as a result of a privacy regulation application (e.g., GDPR)." + }, + { + "name": "originatedFrom", + "type": "string", + "doc": "If present, indicates the action that triggered the event." + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutEntityUpdatedEvent", + "displayName": "Abandoned Checkout Entity Updated Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ { + "name": "currentEntityAsJson", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout", + "doc": "Event body as a stringified JSON" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutDeletedDomainEvent", + "displayName": "Abandoned Checkout Deleted Domain Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "id", + "type": "string", + "doc": "Unique event ID." + }, + { + "name": "entityFqdn", + "type": "string", + "doc": "Expected `wix.ecom.v1.abandoned_checkout`.\nFully Qualified Domain Name." + }, + { + "name": "slug", + "type": "string", + "doc": "Expected `deleted`.\nEvent name." + }, + { + "name": "deletedEvent", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutEntityDeletedEvent", + "doc": "Event Info" + }, + { + "name": "entityId", + "type": "string", + "doc": "AbandonedCheckout ID associated with this event." + }, + { + "name": "eventTime", + "type": "string", + "doc": "Event timestamp." + }, + { + "name": "triggeredByAnonymizeRequest", + "type": "boolean", + "doc": "Whether this event was triggered as a result of a privacy regulation application (e.g., GDPR)." + }, + { + "name": "originatedFrom", + "type": "string", + "doc": "If present, indicates the action that triggered the event." + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutEntityDeletedEvent", + "displayName": "Abandoned Checkout Entity Deleted Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutCreatedDomainEvent", + "displayName": "Abandoned Checkout Created Domain Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [ { + "title": "", + "body": ["{\n \"id\" : \"fd2c1880-4092-4321-9ce4-973076b4e440\",\n \"entityFqdn\" : \"wix.ecom.v1.abandoned_checkout\",\n \"slug\" : \"created\",\n \"entityId\" : \"b4ebb0b8-4482-4693-ae09-7b47e977484c\",\n \"createdEvent\" : {\n \"entityAsJson\" : {\n \"id\" : \"b4ebb0b8-4482-4693-ae09-7b47e977484c\",\n \"createdDate\" : \"2023-05-03T08:26:07.512Z\",\n \"updatedDate\" : \"2023-05-03T08:26:07.512Z\",\n \"checkoutId\" : \"a9524a00-4b00-4edb-abbc-538a09e59f43\",\n \"cartId\" : \"b1460e65-bf14-42e3-9279-d96705a69347\",\n \"status\" : \"ABANDONED\",\n \"buyerLanguage\" : \"en\",\n \"buyerInfo\" : {\n \"contactId\" : \"251f2a54-3bde-4c34-8647-89111ef83358\",\n \"email\" : \"John.Doe@example.com\",\n \"visitorId\" : \"2f8d09d0-d067-44d9-9bd8-495d63fa5b4a\"\n },\n \"contactDetails\" : {\n \"firstName\" : \"John\",\n \"lastName\" : \"Doe\"\n },\n \"currency\" : \"USD\",\n \"conversionCurrency\" : \"USD\",\n \"checkoutUrl\" : \"http://www.wixapis.com/ecom/v1/abandoned-checkout/b4ebb0b8-4482-4693-ae09-7b47e977484c?metasiteId=07b12318-c5d9-419f-9c2c-9507db543901\",\n \"totalPrice\" : {\n \"amount\" : \"255\",\n \"convertedAmount\" : \"255\",\n \"formattedAmount\" : \"$255.00\",\n \"formattedConvertedAmount\" : \"$255.00\"\n },\n \"activities\" : [ ]\n }\n },\n \"eventTime\" : \"2023-05-14T04:45:08.759905Z\",\n \"triggeredByAnonymizeRequest\" : false,\n \"entityEventSequence\" : \"1\"\n} "], + "type": "json", + "extra": {} + }] + }, + "members": [ + { + "name": "id", + "type": "string", + "doc": "Unique event ID." + }, + { + "name": "entityFqdn", + "type": "string", + "doc": "Expected `wix.ecom.v1.abandoned_checkout`.\nFully Qualified Domain Name." + }, + { + "name": "slug", + "type": "string", + "doc": "Expected `created`.\nEvent name." + }, + { + "name": "createdEvent", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutEntityCreatedEvent", + "doc": "Event Info" + }, + { + "name": "entityId", + "type": "string", + "doc": "AbandonedCheckout ID associated with this event." + }, + { + "name": "eventTime", + "type": "string", + "doc": "Event timestamp." + }, + { + "name": "triggeredByAnonymizeRequest", + "type": "boolean", + "doc": "Whether this event was triggered as a result of a privacy regulation application (e.g., GDPR)." + }, + { + "name": "originatedFrom", + "type": "string", + "doc": "If present, indicates the action that triggered the event." + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutEntityCreatedEvent", + "displayName": "Abandoned Checkout Entity Created Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ { + "name": "entity", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout", + "doc": "Event body" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutRecoveredDomainEvent", + "displayName": "Abandoned Checkout Recovered Domain Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [ { + "title": "", + "body": ["{\n \"id\" : \"d916dcfc-0e37-49e3-be32-965d7877b844\",\n \"entityFqdn\" : \"wix.ecom.v1.abandoned_checkout\",\n \"slug\" : \"recovered\",\n \"entityId\" : \"b4ebb0b8-4482-4693-ae09-7b47e977484c\",\n \"actionEvent\" : {\n \"bodyAsJson\" : {\n \"id\" : \"b4ebb0b8-4482-4693-ae09-7b47e977484c\",\n \"createdDate\" : \"2023-05-03T08:26:07.512Z\",\n \"updatedDate\" : \"2023-05-03T08:33:33.809Z\",\n \"checkoutId\" : \"a9524a00-4b00-4edb-abbc-538a09e59f43\",\n \"cartId\" : \"b1460e65-bf14-42e3-9279-d96705a69347\",\n \"status\" : \"RECOVERED\",\n \"buyerLanguage\" : \"en\",\n \"buyerInfo\" : {\n \"contactId\" : \"251f2a54-3bde-4c34-8647-89111ef83358\",\n \"email\" : \"John.Doe@example.com\",\n \"visitorId\" : \"2f8d09d0-d067-44d9-9bd8-495d63fa5b4a\"\n },\n \"contactDetails\" : {\n \"firstName\" : \"John\",\n \"lastName\" : \"Doe\"\n },\n \"currency\" : \"USD\",\n \"conversionCurrency\" : \"USD\",\n \"checkoutUrl\" : \"http://www.wixapis.com/ecom/v1/abandoned-checkout/b4ebb0b8-4482-4693-ae09-7b47e977484c?metasiteId=07b12318-c5d9-419f-9c2c-9507db543901\",\n \"totalPrice\" : {\n \"amount\" : \"255\",\n \"convertedAmount\" : \"255\",\n \"formattedAmount\" : \"$255.00\",\n \"formattedConvertedAmount\" : \"$255.00\"\n },\n \"activities\" : [ {\n \"createdDate\" : \"2023-05-03T08:26:07.747Z\",\n \"type\" : \"SCHEDULED\"\n }, {\n \"createdDate\" : \"2023-05-03T08:32:01.991Z\",\n \"type\" : \"EMAIL_SENT\"\n } ]\n }\n },\n \"eventTime\" : \"2023-05-14T04:45:12.786205Z\",\n \"triggeredByAnonymizeRequest\" : false\n} "], + "type": "json", + "extra": {} + }] + }, + "members": [ + { + "name": "id", + "type": "string", + "doc": "Unique event ID." + }, + { + "name": "entityFqdn", + "type": "string", + "doc": "Expected `wix.ecom.v1.abandoned_checkout`.\nFully Qualified Domain Name." + }, + { + "name": "slug", + "type": "string", + "doc": "Expected `recovered`.\nEvent name." + }, + { + "name": "actionEvent", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutRecoveredActionEvent", + "doc": "Event Info" + }, + { + "name": "entityId", + "type": "string", + "doc": "AbandonedCheckoutRecovered ID associated with this event." + }, + { + "name": "eventTime", + "type": "string", + "doc": "Event timestamp." + }, + { + "name": "triggeredByAnonymizeRequest", + "type": "boolean", + "doc": "Whether this event was triggered as a result of a privacy regulation application (e.g., GDPR)." + }, + { + "name": "originatedFrom", + "type": "string", + "doc": "If present, indicates the action that triggered the event." + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutRecoveredActionEvent", + "displayName": "Abandoned Checkout Recovered Action Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ { + "name": "body", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutRecovered", + "doc": "Event body" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_BuyerInfo", + "displayName": "Buyer Info Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "contactId", + "type": "string", + "doc": " Contact ID. For more information, see the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/introduction).\n", + "readOnly": true + }, + { + "name": "email", + "type": "string", + "doc": " Buyer email address.\n" + }, + { + "name": "id", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_BuyerInfo_id", + "doc": "" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_BuyerInfo_id", + "displayName": "id Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "visitorId", + "type": "string", + "doc": " Visitor ID (if the site visitor is **not** a site member).\n" + }, + { + "name": "memberId", + "type": "string", + "doc": " Member ID (if the site visitor is a site member).\n" + }, + { + "name": "userId", + "type": "string", + "doc": " User ID (if the site visitor is a site owner or collaborator).\n" + } + ], + "enum": null, + "extra": {}, + "labels": [], + "oneOf": true + }, + { + "name": "_com_wix_ecommerce_platform_common_api_MultiCurrencyPrice", + "displayName": "Multi Currency Price Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "amount", + "type": "string", + "doc": " Amount.\n" + }, + { + "name": "convertedAmount", + "type": "string", + "doc": " Converted amount.\n", + "readOnly": true + }, + { + "name": "formattedAmount", + "type": "string", + "doc": " Amount formatted with currency symbol.\n", + "readOnly": true + }, + { + "name": "formattedConvertedAmount", + "type": "string", + "doc": " Converted amount formatted with currency symbol.\n", + "readOnly": true + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_VatId", + "displayName": "Vat Id Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "id", + "type": "string", + "doc": " Customer's tax ID.\n" + }, + { + "name": "type", + "type": "All APIs.Abandoned Checkouts._wix_common_VatType", + "doc": "\nTax type.\n\nSupported values:\n+ `CPF`: for individual tax payers\n+ `CNPJ`: for corporations\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_com_wix_ecommerce_platform_common_api_FullAddressContactDetails", + "displayName": "Full Address Contact Details Object", + "locations": [], + "docs": { + "summary": "Full contact details for an address\n", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "firstName", + "type": "string", + "doc": " First name.\n" + }, + { + "name": "lastName", + "type": "string", + "doc": " Last name.\n" + }, + { + "name": "phone", + "type": "string", + "doc": " Phone number.\n" + }, + { + "name": "company", + "type": "string", + "doc": " Company name.\n" + }, + { + "name": "vatId", + "type": "All APIs.Abandoned Checkouts._wix_common_VatId", + "doc": " Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout_Activity", + "displayName": "Activity Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "createdDate", + "type": "string", + "doc": " Date and time the automation activity was created.\n" + }, + { + "name": "type", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout_Activity_ActivityType", + "doc": " Automation activity type. \n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout", + "displayName": "Abandoned Checkout Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [ { + "title": "", + "body": ["{\n \"abandonedCheckout\" : {\n \"id\" : \"b4ebb0b8-4482-4693-ae09-7b47e977484c\",\n \"createdDate\" : \"2023-05-03T08:26:07.512Z\",\n \"updatedDate\" : \"2023-05-03T08:33:33.809Z\",\n \"checkoutId\" : \"a9524a00-4b00-4edb-abbc-538a09e59f43\",\n \"cartId\" : \"b1460e65-bf14-42e3-9279-d96705a69347\",\n \"status\" : \"RECOVERED\",\n \"buyerLanguage\" : \"en\",\n \"buyerInfo\" : {\n \"contactId\" : \"251f2a54-3bde-4c34-8647-89111ef83358\",\n \"email\" : \"John.Doe@example.com\",\n \"visitorId\" : \"2f8d09d0-d067-44d9-9bd8-495d63fa5b4a\"\n },\n \"contactDetails\" : {\n \"firstName\" : \"John\",\n \"lastName\" : \"Doe\"\n },\n \"currency\" : \"USD\",\n \"conversionCurrency\" : \"USD\",\n \"checkoutUrl\" : \"http://www.wixapis.com/ecom/v1/abandoned-checkout/b4ebb0b8-4482-4693-ae09-7b47e977484c?metasiteId=07b12318-c5d9-419f-9c2c-9507db543901\",\n \"totalPrice\" : {\n \"amount\" : \"255\",\n \"convertedAmount\" : \"255\",\n \"formattedAmount\" : \"$255.00\",\n \"formattedConvertedAmount\" : \"$255.00\"\n },\n \"activities\" : [ {\n \"createdDate\" : \"2023-05-03T08:26:07.747Z\",\n \"type\" : \"SCHEDULED\"\n }, {\n \"createdDate\" : \"2023-05-03T08:32:01.991Z\",\n \"type\" : \"EMAIL_SENT\"\n } ]\n }\n} "], + "type": "json", + "extra": {} + }] + }, + "members": [ + { + "name": "id", + "type": "string", + "doc": " Abandoned checkout ID. \n" + }, + { + "name": "createdDate", + "type": "string", + "doc": " Date and time the abandoned checkout was created. \n" + }, + { + "name": "updatedDate", + "type": "string", + "doc": " Date and time the abandoned checkout was updated. \n" + }, + { + "name": "checkoutId", + "type": "string", + "doc": " The associated checkout ID. \n" + }, + { + "name": "cartId", + "type": "string", + "doc": " The associated cart ID. \n" + }, + { + "name": "status", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout_Status", + "doc": "" + }, + { + "name": "buyerLanguage", + "type": "string", + "doc": " Language for communication with the buyer. Defaults to the site language.\n For a site that supports multiple languages, this is the language the buyer selected.\n" + }, + { + "name": "buyerInfo", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_BuyerInfo", + "doc": " Buyer information.\n" + }, + { + "name": "contactDetails", + "type": "All APIs.Abandoned Checkouts._com_wix_ecommerce_platform_common_api_FullAddressContactDetails", + "doc": " Contact details.\n" + }, + { + "name": "currency", + "type": "string", + "doc": " The store's currency.\n" + }, + { + "name": "conversionCurrency", + "type": "string", + "doc": " Currency the buyer used in checkout.\n" + }, + { + "name": "totalPrice", + "type": "All APIs.Abandoned Checkouts._com_wix_ecommerce_platform_common_api_MultiCurrencyPrice", + "doc": " Total price after discounts, gift cards, and tax.\n" + }, + { + "name": "activities", + "type": { + "name": "array", + "typeParams": ["All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout_Activity"] + }, + "doc": " List of all automation activities performed by [Wix Automations](https://support.wix.com/en/article/wix-automations-getting-started) regarding the abandoned checkout.\nWix Automations updates the `activities` field for each actvity in the automation flow. Only relevant if the site owner set up [automations in the Dashboard](https://support.wix.com/en/article/wix-automations-creating-a-new-automation). Read more about `activities` in the [introduction](https://dev.wix.com/api/rest/wix-ecommerce/abandoned-checkouts/introduction).\n" + }, + { + "name": "checkoutRecoveredDate", + "type": "string", + "doc": " Date and time the abandoned checkout was recovered.\n" + }, + { + "name": "checkoutUrl", + "type": "string", + "doc": " Checkout URL.\n" + }, + { + "name": "subtotalPrice", + "type": "All APIs.Abandoned Checkouts._com_wix_ecommerce_platform_common_api_MultiCurrencyPrice", + "doc": " Subtotal price of all line items, before discounts and before tax.\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckoutRecovered", + "displayName": "Abandoned Checkout Recovered Object", + "locations": [], + "docs": { + "summary": " Triggered when an abandoned checkout is recovered (the customer completes the checkout).\n", + "links": [], + "examples": [] + }, + "members": [ { + "name": "abandonedCheckout", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout", + "doc": "" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_Paging", + "displayName": "Paging Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "limit", + "type": "integer", + "doc": " Number of items to load.\n" + }, + { + "name": "offset", + "type": "integer", + "doc": " Number of items to skip in the current sort order.\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_CursorPaging", + "displayName": "Cursor Paging Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "limit", + "type": "integer", + "doc": " Number of items to load.\n" + }, + { + "name": "cursor", + "type": "string", + "doc": "\nPointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_PagingMetadataV2", + "displayName": "Paging Metadata V 2 Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "count", + "type": "integer", + "doc": " Number of items returned in the response.\n" + }, + { + "name": "offset", + "type": "integer", + "doc": " Offset that was requested.\n" + }, + { + "name": "total", + "type": "integer", + "doc": " Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set.\n" + }, + { + "name": "tooManyToCount", + "type": "boolean", + "doc": " Flag that indicates the server failed to calculate the `total` field.\n" + }, + { + "name": "cursors", + "type": "All APIs.Abandoned Checkouts._wix_common_Cursors", + "doc": " Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used.\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_Cursors", + "displayName": "Cursors Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "next", + "type": "string", + "doc": " Cursor pointing to next page in the list of results.\n" + }, + { + "name": "prev", + "type": "string", + "doc": " Cursor pointing to previous page in the list of results.\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_Sorting", + "displayName": "Sorting Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "fieldName", + "type": "string", + "doc": " Name of the field to sort by.\n" + }, + { + "name": "order", + "type": "All APIs.Abandoned Checkouts._wix_common_SortOrder", + "doc": " Sort order.\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_QueryV2", + "displayName": "Query V 2 Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "filter", + "type": "struct", + "doc": "Filter object in the following format:\n`\"filter\" : {\n \"fieldName1\": \"value1\",\n \"fieldName2\":{\"$operator\":\"value2\"}\n }`\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n" + }, + { + "name": "sort", + "type": { + "name": "array", + "typeParams": ["All APIs.Abandoned Checkouts._wix_common_Sorting"] + }, + "doc": "Sort object in the following format:\n`[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n" + }, + { + "name": "fields", + "type": { + "name": "array", + "typeParams": ["string"] + }, + "doc": "Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned.\n" + }, + { + "name": "fieldsets", + "type": { + "name": "array", + "typeParams": ["string"] + }, + "doc": "Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned.\n" + }, + { + "name": "pagingMethod", + "type": "All APIs.Abandoned Checkouts._wix_common_QueryV2_pagingMethod", + "doc": "" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_QueryV2_pagingMethod", + "displayName": "paging Method Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "paging", + "type": "All APIs.Abandoned Checkouts._wix_common_Paging", + "doc": "Paging options to limit and skip the number of items.\n" + }, + { + "name": "cursorPaging", + "type": "All APIs.Abandoned Checkouts._wix_common_CursorPaging", + "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`.\n" + } + ], + "enum": null, + "extra": {}, + "labels": [], + "oneOf": true + }, + { + "name": "_wix_common_domainevents_EntityCreatedEvent", + "displayName": "Entity Created Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ { + "name": "entityAsJson", + "type": "string", + "doc": "" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_domainevents_EntityUpdatedEvent", + "displayName": "Entity Updated Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ { + "name": "currentEntityAsJson", + "type": "string", + "doc": " Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_domainevents_EntityDeletedEvent", + "displayName": "Entity Deleted Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_domainevents_ActionEvent", + "displayName": "Action Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ { + "name": "bodyAsJson", + "type": "string", + "doc": "" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_domainevents_ExtendedFieldsUpdatedEvent", + "displayName": "Extended Fields Updated Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ { + "name": "currentEntityAsJson", + "type": "string", + "doc": "" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_domainevents_DomainEvent", + "displayName": "Domain Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "id", + "type": "string", + "doc": " random GUID so clients can tell if event was already handled\n" + }, + { + "name": "entityFqdn", + "type": "string", + "doc": " Assumes actions are also always typed to an entity_type\n Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n" + }, + { + "name": "slug", + "type": "string", + "doc": " This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n This is although the created/updated/deleted notion is duplication of the oneof types\n Example: created/updated/deleted/started/completed/email_opened\n" + }, + { + "name": "entityId", + "type": "string", + "doc": " Assuming that all messages including Actions have id\n Example: The id of the specific order, the id of a specific campaign\n" + }, + { + "name": "body", + "type": "All APIs.Abandoned Checkouts._wix_common_domainevents_DomainEvent_body", + "doc": "" + }, + { + "name": "eventTime", + "type": "string", + "doc": " The time of the event. Useful if there was a delay in dispatching\n" + }, + { + "name": "triggeredByAnonymizeRequest", + "type": "boolean", + "doc": " A field that should be set if this event was triggered by an anonymize request.\n For example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\n NOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers.\n" + }, + { + "name": "originatedFrom", + "type": "string", + "doc": " If present, indicates the action that triggered the event.\n" + }, + { + "name": "entityEventSequence", + "type": "string", + "doc": " A sequence number defining the order of updates to the underlying entity.\n For example, given that some entity was updated at 16:00 and than again at 16:01,\n it is guaranteed that the sequence number of the second update is strictly higher than the first.\n As the consumer, you can use this value to ensure that you handle messages in the correct order.\n To do so, you will need to persist this number on your end, and compare the sequence number from the\n message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_domainevents_DomainEvent_body", + "displayName": "body Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "createdEvent", + "type": "All APIs.Abandoned Checkouts._wix_common_domainevents_EntityCreatedEvent", + "doc": "" + }, + { + "name": "updatedEvent", + "type": "All APIs.Abandoned Checkouts._wix_common_domainevents_EntityUpdatedEvent", + "doc": "" + }, + { + "name": "deletedEvent", + "type": "All APIs.Abandoned Checkouts._wix_common_domainevents_EntityDeletedEvent", + "doc": "" + }, + { + "name": "actionEvent", + "type": "All APIs.Abandoned Checkouts._wix_common_domainevents_ActionEvent", + "doc": "" + }, + { + "name": "extendedFieldsUpdatedEvent", + "type": "All APIs.Abandoned Checkouts._wix_common_domainevents_ExtendedFieldsUpdatedEvent", + "doc": "" + } + ], + "enum": null, + "extra": {}, + "labels": [], + "oneOf": true + }, + { + "name": "_google_protobuf_Empty", + "displayName": "Empty Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_api_loom_timecapsule_TaskKey", + "displayName": "Task Key Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "appId", + "type": "string", + "doc": "" + }, + { + "name": "instanceId", + "type": "string", + "doc": "" + }, + { + "name": "subjectId", + "type": "string", + "doc": "" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_api_loom_timecapsule_Task", + "displayName": "Task Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "key", + "type": "All APIs.Abandoned Checkouts._wix_api_loom_timecapsule_TaskKey", + "doc": "" + }, + { + "name": "executeAt", + "type": "string", + "doc": "" + }, + { + "name": "payload", + "type": "string", + "doc": "" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_api_loom_timecapsule_TaskAction", + "displayName": "Task Action Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ { + "name": "action", + "type": "All APIs.Abandoned Checkouts._wix_api_loom_timecapsule_TaskAction_action", + "doc": "" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_api_loom_timecapsule_TaskAction_action", + "displayName": "action Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "complete", + "type": "All APIs.Abandoned Checkouts._wix_api_loom_timecapsule_Complete", + "doc": "" + }, + { + "name": "cancel", + "type": "All APIs.Abandoned Checkouts._wix_api_loom_timecapsule_Cancel", + "doc": "" + }, + { + "name": "reschedule", + "type": "All APIs.Abandoned Checkouts._wix_api_loom_timecapsule_Reschedule", + "doc": "" + } + ], + "enum": null, + "extra": {}, + "labels": [], + "oneOf": true + }, + { + "name": "_wix_api_loom_timecapsule_Complete", + "displayName": "Complete Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_api_loom_timecapsule_Cancel", + "displayName": "Cancel Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_api_loom_timecapsule_Reschedule", + "displayName": "Reschedule Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "executeAt", + "type": "string", + "doc": "" + }, + { + "name": "payload", + "type": "string", + "doc": "" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "headersMapEntry", + "displayName": "headers Map Entry Object", + "locations": [], + "docs": { + "summary": "Set of key-value pairs.", + "links": [], + "examples": [] + }, + "members": [ { + "name": "key:value", + "type": "string", + "doc": "`key` of type string, `value` of type string" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_com_wixpress_rest_RawHttpResponse", + "displayName": "Raw Http Response Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "body", + "type": "string", + "doc": "" + }, + { + "name": "statusCode", + "type": "integer", + "doc": "" + }, + { + "name": "headers", + "type": "All APIs.Abandoned Checkouts.headersMapEntry", + "doc": "Set of key-value pairs." + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_cart_abandonment_api_v1_BuyerInfo", + "displayName": "Buyer Info Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "id", + "type": "string", + "doc": " Wix customer ID\n" + }, + { + "name": "identityType", + "type": "All APIs.Abandoned Checkouts._wix_cart_abandonment_api_v1_Identity", + "doc": " Customer information\n" + }, + { + "name": "email", + "type": "string", + "doc": " Customer's email address\n" + }, + { + "name": "phone", + "type": "string", + "doc": " Customer's phone number\n" + }, + { + "name": "firstName", + "type": "string", + "doc": " Customer's first name\n" + }, + { + "name": "lastName", + "type": "string", + "doc": " Customer's last name\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_cart_abandonment_api_v1_Totals", + "displayName": "Totals Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "subtotal", + "type": "number", + "doc": " Subtotal of all line items in cart, without shipping and taxes\n" + }, + { + "name": "total", + "type": "number", + "doc": " Total cart price\n" + }, + { + "name": "formattedTotal", + "type": "string", + "doc": " Formatted total cart price includes currency symbol\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_cart_abandonment_api_v1_CartAbandonedEvent", + "displayName": "Cart Abandoned Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "cartId", + "type": "string", + "doc": "" + }, + { + "name": "creationTime", + "type": "string", + "doc": " Time the cart was created\n", + "readOnly": true + }, + { + "name": "abandonTime", + "type": "string", + "doc": " Time the cart was abandoned\n", + "readOnly": true + }, + { + "name": "buyerInfo", + "type": "All APIs.Abandoned Checkouts._wix_cart_abandonment_api_v1_BuyerInfo", + "doc": " Buyer information\n" + }, + { + "name": "itemsCount", + "type": "integer", + "doc": " Amount of items in cart\n" + }, + { + "name": "couponId", + "type": "string", + "doc": " Coupon ID (if relevant)\n" + }, + { + "name": "totals", + "type": "All APIs.Abandoned Checkouts._wix_cart_abandonment_api_v1_Totals", + "doc": " Subtotal of all line items in cart, not before shipping and taxes\n" + }, + { + "name": "checkoutUrl", + "type": "string", + "doc": " Checkout URL - checkout with the abandoned cart details\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_cart_abandonment_api_v1_CartRecoveredEvent", + "displayName": "Cart Recovered Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "cartId", + "type": "string", + "doc": "" + }, + { + "name": "recoveredTime", + "type": "string", + "doc": " Time the cart was recovered\n", + "readOnly": true + }, + { + "name": "creationTime", + "type": "string", + "doc": " Time the cart was created\n", + "readOnly": true + }, + { + "name": "abandonedTime", + "type": "string", + "doc": " Time the cart was abandoned\n", + "readOnly": true + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_cart_abandonment_api_v1_CartDeletedEvent", + "displayName": "Cart Deleted Event Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "instanceId", + "type": "string", + "doc": "" + }, + { + "name": "cartId", + "type": "string", + "doc": "" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AddAbandonedCheckoutActivityRequest", + "displayName": "Add Abandoned Checkout Activity Request Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "abandonedCheckoutId", + "type": "string", + "doc": " Id of the abandoned checkout to update\n" + }, + { + "name": "activityType", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout_Activity_ActivityType", + "doc": " The type of the activity to add\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AddAbandonedCheckoutActivityResponse", + "displayName": "Add Abandoned Checkout Activity Response Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ { + "name": "abandonedCheckout", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout", + "doc": " The updated abandoned checkout with the added activity\n" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_GetAbandonedCheckoutRequest", + "displayName": "Get Abandoned Checkout Request Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ { + "name": "abandonedCheckoutId", + "type": "string", + "doc": " Abandoned checkout ID.\n" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_GetAbandonedCheckoutResponse", + "displayName": "Get Abandoned Checkout Response Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ { + "name": "abandonedCheckout", + "type": "All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout", + "doc": " The requested abandoned checkout.\n" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_RemoveAbandonedCheckoutRequest", + "displayName": "Remove Abandoned Checkout Request Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ { + "name": "abandonedCheckoutId", + "type": "string", + "doc": " Id of the abandoned checkout to delete\n" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_RemoveAbandonedCheckoutResponse", + "displayName": "Remove Abandoned Checkout Response Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_QueryAbandonedCheckoutsRequest", + "displayName": "Query Abandoned Checkouts Request Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ { + "name": "query", + "type": "All APIs.Abandoned Checkouts._wix_common_QueryV2", + "doc": " Query options.\n" + }], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_QueryAbandonedCheckoutsResponse", + "displayName": "Query Abandoned Checkouts Response Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "results", + "type": { + "name": "array", + "typeParams": ["All APIs.Abandoned Checkouts._wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout"] + }, + "doc": " List of abandoned checkouts.\n" + }, + { + "name": "metadata", + "type": "All APIs.Abandoned Checkouts._wix_common_PagingMetadataV2", + "doc": " Details on the paged set of results returned.\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_RedirectToCheckoutRequest", + "displayName": "Redirect To Checkout Request Object", + "locations": [], + "docs": { + "summary": "", + "links": [], + "examples": [] + }, + "members": [ + { + "name": "abandonedCheckoutId", + "type": "string", + "doc": " abandoned checkout id\n" + }, + { + "name": "metasiteId", + "type": "string", + "doc": " Identifier of the metaSite this checkout uses\n" + } + ], + "enum": null, + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_VatType", + "displayName": "Vat Type Object", + "locations": [], + "docs": { + "summary": " tax info types\n \n Possible values are:
  • UNSPECIFIED <\/code><\/li>
  • CPF - CPF - for individual tax payers.\n <\/code><\/li>
  • CNPJ - CNPJ - for corporations\n <\/code><\/li>", + "links": [], + "examples": [] + }, + "members": [], + "enum": [ + "UNSPECIFIED", + "CPF", + "CNPJ" + ], + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout_Activity_ActivityType", + "displayName": "Activity Type Object", + "locations": [], + "docs": { + "summary": " \n Possible values are:
  • UNKNOWN_TYPE <\/code><\/li>
  • SCHEDULED <\/code><\/li>
  • EMAIL_SENT <\/code><\/li>
  • EMAIL_NOT_SENT <\/code><\/li>
  • NOTIFICATION_SENT <\/code><\/li>
  • TASK_CREATED <\/code><\/li>", + "links": [], + "examples": [] + }, + "members": [], + "enum": [ + "UNKNOWN_TYPE", + "SCHEDULED", + "EMAIL_SENT", + "EMAIL_NOT_SENT", + "NOTIFICATION_SENT", + "TASK_CREATED" + ], + "extra": {}, + "labels": [] + }, + { + "name": "_wix_ecom_abandoned_checkout_api_v1_AbandonedCheckout_Status", + "displayName": "Status Object", + "locations": [], + "docs": { + "summary": " Status of the abandoned checkout.\n \n Possible values are:
  • ABANDONED <\/code><\/li>
  • RECOVERED <\/code><\/li>", + "links": [], + "examples": [] + }, + "members": [], + "enum": [ + "ABANDONED", + "RECOVERED" + ], + "extra": {}, + "labels": [] + }, + { + "name": "_wix_common_SortOrder", + "displayName": "Sort Order Object", + "locations": [], + "docs": { + "summary": " \n Possible values are:
  • ASC <\/code><\/li>
  • DESC <\/code><\/li>", + "links": [], + "examples": [] + }, + "members": [], + "enum": [ + "ASC", + "DESC" + ], + "extra": {}, + "labels": [] + }, + { + "name": "_wix_cart_abandonment_api_v1_Identity", + "displayName": "Identity Object", + "locations": [], + "docs": { + "summary": " \n Possible values are:
  • ADMIN - Customer is the site owner\n <\/code><\/li>
  • MEMBER - Customer is logged in\n <\/code><\/li>
  • VISITOR - Customer is not logged in\n <\/code><\/li>
  • CONTACT - Contact was created for the customer\n <\/code><\/li>", + "links": [], + "examples": [] + }, + "members": [], + "enum": [ + "ADMIN", + "MEMBER", + "VISITOR", + "CONTACT" + ], + "extra": {}, + "labels": [] + } + ], + "extra": {"artifactId": "com.wixpress.ecom.abandoned-checkout"} +} \ No newline at end of file diff --git a/all/all-apis/bookingsv2.service.json b/all/all-apis/bookingsv2.service.json index 0d317e78dbf..687411fe093 100644 --- a/all/all-apis/bookingsv2.service.json +++ b/all/all-apis/bookingsv2.service.json @@ -703,10 +703,27 @@ "docs": {"summary": " Triggered when a booking is created.\n"}, "topic": "domain_events_wix.bookings.v2.booking", "tag": "Bookings V2", - "permissions": [], + "permissions": [ { + "name": "Read Bookings - Including Participants", + "description": "Request permission to read the business's bookings info, and its bookings with staff member and participant data." + }], "customLabels": [{"id": "maturity-beta"}], "eventType": "wix.bookings.v2.booking_created", "extra": {"isDomainEvent": true} + }, + { + "type": "_com_wixpress_bookings_bookings_v2_BookingUpdatedDomainEvent", + "name": "Booking Updated Webhook", + "docs": {"summary": " Triggered when a booking is updated.\n"}, + "topic": "domain_events_wix.bookings.v2.booking", + "tag": "Bookings V2", + "permissions": [ { + "name": "Read Bookings - Including Participants", + "description": "Request permission to read the business's bookings info, and its bookings with staff member and participant data." + }], + "customLabels": [{"id": "maturity-beta"}], + "eventType": "wix.bookings.v2.booking_updated", + "extra": {"isDomainEvent": true} }, { "type": "_com_wixpress_bookings_bookings_v2_NumberOfParticipantsUpdatedDomainEvent", @@ -977,9 +994,9 @@ "examples": [] }, "members": [ { - "name": "currentEntityAsJson", + "name": "currentEntity", "type": "All APIs.bookingsv2._com_wixpress_bookings_bookings_v2_Booking", - "doc": "Event body as a stringified JSON" + "doc": "Event body" }], "enum": null, "extra": {}, @@ -1958,7 +1975,7 @@ "displayName": "namespaces Map Entry Object", "locations": [], "docs": { - "summary": "Set of key-value pairs. Data Extensions extended fields\nKey: Namespace\nValue: extended fields data in Struct format\n", + "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", "links": [], "examples": [] }, @@ -1983,7 +2000,7 @@ "members": [ { "name": "namespaces", "type": "All APIs.bookingsv2.namespacesMapEntry", - "doc": "Set of key-value pairs. Data Extensions extended fields\nKey: Namespace\nValue: extended fields data in Struct format\n" + "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" }], "enum": null, "extra": {}, @@ -2117,7 +2134,7 @@ { "name": "extendedFields", "type": "All APIs.bookingsv2._wix_common_data_dataextensions_ExtendedFields", - "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" + "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" }, { "name": "doubleBooked", diff --git a/all/all-apis/contacts.service.json b/all/all-apis/contacts.service.json index 97b6cbee624..f447d79d7a1 100644 --- a/all/all-apis/contacts.service.json +++ b/all/all-apis/contacts.service.json @@ -119,7 +119,7 @@ }, "locations": [], "docs": { - "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", + "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", "description": [], "request": "POST", "url": "https://www.wixapis.com/contacts/v4/bulk/contacts/delete", @@ -198,7 +198,7 @@ }, "locations": [], "docs": { - "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", + "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", "description": [], "request": "POST", "url": "https://www.wixapis.com/contacts/v4/bulk/contacts/add-remove-labels", @@ -931,7 +931,7 @@ "rpcRequestName": "MergeContactsRequest", "rpcResponseName": "MergeContactsResponse" }, - "customLabels": [{"id": "maturity-beta"}] + "customLabels": [] }, { "name": "Preview Merge Contacts", @@ -994,7 +994,7 @@ "rpcRequestName": "PreviewMergeContactsRequest", "rpcResponseName": "PreviewMergeContactsResponse" }, - "customLabels": [{"id": "maturity-beta"}] + "customLabels": [] }, { "name": "Query Contacts", @@ -1034,7 +1034,7 @@ }, "locations": [], "docs": { - "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", + "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", "description": [], "request": "POST", "url": "https://www.wixapis.com/contacts/v4/contacts/query", @@ -1248,15 +1248,6 @@ "type": "All APIs.Contacts._com_wixpress_contacts_core_api_v4_ContactInfo", "doc": " Contact info.\n", "required": true - }, - { - "in": "BODY", - "name": "fieldMask", - "type": "All APIs.Contacts._google_protobuf_FieldMask", - "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", - "required": false, - "fieldMask": "RPC", - "deprecated": true } ], "ret": { @@ -1339,7 +1330,7 @@ "name": "Read Contacts", "description": "Request permission to read the site's contact info. " }], - "customLabels": [{"id": "maturity-beta"}], + "customLabels": [], "eventType": "wix.contacts.v4.contact_merged", "extra": {"isDomainEvent": true} }, @@ -4265,13 +4256,6 @@ "name": "info", "type": "All APIs.Contacts._com_wixpress_contacts_core_api_v4_ContactInfo", "doc": " Contact info.\n" - }, - { - "name": "fieldMask", - "type": "All APIs.Contacts._google_protobuf_FieldMask", - "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", - "fieldMask": "RPC", - "deprecated": true } ], "enum": null, diff --git a/all/guides/abandoned-checkouts/docs/intro.md b/all/guides/abandoned-checkouts/docs/intro.md new file mode 100644 index 00000000000..06928c00ff9 --- /dev/null +++ b/all/guides/abandoned-checkouts/docs/intro.md @@ -0,0 +1,24 @@ +SortOrder: 0 +# About the eCommerce Abandoned Checkouts API + +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). + +An abandoned checkout holds buyer details, price, reference to the initial checkout, a checkout URL, and more. + +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). + +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). + +## Terminology + ++ **Recovered**: When a customer returns to their abandoned checkout and completes the checkout. + ++ **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: + + Updates the `activities` field to `SCHEDULED` when the abandoned checkout is created. + + Updates the `activities` field to `NOTIFICATION_SENT` after an hour, when the notification is sent to the site visitor. + + + Other `actvities` include: + + `EMAIL_SENT` + + `EMAIL_NOT_SENT` + + `TASK_CREATED` diff --git a/all/guides/abandoned-checkouts/docs/sample-flows.md b/all/guides/abandoned-checkouts/docs/sample-flows.md new file mode 100644 index 00000000000..f06950dcdac --- /dev/null +++ b/all/guides/abandoned-checkouts/docs/sample-flows.md @@ -0,0 +1,19 @@ +SortOrder: 1 +# Abandoned Checkouts: Sample Use Case & Flow + +This article shares some possible use cases your app could support, as well as an example flow that could support each +use case. You're certainly not limited to these use cases, but they can be a helpful jumping off point as you plan your +app's implementation. + +## Redirect a site visitor with an abandoned checkout back to their checkout page + +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. + +To redirect the site visitor to their checkout page: + +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). + +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. + +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. + diff --git a/all/guides/abandoned-checkouts/docs/sort-and-filter.md b/all/guides/abandoned-checkouts/docs/sort-and-filter.md new file mode 100644 index 00000000000..5d328783ad1 --- /dev/null +++ b/all/guides/abandoned-checkouts/docs/sort-and-filter.md @@ -0,0 +1,14 @@ +SortOrder: 2 +# Abandoned Checkouts: Supported Filters and Sorting + +The table below shows field support for filters and sorting for the base set of abandoned checkout properties. + +| Field | Supported Filters | Sortable | +| ---------------------------- | --------------------------------------------- | -------- | +| `id` | `$eq`, `$ne`, `$in`, `$exists` | | +| `createdDate` | `$eq`, `$ne`, `$gt`, `$lt`, `$gte`, `$lte` | Sortable | +| `updatedDate` | `$eq`, `$ne`, `$gt`, `$lt`, `$gte`, `$lte` | Sortable | +| `status` | `$eq` | Sortable | +| `buyerInfo.email` | `$eq` | | +| `totalPrice.amount` | `$eq`, `$gt`, `$lt`, `$gte`, `$lte` | Sortable | +| `totalPrice.convertedAmount` | `$eq`, `$gt`, `$lt`, `$gte`, `$lte` | Sortable | \ No newline at end of file diff --git a/all/guides/contacts/docs/documentation.yaml b/all/guides/contacts/docs/documentation.yaml deleted file mode 100644 index a23a2860d05..00000000000 --- a/all/guides/contacts/docs/documentation.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiDoc: - title: Contacts Public Docs - description: public contacts docs - markdownOnlyAutoUpdate: true - - docs: - - file: ./bulk-jobs.md - title: Bulk Jobs - - file: ./dev_dependencies_internal.md - title: Dev Dependencies Internal - - file: ./domain-events-internal.md - title: Domain Events Internal - - file: ./example-flows.md - title: Example Flows - - file: ./intro.md - title: Introduction diff --git a/guides/ReleaseNotes.md b/guides/ReleaseNotes.md index 03643df3d6d..f24dff3aace 100644 --- a/guides/ReleaseNotes.md +++ b/guides/ReleaseNotes.md @@ -1,5 +1,21 @@ # Release Notes +## New Release: Wix eCommerce [Abandoned Checkouts API](wix-ecommerce/abandoned-checkouts) + +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. + +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). + +The Abandoned Checkouts API provides the following functionalities: + ++ [Get](wix-ecommerce/abandoned-checkouts/get-abandoned-checkout) an abandoned checkout. ++ [Query](wix-ecommerce/abandoned-checkouts/query-abandoned-checkouts) abandoned checkouts. ++ An event when an abandoned checkout is [created](wix-ecommerce/abandoned-checkouts/abandoned-checkout-created-webhook). ++ An event when an abandoned checkout is [recovered](wix-ecommerce/abandoned-checkouts/abandoned-checkout-recovered-webhook). + + +(June 6, 2023) + ## New Webhooks: [Wix Bookings V2](wix-bookings/bookings-v2)