Growave API 2.0 lets you reward for virtually any action your customers perform while engaging with your brand and makes integrating our marketing apps as simple as possible which unlocks a new level of superpowers to help grow and promote your business. Learn more about our all-in-one marketing platform for Shopify brands at growave.io.
Growave API 2.0 is available starting from Plus plan.
Some examples of what you can do with Growave API 2.0:
- Retrieve customer's general information;
- Update customer's birthday;
- Retrieve ways to earn actions, ways to redeem rewards, vip tiers, active rewards, boost campaign and activity history data by locales;
- Trigger reward issuance for social earning actions and log any custom action performed by a customer in the system;
- Redeem rewards;
- Retrieve wishlists, reviews, instagram galleries;
- Create, modify, delete wishlists, reviews, questions and answers;
For Growave API 1.0, please refer to this documentation.
Our API uses a leaky bucket algorithm to manage request limits. The current capacity is 40 requests, with a leak rate of 2 requests per second. Please ensure your integration adheres to these limits. Exceeding the limit will result in delayed or throttled responses.
Authenticate by using the generated access bearer token in the request. To find your API credentials, navigate to Settings → API on the Growave Admin panel. You can use your access token after successfully completing the Growave OAuth2 flow. Your secret keys carry many privileges, so be sure to keep them a secret! Do not share your secret keys in publicly accessible areas such as GitHub, client-side code, and so forth. All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
Get access token
This endpoint facilitates the retrieval of an access token for your application or service via the OAuth2 protocol. It allows your application or service to authenticate and acquire a temporary access token to make API requests on behalf of the user or shop associated with the obtained token.
Request Body schema: application/jsonrequired
clientId required | string API key |
clientSecret required | string API Secret |
grantType required | string Value: "client_credentials" Grant type |
scope required | string Scopes separated by space. Available scopes:
|
shop | string Shop url. This param only for our partners |
Responses
Request samples
- Payload
{- "clientId": "02240545728ae43a9d9b05a3ceca0ff7",
- "clientSecret": "4d2db07688966960d97a7b3ea09efd37",
- "grantType": "client_credentials",
- "scope": "read_customer write_customer read_wishlist write_wishlist read_review write_review read_gallery read_reward write_reward",
}
Response samples
- 200
{- "accessToken": "YOUR_TOKEN",
- "tokenType": "Bearer",
- "expiresAt": { }
}
Get customer
Requires read_customer access scope
Retrieves the details of an existing customer from the system based on their Shopify customer ID, email address or phone number. It can be useful for fetching specific customer information for various operations or analysis within your application or service.query Parameters
customerIdentifier required | string Examples: customerIdentifier=test@mail.com customerIdentifier=5982611701926 customerIdentifier=+996706877477 Shopify customer ID, email address or phone number |
Responses
Response samples
- 200
{- "customerId": 5982611701926,
- "email": "test@mail.com",
- "phone": "+996111000111",
- "firstName": "string",
- "lastName": "string",
- "birthday": "25-03",
- "isRewardProgramAvailable": true,
- "pointsBalance": 99.99,
- "pointsExpiresAt": "2019-08-24T14:15:22Z",
- "isAllowedToEarnTier": true,
- "currentTier": {
- "id": 1,
- "title": "Gold",
- "achievedAt": "2019-08-24T14:15:22Z"
}, - "isReferralProgramAvailable": true,
- "referralLink": "string",
- "acceptsEmailMarketing": true,
- "acceptsSmsMarketing": false
}
Update birthday
Requires write_customer access scope
Updates customer's birthday in the system. It can be useful for keeping customer's information up to date and for personalized communication or marketing efforts based on birthdays.Request Body schema: application/jsonrequired
customerIdentifier required | string Shopify customer ID, email address or phone number |
day required | number Day of the month |
month required | number Month number. January = 1, December = 12 |
year | number Full numerical representation of the year |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "day": 12,
- "month": 22,
- "year": 1992
}
Update balance
Requires write_customer access scope
Updates customer's balance in the system.Request Body schema: application/jsonrequired
customerIdentifier required | string Shopify customer ID, email address or phone number |
balanceDelta required | number |
reason | string |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "balanceDelta": -120,
- "reason": "string"
}
Response samples
- 200
{- "currentBalance": 100
}
Get earning rules
Requires read_reward access scope
Retrieves a list of earning actions from the system as well as by locales. It can be useful for displaying earning actions to customers or for internal analysis and management of loyalty program.query Parameters
customerIdentifier | string Example: customerIdentifier=test@mail.com Shopify customer ID, email address or phone number |
locale | string Default: "en" Example: locale=en Locale for translations |
Responses
Response samples
- 200
{- "rules": [
- {
- "id": 345,
- "title": "string",
- "description": "string",
- "rewarding": {
- "type": "discount",
- "discountType": "percentage",
- "discountValue": 20,
- "expirationInDays": 0,
- "minimumOrderAmount": 0.1,
- "usageLimit": 0,
- "collectionIds": [
- 349873749,
- 495837457
], - "maxShippingPrice": 100,
- "countryCodes": [
- "string"
]
}, - "position": 1,
- "completed": true,
- "icon": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "type": "create_account"
}
]
}
Send event
Requires write_reward access scope
Tracks when a customer performs a custom action, which may trigger a reward issuance.
Request Body schema: application/jsonrequired
customerIdentifier required | string Shopify customer ID, email address or phone number |
ruleId required | number Earning rule ID |
ruleType required | string Value: "custom_action" Earning rule type |
locale | string Default: "en" Locale for translations |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "ruleId": 639,
- "ruleType": "custom_action",
- "locale": "en"
}
Get punch card progress
Requires read_reward access scope
Retrieves customer's punch card progress.query Parameters
customerIdentifier required | string Examples: customerIdentifier=test@mail.com customerIdentifier=5982611701926 customerIdentifier=+996706877477 Shopify customer ID, email address or phone number |
Responses
Response samples
- 200
{- "orderProgress": 0,
- "numberOfOrders": 0,
- "availableTimes": 0
}
Get spending rules
Requires read_reward access scope
Retrieves rewards available for redeem by the customer as well as by locales. The response provide with details on additional settings of the available rewards.query Parameters
customerIdentifier | string Example: customerIdentifier=test@mail.com Shopify customer ID, email address or phone number |
locale | string Example: locale=en Locale for translations |
Responses
Response samples
- 200
{- "rules": [
- {
- "id": 1,
- "title": "string",
- "type": "fixed_amount",
- "isFlexible": true,
- "discountValue": 80,
- "discountExpirationInDays": 0,
- "discountMinimumOrderAmount": 0,
- "pointsPrice": 200,
- "minSpendablePoints": 10,
- "maxSpendablePoints": 100
}
]
}
Redeem
Requires write_reward access scope
This endpoint allows you to redeem rewards on behalf of a customer. You need to provide the customer's Shopify ID or email address or phone number, the ID of the spending rule for which the reward is being redeemed, the number of points to spend (if applicable for flexible spending rules), and the selected variant ID (required for free product rules, ignored for other rules). This endpoint facilitates the actual redemption of rewards based on the specified spending rule and parameters provided.Request Body schema: application/jsonrequired
customerIdentifier required | string Shopify customer ID, email address or phone number |
ruleId required | integer Spending rule id |
selectedVariantId | integer Selected variant id. Required for free product rules, ignored for other rules. |
pointsToSpend | number <float> The number of points that will be spent on behalf of the customer. Only applies when redeeming variable discount, ignored for other rules. |
Responses
Request samples
- Payload
Redeem rewards excluding variable discounts and free product discount
{- "customerIdentifier": 5982611701926,
- "ruleId": 323
}
Get tiers
Requires read_reward access scope
Retrieves the list of available vip tiers in the system with detailed information by each tier.query Parameters
locale | string |
Responses
Response samples
- 200
{- "tiers": [
- {
- "id": 1,
- "title": "Bronze",
- "description": "Get the better points ratio and free gifts",
- "perks": "Get the tier perks",
- "pointsMultiplier": 2,
- "condition": "purchases_made",
- "conditionValue": 5000,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "tagsToAdd": [
- "string"
], - "rewarding": [
- {
- "type": "free_product",
- "discountValue": 80,
- "expirationInDays": 0,
- "minimumOrderAmount": 0.1,
- "productId": 340838503,
- "productTitle": "Mocassino in pelle doppia fibbia",
- "productHandle": "string",
- "productImage": "string",
- "variantId": 434534534,
- "variantTitle": "string",
- "variantImage": "string"
}
], - "isDefault": true
}
]
}
Get tiers progress
Requires read_reward access scope
Retrieves customers VIP tier statusquery Parameters
customerIdentifier required | string Examples: customerIdentifier=test@mail.com customerIdentifier=5982611701926 customerIdentifier=+996706877477 Shopify customer ID, email address or phone number |
locale | string Default: "en" Example: locale=en Locale for translations |
Responses
Response samples
- 200
{- "currentTier": {
- "id": 0,
- "title": "string",
- "condition": {
- "type": "spent_amount",
- "value": 0
}
}, - "nextTier": {
- "id": 0,
- "title": "string",
- "condition": {
- "type": "spent_amount",
- "value": 0
}
}, - "currentProgressValue": 0
}
Get active boost campaign
Requires read_reward access scope
This endpoint allows you to fetch the active boost campaign if there is one currently running. Upon a successful request (status code 200), the response will contain either an object representing the active boost campaign or null if no active campaign is found. The boost campaign object typically includes details such as campaign name, start and end dates, associated rewards or benefits, and any criteria or conditions for participation.Responses
Response samples
- 200
{- "boostCampaign": {
- "pointsMultiplier": 1.5,
- "startsAt": "2019-08-24T14:15:22Z",
- "endsAt": "2019-08-24T14:15:22Z"
}
}
Get customer active rewards
Requires read_reward access scope
Retrieves active rewards of the customer. It can be used to trigger nudges, notifications or any other operations or analysis within your application or service.query Parameters
customerIdentifier required | string Examples: customerIdentifier=test@mail.com customerIdentifier=5982611701926 customerIdentifier=+996706877477 Shopify customer ID, email address or phone number |
locale | string Example: locale=en Locale for translations |
Responses
Response samples
- 200
{- "rewards": [
- {
- "id": 0,
- "reward": {
- "type": "discount",
- "discountType": "percentage",
- "discountValue": 20,
- "discountCode": "15D5B43A130D",
- "minimumOrderAmount": 0.1,
- "collectionIds": [
- 349873749,
- 495837457
], - "startsAt": "2019-08-24T14:15:22Z",
- "endsAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "type": "reward",
}
]
}
Get activity history
Requires read_reward access scope
Retrieves the activity history of a specific customer. Pagination parameters 'page' and 'perPage' allow you to control the number of results per request and control navigating through large sets of activity data.query Parameters
customerIdentifier required | string Examples: customerIdentifier=test@mail.com customerIdentifier=5982611701926 customerIdentifier=+996706877477 Shopify customer ID, email address or phone number |
page | number >= 1 Default: 1 Example: page=1 Pagination index. Items per request depends on perPage parameter |
perPage | number [ 1 .. 250 ] Default: 50 Example: perPage=1 Amount of results per request |
orderId | number Order ID |
locale | string Example: locale=en Locale for translations |
Responses
Response samples
- 200
{- "totalCount": 1,
- "currentPage": 1,
- "perPage": 10,
- "activities": [
- {
- "id": 1,
- "reward": {
- "type": "discount",
- "discountType": "percentage",
- "discountValue": 20,
- "discountCode": "15D5B43A130D",
- "minimumOrderAmount": 0.1,
- "collectionIds": [
- 349873749,
- 495837457
], - "startsAt": "2019-08-24T14:15:22Z",
- "endsAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "note": "Admin changed",
- "createdAt": "2023-05-15 16:04:36",
- "type": "reward",
}
]
}
Get reviews
Requires read_review access scope
Retrieves reviews, and given query parameters serves good in filtering the response to your needs.Previously, this endpoint was known as getReviewList.
query Parameters
customerIdentifier | string Example: customerIdentifier=test@mail.com Shopify customer ID, email address or phone number |
reviewId | number Filter by review ID |
productId | number Filter by Shopify product ID |
onlyPublishedReviews | boolean Example: onlyPublishedReviews=true Filter reviews to include only published reviews |
onlyUnpublishedReviews | boolean Example: onlyUnpublishedReviews=true Filter reviews to include only unpublished reviews |
onlyShopReviews | boolean Example: onlyShopReviews=true Filter reviews to include only shop reviews |
onlyProductReviews | boolean Example: onlyProductReviews=true Filter reviews to include only product reviews |
onlyWithPhotos | boolean Example: onlyWithPhotos=true Filter reviews to include only those with photos |
onlyPinnedReviews | boolean Example: onlyPinnedReviews=true Filter reviews to include only pinned reviews |
rate | number Enum: 1 2 3 4 5 Filter reviews by rate |
search | string Example: search=Amazing product Search term to filter reviews by a review title, a review body, or a product title |
sortingOption | string Default: "mostRecent" Enum: "mostRelevant" "mostRecent" "mostHelpful" "highestRating" "lowestRating" "withPhotos" Sorting options for reviews |
perPage | number [ 1 .. 50 ] Default: 15 Example: perPage=5 Amount of results per request |
offset | number >= 0 Example: offset=5 Offset for pagination, indicating the starting index of the returned data |
Responses
Response samples
- 200
{- "totalCount": 1,
- "currentOffset": 0,
- "perPage": 5,
- "items": [
- {
- "id": 1,
- "title": "Great customer service and fast delivery!",
- "body": "The quality is fantastic, and the customer service was outstanding.",
- "rate": 1,
- "votes": 20,
- "isPublished": true,
- "isPinned": true,
- "isVerifiedBuyer": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "customer": {
- "shopifyCustomerId": 5982611701926,
- "email": "john_smith@mail.com",
- "phone": null
}, - "product": {
- "id": 123456789,
- "handle": "fun-kitchen-soup-tool"
}, - "reply": {
- "body": "Yes it is ...",
- "status": "public"
}
}
]
}
Get rating info
Requires read_review access scope
Retrieves information on products average ratings by product ID and total count of published reviews. It can be useful for analyzing and displaying product review data in a summarized format.query Parameters
productIds required | number [ 1 .. 50 ] items An array of unique Shopify product IDs. |
Responses
Response samples
- 200
[- {
- "productId": 123456789,
- "avgRate": 5,
- "totalCount": 50
}
]
Can create review
Requires read_review access scope
Checks if a customer or guest of the shop is eligible to create a review for a specific product.Previously, this endpoint was known as canLeaveReview.
query Parameters
customerIdentifier required | string Examples: customerIdentifier=test@mail.com customerIdentifier=5982611701926 customerIdentifier=+996706877477 Shopify customer ID, email address or phone number |
productId | number or null Example: productId=123456789 |
Responses
Response samples
- 200
{- "canCreateReview": false,
- "message": "Customer already reviewed this product."
}
Create review
Requires write_review access scope
Allows you to create a product or on site review as a customer or as a guest.Previously, this endpoint was known as leaveReview.
Request Body schema: required
customerIdentifier | string Shopify customer ID, email address or phone number |
productId required | number Shopify product ID |
rate required | number Enum: 1 2 3 4 5 Review score |
title | string or null Review title |
body required | string Review message |
guestName | string Guest name, This field is required if customerIdentifier is not provided. |
guestEmail | string Guest email. This field is required if customerIdentifier is not provided. |
imageUrls | Array of strings <uri> [ items <uri > <= 5 ] Image urls, Maximum can be set 5 images per review |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "productId": 123456789,
- "rate": 1,
- "title": "Great customer service and fast delivery!",
- "body": "The quality is fantastic, and the customer service was outstanding.",
- "guestName": "John Smith",
- "guestEmail": "john_smith@mail.com",
}
Response samples
- 200
{- "id": 1,
- "title": "Great customer service and fast delivery!",
- "body": "The quality is fantastic, and the customer service was outstanding.",
- "rate": 1,
- "votes": 20,
- "isPublished": true,
- "isPinned": true,
- "isVerifiedBuyer": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "customer": {
- "shopifyCustomerId": 5982611701926,
- "email": "john_smith@mail.com",
- "phone": null
}, - "product": {
- "id": 123456789,
- "handle": "fun-kitchen-soup-tool"
}, - "reply": {
- "body": "Yes it is ...",
- "status": "public"
}
}
Create reply
Requires write_review access scope
Allows you as a shop owner to add replies to product or on site reviews.Previously, this endpoint was known as addReply.
Request Body schema: application/jsonrequired
reviewId required | number Identifier of the review |
required | object Reply |
Responses
Request samples
- Payload
{- "reviewId": 1,
- "reply": {
- "body": "Thank you for your feedback ...",
- "status": "public"
}
}
Response samples
- 200
{- "reply": {
- "body": "Yes it is ...",
- "status": "public"
}
}
Create vote
Requires write_review access scope
Allows you to increment the vote of a review, typically used for liking or upvoting a review.Previously, this endpoint was known as vote.
Request Body schema: application/jsonrequired
customerIdentifier required | string Shopify customer ID, email address or phone number |
reviewId required | number Identifier of the review |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "reviewId": 12345
}
Response samples
- 200
{- "votes": 25
}
Delete vote
Requires write_review access scope
Allows you to decrement (cancel) the vote of a reviewwhich typically means undoing a previous like or upvote on the review.Previously, this endpoint was known as unvote.
Request Body schema: application/jsonrequired
customerIdentifier required | string Shopify customer ID, email address or phone number |
reviewId required | number Identifier of the review |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "reviewId": 12345
}
Response samples
- 200
{- "votes": 24
}
Get questions
Requires read_review access scope
Retrieves questions, and given query parameters serves good in filtering the response to your needs.Previously, this endpoint was known as getQuestionList.
query Parameters
customerIdentifier | string Example: customerIdentifier=test@mail.com Shopify customer ID, email address or phone number |
questionId | number Filter by question ID |
productId | number Filter by Shopify product ID |
onlyPublishedQuestions | boolean Example: onlyPublishedQuestions=true Filter reviews to include only published reviews |
onlyUnpublishedQuestions | boolean Example: onlyUnpublishedQuestions=true Filter reviews to include only unpublished reviews |
sortingOption | string Default: "idDesc" Enum: "idAsc" "idDesc" "dateAsc" "dateDesc" Sorting option |
perPage | number [ 1 .. 50 ] Default: 15 Example: perPage=5 Amount of results per request |
offset | number >= 0 Example: offset=5 Offset for pagination, indicating the starting index of the returned data |
Responses
Response samples
- 200
{- "totalCount": 1,
- "currentOffset": 0,
- "perPage": 5,
- "items": [
- {
- "id": 1,
- "body": "Do you have it in a black color?",
- "customer": {
- "shopifyCustomerId": 5982611701926,
- "email": "john_smith@mail.com",
- "phone": null
}, - "product": {
- "id": 123456789,
- "handle": "fun-kitchen-soup-tool"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "isPublished": true,
- "answers": [
- {
- "id": 1,
- "questionId": 1,
- "customer": null,
- "body": "Yes we have it in a red color as well",
- "createdAt": "2019-08-24T14:15:22Z",
- "isPublished": true
}
]
}
]
}
Create question
Requires write_review access scope
This endpoint allows you to create a question as a customer or as a guest on a product.Previously, this endpoint was known as leaveQuestion.
Request Body schema: application/jsonrequired
customerIdentifier | string Shopify customer ID, email address or phone number |
body required | string [ 1 .. 15000 ] characters Question message |
productId required | number Shopify product ID |
guestName | string Name of the question asker, This field is required if customerIdentifier is not provided. |
guestEmail | string Email of the question asker. This field is required if customerIdentifier is not provided. |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "body": "Do you have it in a black color?",
- "productId": 123456789,
- "guestName": "John Smith",
- "guestEmail": "john_smith@mail.com"
}
Response samples
- 200
{- "id": 1,
- "body": "Do you have it in a black color?",
- "customer": {
- "shopifyCustomerId": 5982611701926,
- "email": "john_smith@mail.com",
- "phone": null
}, - "product": {
- "id": 123456789,
- "handle": "fun-kitchen-soup-tool"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "isPublished": true,
- "answers": [
- {
- "id": 1,
- "questionId": 1,
- "customer": null,
- "body": "Yes we have it in a red color as well",
- "createdAt": "2019-08-24T14:15:22Z",
- "isPublished": true
}
]
}
Create answer
Requires write_review access scope
Allows you as a shop owner or as a customer to answer to the question.Previously, this endpoint was known as leaveAnswer.
Request Body schema: application/jsonrequired
customerIdentifier | string Shopify customer ID, email address or phone number |
questionId required | number Identifier of the question |
required | object Answer |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "questionId": 1,
- "answer": {
- "body": "It is sample answer",
- "isPublished": true
}
}
Response samples
- 200
{- "answer": {
- "id": 1,
- "questionId": 1,
- "customer": null,
- "body": "Yes we have it in a red color as well",
- "createdAt": "2019-08-24T14:15:22Z",
- "isPublished": true
}
}
Get wishlists
Requires read_wishlist access scope
Retrieves a list of wishlists associated with an indicated customer.query Parameters
customerIdentifier required | string Examples: customerIdentifier=test@mail.com customerIdentifier=5982611701926 customerIdentifier=+996706877477 Shopify customer ID, email address or phone number |
Responses
Response samples
- 200
{- "wishlists": [
- {
- "wishlistId": 1,
- "customer": {
- "shopifyCustomerId": 5982611701926,
- "email": "john_smith@mail.com",
- "phone": null
}, - "wishlistTitle": "Some Title",
- "items": [
- {
- "customer": {
- "shopifyCustomerId": 5982611701926,
- "email": "john_smith@mail.com",
- "phone": null
}, - "product": {
- "id": 123456789,
- "handle": "fun-kitchen-soup-tool",
- "variantId": 123456789
}, - "wishlistId": 1
}
]
}
]
}
Get wishlist product statuses
Requires read_wishlist access scope
Retrieves information about products, such as how many items of this product has been added to wishlists as well as info on its variants, and whether an indicated customer has added this product to their wishlist.query Parameters
customerIdentifier required | string Examples: customerIdentifier=test@mail.com customerIdentifier=5982611701926 customerIdentifier=+996706877477 Shopify customer ID, email address or phone number |
page | number >= 1 Default: 1 Example: page=1 Pagination index. Items per request depends on perPage parameter |
perPage | number [ 1 .. 250 ] Default: 50 Example: perPage=1 Amount of results per request |
productIds required | Array of numbers Example: productIds=7779168551065&productIds=7779168553672 Product IDs |
Responses
Response samples
- 200
{- "productId": 0,
- "wishlistItemsCount": 0,
- "productInWishlist": true,
- "variantsInWishlist": [
- 0
]
}
Get wishlist items
Requires read_wishlist access scope
Retrieves the list of wishlist items from specified wishlist id associated with indicated customer.query Parameters
customerIdentifier required | string Examples: customerIdentifier=test@mail.com customerIdentifier=5982611701926 customerIdentifier=+996706877477 Shopify customer ID, email address or phone number |
page | number >= 1 Default: 1 Example: page=1 Pagination index. Items per request depends on perPage parameter |
perPage | number [ 1 .. 250 ] Default: 50 Example: perPage=1 Amount of results per request |
wishlistId required | number Example: wishlistId=1 WishlistID |
Responses
Response samples
- 200
{- "wishlistItems": [
- {
- "customer": {
- "shopifyCustomerId": 5982611701926,
- "email": "john_smith@mail.com",
- "phone": null
}, - "product": {
- "id": 123456789,
- "handle": "fun-kitchen-soup-tool",
- "variantId": 123456789
}, - "wishlistId": 1
}
]
}
Create wishlist item
Requires write_wishlist access scope
Allows you to add the specified product and variant to a wishlist.Request Body schema: application/jsonrequired
customerIdentifier required | string Shopify customer ID, email address or phone number |
productId required | number Shopify productId |
variantId | number Shopify product variantId. If not provided, a first product variantId will be added |
wishlistId | number Identifier of a wishlist. If not provided, a product will be added to the last created wishlist. If there's no wishlist, a new one will be created |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "productId": 12345,
- "variantId": 12345,
- "wishlistId": 1
}
Response samples
- 200
{- "wishlistItem": {
- "customer": {
- "shopifyCustomerId": 5982611701926,
- "email": "john_smith@mail.com",
- "phone": null
}, - "product": {
- "id": 123456789,
- "handle": "fun-kitchen-soup-tool",
- "variantId": 123456789
}, - "wishlistId": 1
}
}
Delete wishlist item
Requires write_wishlist access scope
Allows you to remove specific product or its variant from a wishlist.Request Body schema: application/jsonrequired
customerIdentifier required | string Shopify customer ID, email address or phone number |
productId required | number Shopify productId |
variantId | number Shopify product variantId. |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "productId": 12345,
- "variantId": 12345
}
Response samples
- 200
{- "deletedWishlistItem": {
- "customer": {
- "shopifyCustomerId": 5982611701926,
- "email": "john_smith@mail.com",
- "phone": null
}, - "product": {
- "id": 123456789,
- "handle": "fun-kitchen-soup-tool",
- "variantId": 123456789
}, - "wishlistId": 1
}
}
Create wishlist
Requires write_wishlist access scope
Allows you to create a new wishlist.Request Body schema: application/jsonrequired
customerIdentifier required | string Shopify customer ID, email address or phone number |
wishlistTitle required | string Title of wishlist |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "wishlistTitle": "Some title"
}
Response samples
- 200
{- "createdWishlist": {
- "wishlistId": 1,
- "customer": {
- "shopifyCustomerId": 5982611701926,
- "email": "john_smith@mail.com",
- "phone": null
}, - "wishlistTitle": "Some Title"
}
}
Delete wishlist
Requires write_wishlist access scope
Allows you to remove the specific wishlist.Request Body schema: application/jsonrequired
customerIdentifier required | string Shopify customer ID, email address or phone number |
wishlistId required | number WishlistID |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "wishlistId": 1
}
Response samples
- 200
{- "removedWishlist": {
- "wishlistId": 1,
- "customer": {
- "shopifyCustomerId": 5982611701926,
- "email": "john_smith@mail.com",
- "phone": null
}, - "wishlistTitle": "Some Title"
}
}
Update wishlist
Requires write_wishlist access scope
Allows you to update the title of a specific wishlist.Request Body schema: application/jsonrequired
customerIdentifier | string Shopify customer ID, email address or phone number |
wishlistId required | number WishlistID |
wishlistTitle required | string Title of wishlist |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "wishlistId": 1,
- "wishlistTitle": "Some title"
}
Response samples
- 200
{- "updatedWishlist": {
- "wishlistId": 1,
- "customer": {
- "shopifyCustomerId": 5982611701926,
- "email": "john_smith@mail.com",
- "phone": null
}, - "wishlistTitle": "Some Title"
}
}
Move wishlist item
Requires write_wishlist access scope
Allows you to transfer the specific product or its variant from one wishlist to another.Request Body schema: application/jsonrequired
customerIdentifier required | string Shopify customer ID, email address or phone number |
productId required | number Shopify productId |
variantId | number Shopify product variantId. |
fromWishlistId required | number Identifier of an current wishlist with a selected product |
toWishlistId required | number Identifier of a wishlist where a selected product will be moved |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "productId": 12345,
- "variantId": 12345,
- "fromWishlistId": 1,
- "toWishlistId": 2
}
Response samples
- 200
{- "wishlistItem": {
- "customer": {
- "shopifyCustomerId": 5982611701926,
- "email": "john_smith@mail.com",
- "phone": null
}, - "product": {
- "id": 123456789,
- "handle": "fun-kitchen-soup-tool",
- "variantId": 123456789
}, - "wishlistId": 1
}
}
Update wishlist item's variant
Requires write_wishlist access scope
Allows you to update variant of product in wishlist.Request Body schema: application/jsonrequired
customerIdentifier required | string Shopify customer ID, email address or phone number |
wishlistId required | number Identifier of a wishlist |
productId required | number Shopify productId |
newVariantId required | number Shopify product variantId |
oldVariantId | number Old shopify product variantId, that you want to replace |
Responses
Request samples
- Payload
{- "customerIdentifier": "test@mail.com",
- "wishlistId": 1,
- "productId": 12345,
- "newVariantId": 12345,
- "oldVariantId": 12345
}
Response samples
- 200
{- "wishlistItem": {
- "customer": {
- "shopifyCustomerId": 5982611701926,
- "email": "john_smith@mail.com",
- "phone": null
}, - "product": {
- "id": 123456789,
- "handle": "fun-kitchen-soup-tool",
- "variantId": 123456789
}, - "wishlistId": 1
}
}
Get galleries
Requires read_gallery access scope
Retrieves galeries informaion and pagination parameters 'page' and 'perPage' allow you to control the number of results per request and control navigating in terms of multiple galleries.query Parameters
page | number >= 1 Default: 1 Example: page=1 Pagination index. Items per request depends on perPage parameter |
perPage | number [ 1 .. 250 ] Default: 50 Example: perPage=1 Amount of results per request |
Responses
Response samples
- 200
{- "galleries": [
- {
- "galleryId": 1,
- "title": "Some title"
}
]
}
Get product media
Requires read_gallery access scope
Retrieves instagram media for associated shoppable product.query Parameters
page | number >= 1 Default: 1 Example: page=1 Pagination index. Items per request depends on perPage parameter |
perPage | number [ 1 .. 250 ] Default: 50 Example: perPage=1 Amount of results per request |
productId required | number Example: productId=12345 Shopify productId |
galleryId | number Example: galleryId=1 Identifier of a gallery in Growave |
Responses
Response samples
- 200
{- "productMedia": [
- {
- "postId": 12345,
- "text": "Some text",
}
]
}
Get gallery media
Requires read_gallery access scope
Retrieves instagram media associated with specific instagram post from indicated gallery.query Parameters
page | number >= 1 Default: 1 Example: page=1 Pagination index. Items per request depends on perPage parameter |
perPage | number [ 1 .. 250 ] Default: 50 Example: perPage=1 Amount of results per request |
galleryId required | number Example: galleryId=1 Identifier of a gallery in Growave |
Responses
Response samples
- 200
{- "galleryMedia": [
- {
- "postId": 12345,
- "text": "Some text",
}
]
}
Response samples
- 200
{- "subscriptions": [
- {
- "id": "661f868aa2b2ba22e09830f9",
- "topic": "v1/customer/balanceUpdated",
}
]
}
Create subscription
This endpoint allows to create subscription
Request Body schema: application/jsonrequired
topic required | string Enum: "v1/customer/balanceUpdated" "v1/customer/birthdayUpdated" "v1/customer/tierUpdated" "v1/review/created" "v1/review/updated" "v1/review/deleted" "v1/question/created" "v1/question/updated" "v1/question/deleted" "v1/answer/created" "v1/answer/updated" "v1/answer/deleted" Webhook topic |
address required | string <uri> Destination URI to which the webhook subscription should send the POST request when an event occurs. |
Responses
Request samples
- Payload
{- "topic": "v1/customer/balanceUpdated",
}
Response samples
- 200
{- "id": "661f868aa2b2ba22e09830f9",
- "topic": "v1/customer/balanceUpdated",
}
Update subscription
This endpoint allows to update an existing webhook subscription.
Request Body schema: application/jsonrequired
id required | string Subscription ID |
address required | string <uri> Destination URI to which the webhook subscription should send the POST request when an event occurs. |
Responses
Request samples
- Payload
{- "id": "661f868aa2b2ba22e09830f9",
}
Response samples
- 200
{- "id": "661f868aa2b2ba22e09830f9",
- "topic": "v1/customer/balanceUpdated",
}