Appsumo
The Appsumo process includes a package management process.
Package purchases, upgrades and refunds are managed by appsumo.
Events that occur in the Appsumo process are handled by Identity.
The client side needs to implement the following endpoints.
Am I an Appsumo user?
METHOD : GET
URL : /v2.1/packages/check-user
Response
{
"success": true,
"data": true
}
If the response is true, the user is the appsumo user. If response is false the user is not appsumo user.
Which package do I have?
METHOD : GET
URL : /v2.1/packages
Response (For Free Package)
{
"success": true,
"data": {
"name": "Free",
"limit": "1"
}
}
Response (For Limited Package)
{
"success": true,
"data": {
"name": "shopiroller_tier1",
"limit": "10"
}
}
NOTE
The user cannot make appsumo more than the limit number.
How Can I Define an Appsumo Package for My App?
METHOD : PUT
URL : /v2.1/apps//package
Response : 204 (NO Content)
How Can I Cancel Appsumo Package for My App?
METHOD : DELETE
URL : /v2.1/apps//package
Response : 204 (NO Content)
Does My App Have the Appsumo Package?
METHOD : GET
URL : /v2.1/profile/apps
Response
{
"success": true,
"data": [
{
"id": "61aeb4bc-2d20-470c-a26f-1c00c4b69200",
"name": "Appsumo 2",
"appKey": "Obky5OwZASr2UsAYRasrfdEtdZs=",
"editedAt": "2022-07-21T19:23:37.176586",
"createdAt": "2022-07-21T19:22:20.757683",
"relativeEditedAt": "11 seconds ago",
"isAppsumo": false,
"role": {
"id": "778325c3-385e-4311-8003-0be098b4a244",
"name": "Owner",
"roleType": "App",
"permissions": [
//...
]
}
},
{
"id": "6df9194e-5718-4226-8ff8-84002f90136a",
"name": "Appsumo 1",
"appKey": "VCSSKAn5n/M49d3xKIoWMjJO6xU=",
"editedAt": "2022-07-21T19:23:01.589955",
"createdAt": "2022-07-21T17:44:28.63195",
"relativeEditedAt": "46 seconds ago",
"isAppsumo": false,
"role": {
"id": "778325c3-385e-4311-8003-0be098b4a244",
"name": "Owner",
"roleType": "App",
"permissions": [
//...
]
}
}
],
"meta": {
"count": 2
}
}
If the IsAppsumo parameter is true, yes, if false, no is valid.
Note
Added App.IsAppsumo parameter in the application list. (You can see from Swagger.) True or false or null can be sent. true : what's included in the appsumo package false : not included in appsumo package null : no package query
It means.
Appsumo in Single App query
METHOD : GET
URL : /v2.1/profile/apps/
Response
{
"success": true,
"data": {
"id": "6df9194e-5718-4226-8ff8-84002f90136a",
"name": "Appsumo 1",
"appKey": "VCSSKAn5n/M49d3xKIoWMjJO6xU=",
"logoUrl": "1",
"type": "1",
"locales": [
"en",
"tr",
"tr-TR"
],
"category": "1",
"editedAt": "2022-07-21T19:16:50.1505657Z",
"createdAt": "2022-07-21T17:44:28.63195",
"relativeEditedAt": "now",
"isAppsumo": false,
"user": [
{
"id": "6747427f-1b6c-4544-b5d8-905fb24a93a4",
"email": "furkanappsumo1@furkan.com",
"userName": "furkanappsumo1@furkan.com"
}
],
"role": {
"id": "778325c3-385e-4311-8003-0be098b4a244",
"name": "Owner",
"roleType": "App",
"permissions": []
}
}
}
How Many Apps With Appsumo Packages Are There Total?
METHOD : GET
URL : /v2.1/apps/package/count
{
"success": true,
"data": 1
}
Define more than limit appsumo apps
{
"message": "Limit Exceeded",
"isUserFriendlyMessage": true,
"key": "systemException"
}