Apps in Wix work together by sharing information about site visitor activity. An activity is a visitor’s interaction with the site, such as filling out a contact form, making a purchase, or sharing a page from the site on social media.
You’ll use the WixHive to request information that’s useful for your app, and also post information that your app collects.
Activities are tracked by a visitor’s email, phone, or cookie. If a site visitor is a contact, you will be able to link between the contact and its activities.
Read more about the different activity types and their schemas below.
When you register your app in the dev center, you can sign up to receive or post Activities about different events that happens within the website, according to your product needs.
When posting an Activity to Wix, make sure the data conforms to the specific schema for that type of Activity, so that other apps know what to expect when receiving it. Each type of Activity has its own schema, represented in JSON schema format.
Activities are connected to a session, which is a cookie stored in the site visitor’s browser. This means that when you (or another app) post Activities from the same browser session, they are all linked to the same site visitor. If the site visitor is a Contact, all Activities connected to this session are linked to the Contact, even Activities posted before the Contact was created.
Use the Wix.Activities.postActivity SDK method.
You can see the full list of parameters in the method documentation, but here’s a quick look at the most important parameters:
What happens in your app when you post the activity
Once you post the activity, you’ll receive the Activity ID immediately. If you used the contactUpdate object, we’ll check if the contact exists for this browser session:
What happens in the site’s dashboard when you post an activity
You can use the points below as a quick check to make sure you implemented the WixHive correctly.
If you provided the site visitor’s email/phone number when you posted the activity, we’ll link the activity to a contact and show the new information to users. Here’s what users will see in the site’s dashboard – and what you should see when testing the WixHive in your app:
Note: If you think it’s important for us to notify users about an activity posted by your app, let us know!
A new message in the Wix Engage app: Users can see important activities that happened in their site – whether it’s done by an existing contact or an anonymous site visitor. (You can see the full list of important activities, above.)
New information about site visitors: When users go to the contact’s page, they can see the activity you posted, as well as any new information you sent about the contact. If the site visitor is a new contact, users will see the new contact in the contacts section of the dashboard.
(You’ll add this information in the contactUpdate parameter in the postActivity method.)
Note: Activities that are not linked to a Contact will not be visible to users.
When you register your app, you can sign up to receive immediate notification when an Activity occurs. These events will be delivered to your app via webhooks and will include the Activity ID. To get the Activity data use the HTTP API or the JavaScript SDK with the relevant Activity ID.
There will be times when your app needs to get a list of Activities that have already occurred on a site. In such cases, you can request these Activities through our JavaScript SDK or through our HTTP API, as shown below.
You can use parameters to filter your search:
NODEJS
RUBY
The activities listed below can be posted by your application to report about events that occurred within your app.
Use the following activities for form events in your app:
You’ll add the site visitor’s details (name, email, etc) in the contactUpdate object, and not in the form activity itself (see more information on posting an activity). So there’s no need to post form fields that ask for these details.
Name | Type | Description |
---|---|---|
subject | Array[object] | Subject the site visitor entered in the contact form |
content (required) | Object | Content the site visitor entered in the contact form |
content.message | String | Message text |
content.media | Array | Media (for example, images the site visitor uploaded to the message) |
additionalFields | Array[object] | More details submitted in the form |
additionalFields.name | String | Key name |
additionalFields.value | String | Key value |
Get the Contact-Form Activity JSON.
Example:
Name | Type | Description |
---|---|---|
additionalFields | Array[object] | More details submitted in the form |
additionalFields.name | String | Key name |
additionalFields.value | String | Key value |
Get the Subscription-Form Activity JSON.
Example:
Name | Type | Description |
---|---|---|
type | "CUSTOMER_SATISFACTION", "SURVEY", "EVENT_REGISTRATION", "ORDER", "DONATION", "QUIZ", "OTHER" | Type of form submitted: * CUSTOMER_SATISFACTION: Form to give feedback. * SURVEY: Form for a general survey. * EVENT_REGISTRATION: Form to register for an event. * ORDER: Form to place an order. * DONATION: Form to make a donation. * QUIZ: Form to answer general questions. * OTHER: Any other type of form that's not listed here. |
fields | Array[object] | Fields in the form |
name | String | Key name |
value | String | Key value |
Example:
Get the Form activity JSON.
Use the following activities for scheduling events that occur in your app:
Property | Type | Description |
---|---|---|
appointmentId (recommended) | String | The unique identifier of a scheduled appointment |
source (required) | "GUEST" or "STAFF" | Indicates who booked/confirmed the appointment |
title (required) | String | Appointment's title |
description (required) | String | Appointment's description |
infoLink | String | URL for more details about the appointment |
price | Object | Appointment’s price |
price.price (required) | Number | Price amount |
price.formattedPrice | String | Price format (i.e, €0,99 or $0.99) |
price.currency (required) | String | Currency code (i.e, EUR, USD, CAD) |
location | Object | Appointment's location |
location.address | String | Address |
location.city | String | City |
location.region | String | Region |
location.postalCode | String | Postal Code |
location.country | String | Country |
location.url | String | Location URL |
time | Object | Appointment’s scheduled time |
time.start (required) | DateTime | Scheduled start time |
time.end (required) | DateTime | Scheduled end time |
time.end (required) | String | Scheduled time zone |
attendees | Array[object] | Appointment's attendees |
attendees.contactId | String | Attendee's contact ID |
attendees.name | Object | Attendee's name |
attendees.name.prefix | String | Name prefix |
attendees.name.first | String | First name |
attendees.name.middle | String | Middle name |
attendees.name.last | String | Last name |
attendees.name.suffix | String | Name suffix |
attendees.phone | String | Attendee's phone |
attendees.email | String | Attendee's email |
attendees.notes | String | Attendee's notes (like allergies or other restrictions) |
attendees.self | Boolean | True if the Wix user who scheduled the appointment will attend |
Get the Appointment Activity and the Confirmation Activity JSONs.
APPOINTMENT
CONFIRMATION
Property | Type | Description |
---|---|---|
appointmentId (recommended) | String | The unique identifier of a scheduled appointment |
source (required) | "GUEST" or "STAFF" | Indicates who cancelled the appointment |
cancelDate (required) | DateTime | Reservation cancel date |
refund (required) | Object | Refund details |
refund.kind (required) | "FULL", "PARTIAL", or "NONE" | Type of refund |
refund.total (required) | Number | Total amount to refund |
refund.currency (required) | String | Refund currency code (i.e, EUR, USD, CAD) |
refund.notes | String | Notes about this refund |
refund.destination (required) | String | Refund's destination (credit card, cash, etc) |
title (required) | String | Appointment's title |
description (required) | String | Appointment's description |
infoLink | String | URL for more details about the appointment |
price | Object | Appointment’s price |
price.price (required) | Number | Price amount |
price.formattedPrice | String | Price format (i.e, €0,99 or $0.99) |
price.currency (required) | String | Currency code (i.e, EUR, USD, CAD) |
location | Object | Appointment's location |
location.address | String | Address |
location.city | String | City |
location.region | String | Region |
location.postalCode | String | Postal Code |
location.country | String | Country |
location.url | String | Location URL |
time | Object | Appointment’s scheduled time |
time.start (required) | DateTime | Scheduled start time |
time.end (required) | DateTime | Scheduled end time |
time.timeZone (required) | String | Scheduled time zone |
attendees | Array[object] | Appointment's attendees |
attendees.contactId | String | Attendee's contact ID |
attendees.name | Object | Attendee's name |
attendees.name.prefix | String | Name prefix |
attendees.name.first | String | First name |
attendees.name.middle | String | Middle name |
attendees.name.last | String | Last name |
attendees.name.suffix | String | Name suffix |
attendees.phone | String | Attendee's phone |
attendees.email | String | Attendee's email |
attendees.notes | String | Attendee's notes (like allergies or other restrictions) |
attendees.self | Boolean | True if the Wix user who scheduled the appointment will attend |
Get the Cancel Appointment Activity JSON.
Example
Use the following activities to track social actions that occur in your app – for example, when a site visitor comments on the site, likes an Instagram photo, or posts a comment through Facebook:
Property | Type | Description |
---|---|---|
text (required) | String | Comment text |
channel (required) | "SITE", "FACEBOOK", "TWITTER", "LINKEDIN", "GOOGLE_PLUS", "PINTEREST", "INSTAGRAM", "TUMBLR", "BLOGGER", "WORDPRESS", or "OTHER" | Where the comment was posted. SITE refers to the Wix site |
metadata | Array[object] | Additional information about the comment |
metadata.name (required) | String | Metadata property name |
metadata.value (required) | String | Metadata value |
commenter | Object | Details about the site visitor who made the comment |
commenter.openId | Object | How the site visitor was authenticated. Read more about openId. |
commenter.openId.channel (required) | "FACEBOOK", "TWITTER", "LINKEDIN", "GOOGLE_PLUS", "PINTEREST", "INSTAGRAM", "TUMBLR", "BLOGGER", "WORDPRESS", or "OTHER" | Account used to authenticate the site visitor |
commenter.name | Object | Site visitor's name |
commenter.name.prefix | String | Name prefix |
commenter.name.first | String | First name |
commenter.name.middle | String | Middle name |
commenter.name.last | String | Last name |
commenter.name.suffix | String | Name suffix |
commenter.email | String | Site visitor's email |
Get the Comment Activity JSON.
Example:
Property | Type | Description |
---|---|---|
channel (required) | "FACEBOOK", "TWITTER", "LINKEDIN", "GOOGLE_PLUS", "PINTEREST", "INSTAGRAM", "TUMBLR", "BLOGGER", "WORDPRESS", "SITE" or "OTHER" | Where the link was shared |
itemInfo (required) | Object | Details about the item or page the site visitor tracked |
itemInfo.itemUrl (required) | String | URL of the social media item |
itemInfo.ItemThumbnail | String | ImageId of the item's thumbnail image |
itemInfo.ItemId (required) | String | ID of this item |
itemInfo.ItemType (required) | "IMAGE", "VIDEO", "TEXT", "SITE", "ALBUM", or "PAGE" | Type of social media item |
Property | Type | Description |
---|---|---|
type (required) | "LIKE", "FOLLOW", "SUBSCRIBE", "PIN_IT", "FAVORITE", "LOVE", "STAR", "OTHER" | Social media action taken by the site visitor |
channel (required) | "FACEBOOK", "TWITTER", "LINKEDIN", "GOOGLE_PLUS", "PINTEREST", "INSTAGRAM", "TUMBLR", "BLOGGER", "WORDPRESS", "SITE" or "OTHER" | Social media channel that contains the item the site visitor tracked |
itemInfo (required) | Object | Details about the item or page the site visitor tracked |
itemInfo.itemUrl (required) | String | URL of the social media item |
itemInfo.ItemThumbnail | String | ImageId of the item's thumbnail image |
itemInfo.ItemId (required) | String | ID of this item |
itemInfo.ItemType (required) | "IMAGE", "VIDEO", "TEXT", "SITE", "ALBUM", or "PAGE" | Type of social media item |
Use the following activities for hospitality events in your app:
Property | Type | Description |
---|---|---|
reservationId | String | Reservation ID |
guests (required) | Object | Guests details |
guests.total (required) | Number | Number of guests |
guests.adults (required) | Number | Number of adult guests |
guests.children (required) | Number | Number of child guests |
stay (required) | Object | Stay dates |
stay.checkin (required) | DateTime | Checkin date |
stay.checkout (required) | DateTime | Checkout date |
rates (required) | Array[object] | Rate details |
rates.date (required) | DateTime | Rate date |
rates.subtotal (required) | Number | Subtotal amount (without taxes) |
rates.taxes (required) | Array[object] | Tax details |
rates.taxes.name (required) | String | Tax name (occupancy tax, resort fee, etc) |
rates.taxes.total (required) | Number | Tax total amount |
rates.taxes.currency (required) | String | Tax currency code (i.e, EUR, USD, CAD) |
rates.total (required) | Number | Total amount |
rates.currency (required) | String | Rate currency code (i.e, EUR, USD, CAD) |
payment (required) | Object | Payment details |
payment.subtotal (required) | Number | Payment subtotal |
payment.total (required) | Number | Payment total |
payment.currency (required) | String | Payment currency code (i.e, EUR, USD, CAD) |
payment.source (required) | String | Payment method (cash, credit, paypal, etc) |
customer | Object | Customer details |
customer.contactId | String | Customer’s contact ID |
customer.isGuest | Boolean | true if the customer a returning guest |
customer.name | Object | Customer's name |
customer.name.prefix | String | Name prefix |
customer.name.first | String | First name |
customer.name.middle | String | Middle name |
customer.name.last | String | Last name |
customer.name.suffix | String | Name suffix |
customer.phone | String | Customer's phone number |
customer.email | String | Customer's email |
rooms (required) | Array[object] | Room details |
rooms.id | String | Room ID |
rooms.beds (required) | Array[object] | Room's bed list |
kind (required) | String | Type of bed |
kind.maxOccupancy (required) | Number | Room's occupancy number |
kind.amenities (required) | Array[string] | List of amenities reserved |
Get the Purchase Activity JSON.
Example:
Purchase-failed
Property | Type | Description |
---|---|---|
reservationId | String | Reservation ID |
guests (required) | Object | Guests details |
guests.total (required) | Number | Number of guests |
guests.adults (required) | Number | Number of adult guests |
guests.children (required) | Number | Number of child guests |
stay (required) | Object | Stay dates |
stay.checkin (required) | DateTime | Checkin date |
stay.checkout (required) | DateTime | Checkout date |
rates (required) | Array[object] | Rate details |
rates.date (required) | DateTime | Rate date |
rates.subtotal (required) | Number | Subtotal amount (without taxes) |
rates.taxes (required) | Array[object] | Tax details |
rates.taxes.name (required) | String | Tax name (occupancy tax, resort fee, etc) |
rates.taxes.total (required) | Number | Tax total amount |
rates.taxes.currency (required) | String | Tax currency code (i.e, EUR, USD, CAD) |
rates.total (required) | Number | Total amount |
rates.currency (required) | String | Rate currency code (i.e, EUR, USD, CAD) |
payment (required) | Object | Payment details |
payment.subtotal (required) | Number | Payment subtotal |
payment.total (required) | Number | Payment total |
payment.currency (required) | String | Payment currency code (i.e, EUR, USD, CAD) |
payment.source (required) | String | Payment method (cash, credit, paypal, etc) |
payment.error | Object | Details for payment error |
payment.error.errorCode | Number | Error code |
payment.error.reason | String | Reason why the payment failed |
customer | Object | Customer details |
customer.contactId | String | Customer’s contact ID |
customer.isGuest | Boolean | true if the customer a returning guest |
customer.name | Object | Customer's name |
customer.name.prefix | String | Name prefix |
customer.name.first | String | First name |
customer.name.middle | String | Middle name |
customer.name.last | String | Last name |
customer.name.suffix | String | Name suffix |
customer.phone | String | Customer's phone number |
customer.email | String | Customer's email |
rooms (required) | Array[object] | Room details |
rooms.id | String | Room ID |
rooms.beds (required) | Array[object] | Room's bed list |
kind (required) | String | Type of bed |
kind.maxOccupancy (required) | Number | Room's occupancy number |
kind.amenities (required) | Array[string] | List of amenities reserved |
Get the Purchased-Failed Activity JSON.
Example:
Property | Type | Description |
---|---|---|
source (required) | "GUEST" or "STAFF" | Indicates who confirmed/reserved the room. |
reservationId | String | Reservation ID |
guests (required) | Object | Guests details |
guests.total (required) | Number | Number of guests |
guests.adults (required) | Number | Number of adult guests |
guests.children (required) | Number | Number of child guests |
stay (required) | Object | Stay dates |
stay.checkin (required) | DateTime | Checkin date |
stay.checkout (required) | DateTime | Checkout date |
rates (required) | Array[object] | Rate details |
rates.date (required) | DateTime | Rate date |
rates.subtotal (required) | Number | Subtotal amount (without taxes) |
rates.taxes (required) | Array[object] | Tax details |
rates.taxes.name (required) | String | Tax name (occupancy tax, resort fee, etc) |
rates.taxes.total (required) | Number | Tax total amount |
rates.taxes.currency (required) | String | Tax currency code (i.e, EUR, USD, CAD) |
rates.total (required) | Number | Total amount |
rates.currency (required) | String | Rate currency code (i.e, EUR, USD, CAD) |
invoice (required) | Object | Reservation invoice details |
invoice.subtotal (required) | Number | Invoice subtotal |
invoice.total (required) | Number | Invoice total |
invoice.currency (required) | String | Invoice currency code (i.e, EUR, USD, CAD) |
customer | Object | Customer details |
customer.contactId | String | Customer’s contact ID |
customer.isGuest | Boolean | true if the customer a returning guest |
customer.name | Object | Customer's name |
customer.name.prefix | String | Name prefix |
customer.name.first | String | First name |
customer.name.middle | String | Middle name |
customer.name.last | String | Last name |
customer.name.suffix | String | Name suffix |
customer.phone | String | Customer's phone number |
customer.email | String | Customer's email |
rooms (required) | Array[object] | Room details |
rooms.id | String | Room ID |
rooms.beds (required) | Array[object] | Room's bed list |
kind (required) | String | Type of bed |
kind.maxOccupancy (required) | Number | Room's occupancy number |
kind.amenities (required) | Array[string] | List of amenities reserved |
Get the Confirmation and the Reservation Activity JSON.
RESERVATION
CONFIRMATION
Property | Type | Description |
---|---|---|
cancelDate (required) | DateTime | Reservation cancel date |
refund (required) | Object | Refund details |
refund.kind (required) | "FULL", "PARTIAL", or "NONE" | Type of refund |
refund.total (required) | Number | Total amount to refund |
refund.currency (required) | String | Refund currency code (i.e, EUR, USD, CAD) |
refund.notes | String | Notes about this refund |
refund.destination (required) | String | Refund's destination (credit card, cash, etc) |
reservationId | String | Reservation ID |
guests (required) | Object | Guests details |
guests.total (required) | Number | Number of guests |
guests.adults (required) | Number | Number of adult guests |
guests.children (required) | Number | Number of child guests |
stay (required) | Object | Stay dates |
stay.checkin (required) | DateTime | Checkin date |
stay.checkout (required) | DateTime | Checkout date |
rates (required) | Array[object] | Rate details |
rates.date (required) | DateTime | Rate date |
rates.subtotal (required) | Number | Subtotal amount (without taxes) |
rates.taxes (required) | Array[object] | Tax details |
rates.taxes.name (required) | String | Tax name (occupancy tax, resort fee, etc) |
rates.taxes.total (required) | Number | Tax total amount |
rates.taxes.currency (required) | String | Tax currency code (i.e, EUR, USD, CAD) |
rates.total (required) | Number | Total amount |
rates.currency (required) | String | Rate currency code (i.e, EUR, USD, CAD) |
invoice (required) | Object | Reservation invoice details |
invoice.subtotal (required) | Number | Invoice subtotal |
invoice.total (required) | Number | Invoice total |
invoice.currency (required) | String | Invoice currency code (i.e, EUR, USD, CAD) |
customer | Object | Customer details |
customer.contactId | String | Customer’s contact ID |
customer.isGuest | Boolean | true if the customer a returning guest |
customer.name | Object | Customer's name |
customer.name.prefix | String | Name prefix |
customer.name.first | String | First name |
customer.name.middle | String | Middle name |
customer.name.last | String | Last name |
customer.name.suffix | String | Name suffix |
customer.phone | String | Customer's phone number |
customer.email | String | Customer's email |
rooms (required) | Array[object] | Room details |
rooms.id | String | Room ID |
rooms.beds (required) | Array[object] | Room's bed list |
kind (required) | String | Type of bed |
kind.maxOccupancy (required) | Number | Room's occupancy number |
kind.amenities (required) | Array[string] | List of amenities reserved |
Get the Cancel Activity JSON.
Example:
Use the following activities for music events in your app:
Property | Type | Description |
---|---|---|
track (required) | Object | Track details |
track.name (required) | String | Track name |
track.id | String | Track ID |
album (required) | Object | Album details |
album.name (required) | String | Album name |
album.id | String | Album ID |
artist | Object | Artist details |
artist.name (required) | String | Artist name |
artist.id | String | Artist ID |
Get the Track-Play, Track-Skip, Track-Played, and Track-Lyrics Activity JSON.
TRACK-PLAY
TRACK-SKIP
TRACK-PLAYED
TRACK-LYRICS
Property | Type | Description |
---|---|---|
track (required) | Object | Track details |
track.name (required) | String | Track name |
track.id | String | Track ID |
album (required) | Object | Album details |
album.name (required) | String | Album name |
album.id | String | Album ID |
artist | Object | Artist details |
artist.name (required) | String | Artist name |
artist.id | String | Artist ID |
sharedTo (required) | "FACEBOOK", "GOOGLE_PLUS", "TWITTER", "BLOGGER", or "TUMBLR" | Where item was shared |
Get the Track-Share Activity JSON.
Example:
Property | Type | Description |
---|---|---|
album (required) | Object | Album details |
album.name (required) | String | Album name |
album.id | String | Album ID |
artist | Object | Artist details |
artist.name (required) | String | Artist name |
artist.id | String | Artist ID |
sharedTo (required) | "FACEBOOK", "GOOGLE_PLUS", "TWITTER", "BLOGGER", or "TUMBLR" | Where item was shared |
Get the Album-Share Activity JSON.
Example:
album (required) | Object | Album details |
album.name (required) | String | Album name |
album.id | String | Album ID |
artist | Object | Artist details |
artist.name (required) | String | Artist name |
artist.id | String | Artist ID |
Get the Album-Fan and the Album-Played Activity JSON.
ALBUM-FAN
ALBUM-PLAYED
Use the following activities for eCommerce events in your app:
Note: Does your app rely on getting eCommerce activities that happened in the site? Keep in mind that Wix’s eCommerce app, WixStores, currently posts only the purchase activity.
|Property|Type|Description|
|---|---|---|
|cartId (required)|String|Cart ID|
|storeId (required)|String|Store ID |
|storeName|String|Name of store|
|item (required)|Array[object]|Item added/removed from cart|
|item.id (required)|String|Item ID|
|item.type|"PHYSICAL" or "DIGITAL"|Item type|
|item.sku|String|Item SKU number|
|item.title (required)|String|Item's title|
|item.quantity (required)|Integer|Item's quantity|
|item**.price|Number|Item's price|
|item.formattedPrice|String|Price format (i.e, €0,99 or $0.99)|
|item.currency (required)|String|Currency code (i.e, EUR, USD, CAD)|
|item.productLink |String|Item's link|
|item.weight|Number|Item's weight|
|item.formattedWeight|String|Weight format|
|item.media|Object|Media details for this item (like a photo)|
|item.media.thumbnail|String|Link to the thumbnail |
|item.variants (required)|Array[object]|Item's variants (like a specific color or size)|
|item.variants.title (required)|String|Variant title|
|item.variants.value|String|Variant value|
|item.categories|Array[string]|Item's categories (such as shirt, summer sale, etc.)|
|item.metadata|Array[object]|Additional information about this item|
|item.metadata.name (required)|String|Metadata name|
|item.metadata.value (required)|String|Metadata value|
Get the Cart-add JSON and the Cart-remove JSON.
CART-ADD
CART-REMOVE
|Property |Type |Description|
|---|---|---|
|cartId (required)|String|Cart ID|
|storeId (required)|String|Store ID |
|storeName|String|Name of store|
|items (required)|Array[object]|Items in cart|
|items.id (required)|String|Item ID|
|items.type|"PHYSICAL" or "DIGITAL"|Item type|
|items.sku|String|Item SKU number|
|items.title (required)|String|Item's title|
|items.quantity (required)|Integer|Item's quantity|
|items**.price|Number|Item's price|
|items.formattedPrice|String|Price format (i.e, €0,99 or $0.99)|
|items.currency (required)|String|Currency code (i.e, EUR, USD, CAD)|
|items.productLink |String|Item's link|
|items.weight|Number|Item's weight|
|items.formattedWeight|String|Weight format|
|items.media|Object|Media details for this item (like a photo)|
|items.media.thumbnail|String|Link to the thumbnail |
|items.variants (required)|Array[object]|Item's variants (like a specific color or size)|
|items.variants.title (required)|String|Variant title|
|items.variants.value|String|Variant value|
|items.categories|Array[string]|Item's categories (such as shirt, summer sale, etc.)|
|items.metadata|Array[object]|Additional information about this item|
|items.metadata.name (required)|String|Metadata name|
|items.metadata.value (required)|String|Metadata value|
Get the Cart-abandon JSON and the Cart-checkout JSON.
CART-CHECKOUT
CART-ABANDON
|Property |Type |Description|
|---|---|---|
|cartId (required)|String|Cart ID|
|storeId (required)|String|Store ID|
|storeName|String|Name of store|
|orderId (recommended)|String|Order ID|
|items (required)|Array[object]|Purchased items|
|items.id (required)|String|Item ID|
|items.type|"PHYSICAL" or "DIGITAL"|Item type|
|items.sku|String|Item SKU number|
|items.title (required)|String|Item's title|
|items.quantity (required)|Integer|Item's quantity|
|items**.price|Number|Item's price|
|items.formattedPrice|String|Price format (i.e, €0,99 or $0.99)|
|items.currency (required)|String|Currency code (i.e, EUR, USD, CAD)|
|items.productLink |String|Item's link|
|items.weight|Number|Item's weight|
|items.formattedWeight|String|Weight format|
|items.media|Object|Media details for this item (like a photo)|
|items.media.thumbnail|String|Link to the thumbnail |
|items.variants (required)|Array[object]|Item's variants (like a specific color or size)|
|items.variants.title (required)|String|Variant title|
|items.variants.value|String|Variant value|
|items.categories|Array[string]|Item's categories (such as shirt, summer sale, etc.)|
|items.metadata|Array[object]|Additional information about this item|
|items.metadata.name (required)|String|Metadata name|
|items.metadata.value (required)|String|Metadata value|
|payment (required)|Object|Payment details|
|payment.total (required)|Number|Payment total|
|payment.subTotal (required)|Number|Payment subtotal|
|payment.formattedTotal|String|Formatted total|
|payment.formattedSubTotal|String|Formatted subtotal|
|payment.currency (required)|String|Currency code (i.e, EUR, USD, CAD)|
|payment.coupon|Object|Coupon details|
|payment.coupon.total (required)|Number|Amount the coupon deducted from the total price|
|payment.coupon.FormattedTotal|String|Formatted coupon total|
|payment.coupon.title (required)|String|Coupon title|
|payment.tax|Object|Payment's tax details|
|payment.tax.total (required)|Number|Tax total|
|payment.tax.formattedTotal|String|Formatted tax total|
|payment.shipping|Object|Shipping details|
|payment.shipping.total (required)|Number|Shipping total|
|payment.shipping.formattedTotal|String|Formatted shipping total|
|shippingAddress|Object|Shipping address details|
|shippingAddress.firstName|String|Recipient's first name|
|shippingAddress.lastName|String|Recipient's last name|
|shippingAddress.email|String|Recipient's email|
|shippingAddress.phone|String|Recipient's phone|
|shippingAddress.country|String|Recipient's country|
|shippingAddress.countryCode|String|Recipient's country code|
|shippingAddress.region|String|Recipient's region|
|shippingAddress.regionCode|String|Recipient's region code|
|shippingAddress.city|String|Recipient's city|
|shippingAddress.address1|String|Recipient's address|
|shippingAddress.address2|String|Recipient's address, part 2|
|shippingAddress.zip|String|Recipient's postal code|
|shippingAddress.company|String|Recipient's company|
|billingAddress|Object|Billing address details|
|billingAddress.firstName|String|Buyer's first name|
|billingAddress.lastName|String|Buyer's last name|
|billingAddress.email|String|Buyer's email|
|billingAddress.phone|String|Buyer's phone|
|billingAddress.country|String|Buyer's country|
|billingAddress.countryCode|String|Buyer's country code|
|billingAddress.region|String|Buyer's region|
|billingAddress.regionCode|String|Buyer's region code|
|billingAddress.city|String|Buyer's city|
|billingAddress.address1|String|Buyer's address|
|billingAddress.address2|String|Buyer's address, part 2|
|billingAddress.zip|String|Buyer's postal code|
|billingAddress.company|String|Buyer's company|
|paymentGateway|String|Payment gateway name|
|note|String|Notes about the purchase|
|buyerAcceptsMarketing|Boolean|True if the buyer opts to receive marketing emails from the vendor|
Get the Purchase Activity JSON.
Example
Use the following activity for chat and other messaging events in your app:
im
Property | Type | Description |
---|---|---|
type (required) | ‘chat’ or ‘sms’ | Type of message: * chat - message sent to /received from the user’s site. * sms - message sent to / received from the user’s mobile phone |
content (required) | Array[objects] | Information about the message |
content.direction (required) | ‘BUSINESS_TO_CUSTOMER’, ‘CUSTOMER_TO_BUSINESS’ | Message direction: * BUSINESS_TO_CUSTOMER - the Wix user sent an message to the site visitor/contact. * CUSTOMER_TO_BUSINESS - the Wix user received an message from a site visitor/contact |
content.time (required) | DateTime | Time the message was sent, as an ISO 8601 timestamp |
content.message (required) | String | Message text |
content.media (required) | Array[objects] | Information about any media files sent in the message |
content.media.name (required) | String | Name of the media file |
content.media.contentType (required) | String | Type of media file, i.e: image, video, document |
content.media.url (required) | String | URL of the media file |
threadId | String | A ID for the conversation, to identify all messages that are part of this thread |
metadata | Array[objects] | Additional information about the chat |
name (required) | String | Metadata property name |
value (required) | String | Metadata value |
Get the im activity JSON.
Example
Use the RSVP activity for RSVPs to events created by Wix users (like conferences, webinars, or parties).
RSVP
Property | Type | Description |
---|---|---|
eventId (required) | String | ID of the event |
eventTitle (required) | String | Name of the event |
eventDescription | String | Event description |
totalNumberAttendees | Number | How many guests will attend the event |
price | Object | Details about the event’s price |
price.price (required) | Number | Price |
price.currency (required) | String | Currency code (i.e, EUR, USD, CAD) |
price.formattedPrice | String | Price format (i.e, €0,99 or $0.99) |
location | Object | Location of the event |
location.name | String | Location name |
location.address (required) | String | Location address |
time | Object | The date & time of the event |
time.start (required) | Datetime | Scheduled start time |
time.end | Datetime | Scheduled end time |
time.timeZone (required) | String | Time zone |
Get the rsvp activity JSON.
Example