README

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"
}