Pricing API
Download OpenAPI specification:Download
wappier Pricing API allows customers to integrate with wappier Pricing products.
API users should have access to wappier Applications portal to register their application and get their APIKey and SecurityToken.
Once register their applications, users can utilize the provided APIKey
and token
to authenticate their API requests. Using the headers:
X-Wappier-Api-key: <APIKey>
X-Wappier-token: <token>
This set of endpoints allows the caller to get detailed Purchase Reports about all the transactions that have been tracked on wappier's platform.
Purchase Reports by date range
This endpoint queries the available Purchase Reports by the specified date range and returns the matched documents using pagination.
Request Body schema: application/json
start | number pagination parameter, the first document to fetch in the response. In the first page request, the value is by default 0. |
end | number pagination parameter, the last document to fetch in the response. If end - start exceeds the page limit then an error is returned. |
object |
Responses
Request samples
- Payload
{- "start": 0,
- "end": 0,
- "dates": {
- "from": "string",
- "to": "string",
- "onlyValid": true
}
}
Response samples
- 200
- 400
- 401
{- "total": 0,
- "next_start": 0,
- "purchaseReports": {
- "_id": "613736bdb3b404367007252b",
- "header": {
- "wappierId": "c7b97449-00ea-547b-a829-bf858dfb0ea2",
- "username": "259f07150ce974f3",
- "clientId": "11196ac8-4f5c-4ef0-bd3f-cb551d0585a0",
- "clientSequence": "416",
- "apiKey": "4a1c70fd-8654-49dc-882a-54eef5e7b897",
- "app": "com.wappier.trivitap",
- "platform": "android",
- "sdkVersion": "4.0.2",
- "clientSha": "e0cedcdb",
- "timezone": "America/New_York",
- "unixTime": "1631008445472",
- "appVersion": "10.5.1",
- "language": "en-US",
- "deviceId": "WAP_5ab587b0-bba0-4171-8f63-43446bf71f8e",
- "sessionId": "80960695-2c72-44de-b277-48175c1c817e",
- "utcTime": "2021-09-07T09:54:05.472Z"
}, - "payload": {
- "revenue": 4.99,
- "purchaseType": "",
- "currency": "USD",
- "iApReceipt": "GPA.3323-0083-0776-16137",
- "purchaseData": {
- "productId": "com.xanadu.demo.sku1.wap_4de6",
- "purchaseToken": "cndcdlpalioadpgoamkdfngg.AO-J1OywlC3UcS8Q6nU1-LftPu01e0n_cbPwwvHgO0pu66yOwoS0E2jXLivQLNCgjiKO7R00IiTVoBHdVnkPsKkf6OAGNgnCJmriNv2fzSU3igHdDl7KEro",
- "purchaseTime": "1631008435889",
- "purchaseState": "PURCHASED"
}, - "dpData": {
- "pricingTestId": "60118eef82eef848d10a2a93",
- "group": "B",
- "productId": "com.xanadu.demo.sku1.wap_4de6",
- "originalSku": "com.xanadu.demo.sku1"
}, - "iApReceiptSdk": "GPA.3323-0083-0776-16137",
- "revenueUsd": 4.99,
- "data": {
- "validPurchase": true,
- "firstPurchase": null
}
}, - "points": 0,
- "validPurchase": true,
- "pricing": true,
- "country": "US",
- "createdAt": "2021-09-07T09:54:05.879Z"
}
}
Purchase Reports by multiple receiptIds
This endpoint queries the available Purchase Reports by multiple receiptIds and returns the matched documents.
Request Body schema: application/json
receipts | Array of strings |
onlyValid | boolean flag to return only tracked purchases that have been validated using Purchase validation functionality default value is true. |
Responses
Request samples
- Payload
{- "receipts": [
- "receiptId1",
- "receiptId2"
], - "onlyValid": "bool"
}
Response samples
- 200
- 400
- 401
{- "total": 0,
- "purchaseReports": {
- "_id": "613736bdb3b404367007252b",
- "header": {
- "wappierId": "c7b97449-00ea-547b-a829-bf858dfb0ea2",
- "username": "259f07150ce974f3",
- "clientId": "11196ac8-4f5c-4ef0-bd3f-cb551d0585a0",
- "clientSequence": "416",
- "apiKey": "4a1c70fd-8654-49dc-882a-54eef5e7b897",
- "app": "com.wappier.trivitap",
- "platform": "android",
- "sdkVersion": "4.0.2",
- "clientSha": "e0cedcdb",
- "timezone": "America/New_York",
- "unixTime": "1631008445472",
- "appVersion": "10.5.1",
- "language": "en-US",
- "deviceId": "WAP_5ab587b0-bba0-4171-8f63-43446bf71f8e",
- "sessionId": "80960695-2c72-44de-b277-48175c1c817e",
- "utcTime": "2021-09-07T09:54:05.472Z"
}, - "payload": {
- "revenue": 4.99,
- "purchaseType": "",
- "currency": "USD",
- "iApReceipt": "GPA.3323-0083-0776-16137",
- "purchaseData": {
- "productId": "com.xanadu.demo.sku1.wap_4de6",
- "purchaseToken": "cndcdlpalioadpgoamkdfngg.AO-J1OywlC3UcS8Q6nU1-LftPu01e0n_cbPwwvHgO0pu66yOwoS0E2jXLivQLNCgjiKO7R00IiTVoBHdVnkPsKkf6OAGNgnCJmriNv2fzSU3igHdDl7KEro",
- "purchaseTime": "1631008435889",
- "purchaseState": "PURCHASED"
}, - "dpData": {
- "pricingTestId": "60118eef82eef848d10a2a93",
- "group": "B",
- "productId": "com.xanadu.demo.sku1.wap_4de6",
- "originalSku": "com.xanadu.demo.sku1"
}, - "iApReceiptSdk": "GPA.3323-0083-0776-16137",
- "revenueUsd": 4.99,
- "data": {
- "validPurchase": true,
- "firstPurchase": null
}
}, - "points": 0,
- "validPurchase": true,
- "pricing": true,
- "country": "US",
- "createdAt": "2021-09-07T09:54:05.879Z"
}
}
Purchase Report for specific receiptId
This endpoint queries the available Purchase Reports for this specific receiptId and returns the matched documents.
path Parameters
receiptId required | string The receipt id |
query Parameters
onlyValid | boolean flag to return only tracked purchases that have been validated using Purchase validation functionality default value is true. |
Responses
Response samples
- 200
- 400
- 401
{- "purchaseReports": {
- "_id": "613736bdb3b404367007252b",
- "header": {
- "wappierId": "c7b97449-00ea-547b-a829-bf858dfb0ea2",
- "username": "259f07150ce974f3",
- "clientId": "11196ac8-4f5c-4ef0-bd3f-cb551d0585a0",
- "clientSequence": "416",
- "apiKey": "4a1c70fd-8654-49dc-882a-54eef5e7b897",
- "app": "com.wappier.trivitap",
- "platform": "android",
- "sdkVersion": "4.0.2",
- "clientSha": "e0cedcdb",
- "timezone": "America/New_York",
- "unixTime": "1631008445472",
- "appVersion": "10.5.1",
- "language": "en-US",
- "deviceId": "WAP_5ab587b0-bba0-4171-8f63-43446bf71f8e",
- "sessionId": "80960695-2c72-44de-b277-48175c1c817e",
- "utcTime": "2021-09-07T09:54:05.472Z"
}, - "payload": {
- "revenue": 4.99,
- "purchaseType": "",
- "currency": "USD",
- "iApReceipt": "GPA.3323-0083-0776-16137",
- "purchaseData": {
- "productId": "com.xanadu.demo.sku1.wap_4de6",
- "purchaseToken": "cndcdlpalioadpgoamkdfngg.AO-J1OywlC3UcS8Q6nU1-LftPu01e0n_cbPwwvHgO0pu66yOwoS0E2jXLivQLNCgjiKO7R00IiTVoBHdVnkPsKkf6OAGNgnCJmriNv2fzSU3igHdDl7KEro",
- "purchaseTime": "1631008435889",
- "purchaseState": "PURCHASED"
}, - "dpData": {
- "pricingTestId": "60118eef82eef848d10a2a93",
- "group": "B",
- "productId": "com.xanadu.demo.sku1.wap_4de6",
- "originalSku": "com.xanadu.demo.sku1"
}, - "iApReceiptSdk": "GPA.3323-0083-0776-16137",
- "revenueUsd": 4.99,
- "data": {
- "validPurchase": true,
- "firstPurchase": null
}
}, - "points": 0,
- "validPurchase": true,
- "pricing": true,
- "country": "US",
- "createdAt": "2021-09-07T09:54:05.879Z"
}
}
This set of endpoints allows the caller to interact with price suggestions. Price suggestions are generated whenever wappier platform decides to modify the SKU prices for an application.
Price suggestions
This endpoint returns information about all the available price suggestion documents for this application.
Responses
Response samples
- 200
- 400
- 401
{- "apiKey": "32b6bfa5-4296-4409-a090-d99ed9bdb9ff",
- "package": "com.wappier.game",
- "priceSuggestions": [
- {
- "id": "60647c3c2b0daf5e86f3388d",
- "status": "pending",
- "uniqueSkus": [
- "testSKU1"
], - "createdAt": "2022-03-31T09:43:32.873Z",
- "pendingAt": "2022-03-31T09:43:32.973Z"
}, - {
- "id": "60647c3c2b0daa66d6f459a2",
- "status": "rejected",
- "uniqueSkus": [
- "testSKU2"
], - "createdAt": "2022-03-15T09:43:32.873Z",
- "rejectedAt": "2022-03-16T13:28:09.719Z",
- "comment": "Price for ES is too low!!"
}, - {
- "id": "60647c3c2b0daf6a86f3387e",
- "status": "completed",
- "uniqueSkus": [
- "testSKU3"
], - "createdAt": "2022-01-15T09:43:32.873Z",
- "completedAt": "2022-02-30T18:21:55.492Z"
}
]
}
Price suggestion by id
This endpoint returns detailed information about the specific price suggestion document.
path Parameters
suggestionId required | string price suggestion doc id |
Responses
Response samples
- 200
- 400
- 401
{- "id": "62ab0fffa6002d316096172f",
- "status": "pending",
- "platform": "android",
- "apiKey": "aa59f030-d3c9-4f8e-b361-7933b496d8ac",
- "package": "com.xanadu.demo.qa",
- "pendingAt": "2022-05-12T09:32:14.518Z",
- "createdAt": "2022-05-12T09:32:14.518Z",
- "skuPrices": {
- "length": 1,
- "skus": [
- {
- "sku": "com.xanadu.demo.sku1",
- "basePrice": {
- "priceMicros": 1990000,
- "priceTier": null,
- "currency": "USD"
}, - "localPrices": [
- {
- "country": "GR",
- "appliedPrice": "15000000",
- "appliedPriceTier": null,
- "recommendedPrice": "20000000",
- "recommendedPriceTier": null,
- "defaultPrice": "10000000",
- "defaultPriceTier": null,
- "percChangeFromCurrent": "50%",
- "percChangeFromDefault": "100%",
- "currency": "EUR"
}
]
}
]
}
}
Pending price suggestion
This endpoint returns detailed information about any pending price suggestion document for this application.
Responses
Response samples
- 200
- 400
- 401
{- "id": "62ab0fffa6002d316096172f",
- "status": "pending",
- "platform": "android",
- "apiKey": "aa59f030-d3c9-4f8e-b361-7933b496d8ac",
- "package": "com.xanadu.demo.qa",
- "pendingAt": "2022-05-12T09:32:14.518Z",
- "createdAt": "2022-05-12T09:32:14.518Z",
- "skuPrices": {
- "length": 1,
- "skus": [
- {
- "sku": "com.xanadu.demo.sku1",
- "basePrice": {
- "priceMicros": 1990000,
- "priceTier": null,
- "currency": "USD"
}, - "localPrices": [
- {
- "country": "GR",
- "appliedPrice": "15000000",
- "appliedPriceTier": null,
- "recommendedPrice": "20000000",
- "recommendedPriceTier": null,
- "defaultPrice": "10000000",
- "defaultPriceTier": null,
- "percChangeFromCurrent": "50%",
- "percChangeFromDefault": "100%",
- "currency": "EUR"
}
]
}
]
}
}
Reject price suggestion
This endpoint updates the status and history of the specific price suggestions document to rejected
Request Body schema: application/json
id | string the suggestionId we want to reject (update). |
comment | string the reason for rejection |
Responses
Request samples
- Payload
{- "id": "string",
- "comment": "string"
}
Response samples
- 200
- 400
- 401
{- "id": "62ab0fffa6002d316096172f",
- "status": "rejected",
- "apiKey": "aa59f030-d3c9-4f8e-b361-7933b496d8ac",
- "platform": "android",
- "package": "com.xanadu.demo.qa",
- "rejectedAt": "2022-05-12T09:32:14.518Z",
- "createdAt": "2022-05-12T09:32:14.518Z",
- "skuPrices": {
- "length": 1,
- "skus": [
- {
- "sku": "com.xanadu.demo.sku1",
- "basePrice": {
- "priceMicros": 1990000,
- "priceTier": null,
- "currency": "USD"
}, - "localPrices": [
- {
- "country": "GR",
- "appliedPrice": "15000000",
- "appliedPriceTier": null,
- "recommendedPrice": "20000000",
- "recommendedPriceTier": null,
- "defaultPrice": "10000000",
- "defaultPriceTier": null,
- "percChangeFromCurrent": "50%",
- "percChangeFromDefault": "100%",
- "currency": "EUR"
}
]
}
]
}
}
Approve price suggestion
This endpoint updates the status and history of the specific price suggestions document to approved
Request Body schema: application/json
id | string the suggestionId we want to approve (update). |
Responses
Request samples
- Payload
{- "id": "string"
}
Response samples
- 200
- 400
- 401
{- "id": "62ab0fffa6002d316096172f",
- "status": "approved",
- "platform": "android",
- "apiKey": "aa59f030-d3c9-4f8e-b361-7933b496d8ac",
- "package": "com.xanadu.demo.qa",
- "approvedAt": "2022-05-12T09:32:14.518Z",
- "createdAt": "2022-05-12T09:32:14.518Z",
- "skuPrices": {
- "length": 1,
- "skus": [
- {
- "sku": "com.xanadu.demo.sku1",
- "basePrice": {
- "priceMicros": 1990000,
- "priceTier": null,
- "currency": "USD"
}, - "localPrices": [
- {
- "country": "GR",
- "appliedPrice": "15000000",
- "appliedPriceTier": null,
- "recommendedPrice": "20000000",
- "recommendedPriceTier": null,
- "defaultPrice": "10000000",
- "defaultPriceTier": null,
- "percChangeFromCurrent": "50%",
- "percChangeFromDefault": "100%",
- "currency": "EUR"
}
]
}
]
}
}
This set of endpoints allows the calling application to integrate with wappier Global Pricing and Promotional Pricing services. It works in a user-centric way requiring wappier to maintain a full state for application users (events, transactions, etc.).
Global Pricing for specific user
This endpoint queries the available Global Pricing configuration for the specific userId and returns an SKUMap with the data found.
path Parameters
userId required | string The user's id |
Responses
Response samples
- 200
- 400
- 401
{- "isTarget": true,
- "isInScope": true,
- "uuid": "f2db8bfb-bc89-5a3d-92d6-52d3c4032f64",
- "country": "GR",
- "data": [
- {
- "key": "sku_1",
- "value": [
- {
- "id": "612650626b91b67fdc6fdc66",
- "proxySku": "sku_1.wap_4a67",
- "start": 1587714323,
- "end": 4102444800
}
]
}
]
}
Promotional Pricing offers for specific user
This endpoint queries the available Promotional Pricing configuration for the specific userId and returns a map with data found that matches the given tags.
path Parameters
userId required | string The user's id |
Request Body schema: application/json
tags | Array of strings personalized pricing offers that contain request body tags will be found |
Responses
Request samples
- Payload
{- "tags": [
- "string"
]
}
Response samples
- 200
- 400
- 401
{- "isTarget": true,
- "isInScope": true,
- "uuid": "f2db8bfb-bc89-5a3d-92d6-52d3c4032f64",
- "country": "GR",
- "data": [
- {
- "key": "tag1",
- "value": [
- {
- "id": "612650626b91b67fdc6fdc66",
- "data": [
- "SKU1",
- "SKU2"
], - "start": 1587714323,
- "end": 4102444800
}
]
}
]
}
This set of endpoints allows the calling application to integrate with wappier Global Pricing service only. It works in a user agnostic way without keeping any state for application users.
Global Pricing for all countries
This endpoint returns an SKUMap for all countries configured for this application.
Responses
Response samples
- 200
- 400
- 401
{- "uuid": "f2db8bfb-bc89-5a3d-92d6-52d3c4032f64",
- "data": [
- {
- "key": "GR",
- "value": [
- {
- "key": "sku_1",
- "value": [
- {
- "id": "615ec62d19fa590e5cf13843",
- "start": 1587714323,
- "end": 4102444800,
- "proxySku": "testProxySku"
}
]
}
]
}
]
}
Global Pricing for a country
This endpoint returns an SKUMap for the specific country for this application (given country is enabled).
path Parameters
country required | string The country's code (ISO 2-letter code) |
Responses
Response samples
- 200
- 400
- 401
{- "uuid": "f2db8bfb-bc89-5a3d-92d6-52d3c4032f64",
- "data": [
- {
- "key": "GR",
- "value": [
- {
- "key": "sku_1",
- "value": [
- {
- "id": "615ec62d19fa590e5cf13843",
- "start": 1587714323,
- "end": 4102444800,
- "proxySku": "sku_1.wap_4a67"
}
]
}
]
}
]
}
Global Pricing for a user
This endpoint returns an SKUMap for the specific country and userId for this application. This call is only available for Global Pricing and doesn't depend on any state for the given user and the caller has to specify the country.
path Parameters
country required | string The country's code (ISO 2-letter code) |
userId required | string User's id |
Responses
Response samples
- 200
- 400
- 401
{- "isTarget": true,
- "isInScope": true,
- "uuid": "f2db8bfb-bc89-5a3d-92d6-52d3c4032f64",
- "country": "GR",
- "data": [
- {
- "key": "sku_1",
- "value": [
- {
- "id": "612650626b91b67fdc6fdc66",
- "proxySku": "sku_1.wap_4a67",
- "start": 1587714323,
- "end": 4102444800
}
]
}
]
}
User status for a user
This endpoint returns pricing status for a given country and userId for this application, doesn't depend on any state for the given user and the caller has to specify the country..
path Parameters
country required | string The country's code (ISO 2-letter code) |
userId required | string User's id |
Responses
Response samples
- 200
- 400
- 401
{- "isTarget": true,
- "isInScope": true
}
These APIs allows the calling application to setup the specific store service account details. The service account is used by wappier manage application IAP using the store specific API.
Google service account
This endpoint sets the service account for Google Play Console for this application. This enables wappier platform to perform operation on the application listing on Google Play Console using the provided API.
Request Body schema: application/json
client_x509_cert_url | string value from google json key. |
auth_provider_x509_cert_url | string value from google json key. |
token_uri | string value from google json key. |
auth_uri | string value from google json key. |
client_id | string value from google json key. |
client_email | string value from google json key. |
private_key | string value from google json key. |
private_key_id | string value from google json key. |
project_id | string value from google json key. |
type | string value from google json key. |
Responses
Request samples
- Payload
{- "client_x509_cert_url": "string",
- "auth_provider_x509_cert_url": "string",
- "token_uri": "string",
- "auth_uri": "string",
- "client_id": "string",
- "client_email": "string",
- "private_key": "string",
- "private_key_id": "string",
- "project_id": "string",
- "type": "string"
}
Response samples
- 200
- 400
- 401
{- "message": "googleServiceAccount updated successfully"
}
Google service account by uploading file.
This endpoint sets the service account for Google Play Console for this application. This enables wappier platform to perform operation on the application listing on Google Play Console using the provided API.
Request Body schema: multipart/form-data
The Request Body of this request is a form containing .
fileName | string <binary> |
Responses
Response samples
- 200
- 400
- 401
{- "message": "appleServiceAccount updated successfully"
}
Apple service account
This endpoint sets the service account for App Store Connect API for this application. This enables wappier platform to perform operation on the application listing on Apple App Store.
Request Body schema: multipart/form-data
The Request Body of this request is a form containing .
issuerId | string |
apiKeyId | string |
appId | string |
privateKey | string <binary> |
reviewScreenshot | string <binary> |
Responses
Response samples
- 200
- 400
- 401
{- "message": "appleServiceAccount updated successfully"
}
This endpoint allows the calling application to set the specific configuration parameters needed for the correct operation of wappier Pricing services.
Mailing list
This endpoint sets the mailing list to receive email notifications for price suggestion updates for this application.
Request Body schema: application/json
Responses
Request samples
- Payload
[- "mail1@org1.com",
- "mail2@org1.com"
]
Response samples
- 200
- 400
- 401
{- "message": "Mailing list updated successfully"
}