Session

The end point /identity-service/session provides 4 methods for creation, validation, removing a session and changing session's context

Create session

API to sign in. Takes JSON object with the following fields:

  • email — user's email address. May be used only for accounts registered with email (see reg_type in account creation API).
  • phone — used's phone number. May be used only for accounts registered with phone number.
  • username — alias for email parameter, kept for compatibility.
  • password — user's password. The parameter is required.
  • country — country code.
  • language — language code.

Either email or phone is required.

POST /identity-service/session
Example Request. Account has been activated
{
  "email": "punchyrat@mailinator.com",
  "password":"qwerty",
  "country": "028",
  "language":"ru"
}
Example Response. Account has been activated
{
  "current_participant": "urn:authenticateit:participant:841535075581481",
  "id": "urn:authenticateit:user:email:punchyrat@mailinator.com",
  "modules": [
    "product360",
    "reviews",
    "livechat",
    "rewards"
  ],
  "name": "Punch",
  "roles": [
    "contributors_moderator",
    "serialization_viewer",
    "security_admin",
    "supply_chain",
    "product_line",
    "newsline",
    "contributors_supervisor",
    "rewards_admin",
    "user"
  ],
  "ticket": "90fd184e-8a91-4a3b-abe5-106b7298e714"
}

If the user did not activate the account, he can resend activation email by token (for email registered accounts). Limit for resend activation email is 5.

Example Response. Account hasn't been activated
{
    "token": "65f5a461-111f-401c-8efc-2be0d305bb2d"
}

Validate session

GET /identity-service/session
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
Example Response
{
  "current_participant": "urn:authenticateit:participant:841535075581481",
  "id": "urn:authenticateit:user:email:punchyrat@mailinator.com",
  "modules": [
    "product360",
    "reviews",
    "livechat",
    "rewards"
  ],
  "name": "Punch",
  "roles": [
    "contributors_moderator",
    "serialization_viewer",
    "security_admin",
    "supply_chain",
    "product_line",
    "newsline",
    "contributors_supervisor",
    "rewards_admin",
    "user"
  ],
  "ticket": "90fd184e-8a91-4a3b-abe5-106b7298e714"
}

Remove session

DELETE /identity-service/session
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket

Switch context

POST /identity-service/session/switch-context
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
new_participant string Required: Participant's id
Example Response
{
  "current_participant": "urn:authenticateit:participant:896865553032438",
  "participants": [
    {
      "address": "Lenina Str.",
      "city": "Some City",
      "company_prefix": [
        "0000026"
      ],
      "contact": "ContactName",
      "country": "020",
      "email": "foo@bar.ru",
      "facebook_url": "facebook.com/12345",
      "id": "urn:authenticateit:participant:841535075581481",
      "last_access": "2017-09-03T12:49:08Z",
      "logo": "http://dev-cdn.shping.com.s3.amazonaws.com/file2.png",
      "modules": [
        "product360",
        "reviews",
        "livechat",
        "rewards"
      ],
      "name": "ZippityElf",
      "parent": "urn:authenticateit:participant:1",
      "participant_type": [
        "product360"
      ],
      "phone": "+7919000000121",
      "post_code": "1234",
      "roles": [
        "user",
        "rewards_admin",
        "contributors_supervisor",
        "user",
        "newsline",
        "product_line",
        "supply_chain",
        "security_admin",
        "serialization_viewer",
        "contributors_moderator"
      ]
    }
  ]
}

Account

The end point /identity-service/account provides methods for creation and activation of account. Also it handles requests to retrieve current account information, delete and update the account.

User rating document

{
  "_id": "urn:authenticateit:user_levels",
  "description": [
    {
      "type": "basic",
      "name": "Basic",
      "coin_rate": 1,
      "icon": "http://dev-cdn.shping.com.s3.amazonaws.com/2017/5/24/391b0ab5-3866-4280-8f69-2be550eeafaa-Basic.png",
      "header": "Base level",
      "title": "Keep scanning new products to earn more points to level up!",
      "footer": "Normal coins per scan of any product",
      "earnings": [
        {
          "type": "scanning_partners",
          "coins": 5000000,
          "description": "Scanning a partners' product"
        },
        {
          "type": "adding_new",
          "coins": 4000000,
          "description": "Adding a new product"
        },
        {
          "type": "writing_review",
          "coins": 3000000,
          "description": "Writing a review"
        },
        {
          "type": "editing_product",
          "coins": 2000000,
          "description": "Editing product info"
        },
        {
          "type": "scan_product",
          "coins": 1000000,
          "description": "For scanning any product"
        }
      ],
      "activity": []
    },
    {
      "type": "bronze",
      "name": "Bronze",
      "coin_rate": 2,
      "header": "20 scans per month <br/>Maximum 20 days with no scans per month <br/>2 of linked Shping Buddies",
      "footer": "Earn 2 times more coins per scan of any product",
      "icon": "http://dev-cdn.shping.com.s3.amazonaws.com/2017/5/24/73984b1a-2c8a-4a9b-af6b-fdd95e80ffcf-Bronze.png",
      "title": "Keep scanning new products to earn more coins to level up!",
      "earnings": [
        {
          "type": "scanning_partners",
          "coins": 50,
          "description": "Scanning a partners' product"
        },
        {
          "type": "adding_new",
          "coins": 40,
          "description": "Adding a new product"
        },
        {
          "type": "writing_review",
          "coins": 30,
          "description": "Writing a review"
        },
        {
          "type": "editing_product",
          "coins": 20,
          "description": "Editing product info"
        },
        {
          "type": "scan_product",
          "coins": 10,
          "description": "For scanning any product"
        }
      ],
      "activity": [
        {
          "id": "unique_scans",
          "name": "Unique scans",
          "value": 20,
          "levelup_text": "You need to scan {} new products for the current month to level up!",
          "period": 1,
          "range": "month"
        },
        {
          "id": "number_of_days_with_no_scans",
          "name": "Days with no scans",
          "value": 20,
          "levelup_text": "Keep scanning to earn more!",
          "period": 1,
          "range": "month"
        },
        {
          "id": "buddies",
          "name": "Active Shping Buddies",
          "value": 2,
          "levelup_text": "You need to add {} buddies to your Shping Buddies list."
        }
      ]
    },
    {
      "type": "silver",
      "name": "Silver",
      "icon": "http://dev-cdn.shping.com.s3.amazonaws.com/2017/5/24/367ada03-2293-4825-bce9-87e7a0e0f5ad-Silver.png",
      "coin_rate": 3,
      "header": "80 scans per month <br/>Maximum 15 days with no scans per month <br/>5 of linked Shping Buddies",
      "footer": "Earn 3 times more coins per scan of any product",
      "title": "Keep scanning new products to earn more coins to level up!",
      "earnings": [
        {
          "type": "scanning_partners",
          "coins": 50,
          "description": "Scanning a partners' product"
        },
        {
          "type": "adding_new",
          "coins": 40,
          "description": "Adding a new product"
        },
        {
          "type": "writing_review",
          "coins": 30,
          "description": "Writing a review"
        },
        {
          "type": "editing_product",
          "coins": 20,
          "description": "Editing product info"
        },
        {
          "type": "scan_product",
          "coins": 10,
          "description": "For scanning any product"
        }
      ],
      "activity": [
        {
          "id": "unique_scans",
          "name": "Unique scans",
          "value": 80,
          "levelup_text": "You need to scan {} new products for the current month to level up!",
          "period": 1,
          "range": "month"
        },
        {
          "id": "number_of_days_with_no_scans",
          "name": "Days with no scans",
          "value": 15,
          "levelup_text": "Keep scanning to earn more!",
          "period": 1,
          "range": "month"
        },
        {
          "id": "buddies",
          "name": "Active Shping Buddies",
          "value": 5,
          "description": "5 of linked Shping Buddies",
          "levelup_text": "You need to add {} buddies to your Shping Buddies list."
        }
      ]
    },
    {
      "type": "gold",
      "name": "Gold",
      "coin_rate": 5,
      "header": "200 scans per month <br/>Maximum 10 days with no scans per month <br/>10 of linked Shping Buddies",
      "footer": "Earn 5 times more coins per scan of any product",
      "icon": "http://dev-cdn.shping.com.s3.amazonaws.com/2017/5/24/3000fddb-c2c2-4bac-b84d-51f52f3c239b-Gold.png",
      "title": "Keep scanning new products to earn more coins to level up!",
      "earnings": [
        {
          "type": "scanning_partners",
          "coins": 50,
          "description": "Scanning a partners' product"
        },
        {
          "type": "adding_new",
          "coins": 40,
          "description": "Adding a new product"
        },
        {
          "type": "writing_review",
          "coins": 30,
          "description": "Writing a review"
        },
        {
          "type": "editing_product",
          "coins": 20,
          "description": "Editing product info"
        },
        {
          "type": "scan_product",
          "coins": 10,
          "description": "For scanning any product"
        }
      ],
      "activity": [
        {
          "id": "unique_scans",
          "value": 200,
          "levelup_text": "You need to scan {} new products for the current month to level up!",
          "period": 1,
          "range": "month"
        },
        {
          "id": "number_of_days_with_no_scans",
          "name": "Days with no scans",
          "value": 10,
          "levelup_text": "Keep scanning to earn more!",
          "period": 1,
          "range": "month"
        },
        {
          "id": "buddies",
          "name": "Active Shping Buddies",
          "value": 10,
          "description": "10 of linked Shping Buddies",
          "levelup_text": "You need to add {} buddies to your Shping Buddies list."
        }
      ]
    },
    {
      "type": "platinum",
      "coin_rate": 10,
      "header": "300 scans per month <br/>Maximum 5 days with no scans per month <br/>30 of linked Shping Buddies",
      "footer": "Earn 10 times more coins per scan of any product",
      "icon": "http://dev-cdn.shping.com.s3.amazonaws.com/2017/5/24/d37edf9d-6faa-43c4-915c-a414b8547f75-Platinum.png",
      "name": "Platinum",
      "title": "Keep scanning new products to earn more coins!",
      "earnings": [
        {
          "type": "scanning_partners",
          "coins": 50,
          "description": "Scanning a partners' product"
        },
        {
          "type": "adding_new",
          "coins": 40,
          "description": "Adding a new product"
        },
        {
          "type": "writing_review",
          "coins": 30,
          "description": "Writing a review"
        },
        {
          "type": "editing_product",
          "coins": 20,
          "description": "Editing product info"
        },
        {
          "type": "scan_product",
          "coins": 10,
          "description": "For scanning any product"
        }
      ],
      "activity": [
        {
          "id": "unique_scans",
          "name": "Unique scans",
          "value": 300,
          "period": 1,
          "levelup_text": "You need to scan {} new products for the current month to level up!",
          "range": "month"
        },
        {
          "id": "number_of_days_with_no_scans",
          "name": "Days with no scans",
          "value": 5,
          "levelup_text": "Keep scanning to earn more!",
          "period": 1,
          "range": "month"
        },
        {
          "id": "buddies",
          "name": "Active Shping Buddies",
          "value": 30,
          "levelup_text": "You need to add {} buddies to your Shping Buddies list."
        }
      ]
    }
  ],
  "type": "system_doc"
}

Resend activation email

POST /identity-service/account/code/resend
Parameters
Name Type Description
token string Required: Activation token

Delete stripe token

DELETE /identity-service/account/customer/
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
Example Response
{
  "address2": "",
  "city": "Izhevsk",
  "email": "some_email@gmail.com",
  "first_name": "First Name",
  "id": "urn:authenticateit:user:email:some_email@gmail.com",
  "language": "en",
  "last_name": "Last Name",
  "participants": [
    {
      "id": "urn:authenticateit:participant:841535075581481",
      "last_access": "2017-06-13T10:21:26Z",
      "name": "ZippityElf",
      "roles": [
        "rewards_admin",
        "contributors_supervisor",
        "user",
        "newsline",
        "product_line",
        "supply_chain",
        "security_admin",
        "serialization_viewer",
        "contributors_moderator"
      ]
    },
    {
      "id": "urn:authenticateit:participant:00000000000048",
      "last_access": "2017-05-23T08:05:09Z",
      "name": "Maria360",
      "roles": [
        "security_admin",
        "newsline",
        "user",
        "contributors_supervisor",
        "rewards_admin"
      ]
    }
  ],
  "phone": "+61400000000",
  "coins": 53
}

Request for add or replace new device

POST /identity-service/set_device_id/
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
channel string Required for baidu
id string Device id
type string Device type (apns, apns_sandbox, gcm or baidu)
old_id string Old device ID (which must be replaced)
old_channel string Old channel (which must be replaced) (optional)

Request for remove device

POST /identity-service/remove_device_id/
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
channel string Optional
id string Device id

Nominate user to participant

POST /identity-service/nominate
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id string User's id
current_participant string User's current participant
role array::string User's roles

Denominate user roles

POST /identity-service/nominate/delete
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id string User's id
current_participant string User's current participant
role array::string User's roles
Example Response

The response contains an updated list of roles. If response is empty - then participant was success deleted from the user.

{
  "id": "urn:authenticateit:participant:1489226097599",
  "name": "Test Manufacturer 1489226097599",
  "roles": [
    "serialization_viewer",
    "supply_chain",
    "product_line"
  ]
}

Create new account

Creates new user account. Takes JSON object with account description, which consists of the following fields:

  • reg_type — allows to choose whether to use email as user identifier or phone number. The parameter is optional and is email by default.
  • email — valid user email address. Required if reg_type is email.
  • phone — valid phone number. Required if reg_type is phone.
  • password — user's password. The parameter is required.
  • first_name, last_name — user name information.
  • gender — user's gender (male, female or other).
  • birthdate — user's birth date in ISO format.
  • photo — URL of the user's photo in Shping CDN.
  • country — user's country code.
  • language — user's language code (e.g., en, ru).
  • city, post_code, address1, address2 — user address information.
  • job_title — user's job title.

Created account must be activated. When reg_type is email, email message with activation link will be sent to the user's email address. When reg_type is phone, phone number verification process will be started.

POST /identity-service/account
Example Request
{
  "email": "foo@bar.com",
  "first_name": "First Name",
  "last_name": "Last Name",
  "phone": "+61400000000",
  "language": "en",
  "post_code": "3004",
  "city": "Melbourne",
  "address1": "10 Queens Rd",
  "birthdate": "1970-01-01",
  "gender": "male",
  "photo": "http://google.com/image.png",
  "job_title": "Manager"
}
Example Response
{
  "id": "urn:authenticateit:user:email:foo@bar.com",
  "email": "foo@bar.com",
  "first_name": "First Name",
  "last_name": "Last Name",
  "phone": "+61400000000",
  "language": "en",
  "post_code": "3004",
  "city": "Melbourne",
  "address1": "10 Queens Rd",
  "birthdate": "1970-01-01",
  "gender": "male",
  "photo": "http://google.com/image.png",
  "job_title": "Manager"
}

Create OAuth Account

Create user account with third-party OAuth service API. Accepts JSON object with the following parameters:

  • service — service to retrieve user information from. Known services are facebook, google, vk and wechat.
  • access_token — OAuth access token to request user information from the service, if available.
  • code — if access_token directly is unavailable, OAuth authorization code must be provided. Server will exchange the provided code for access_token.
  • id_token — some services require JSON Web Token with user profile information (see below), overrides access_token and code.
  • user_id — service-specific user identifier related to the access_token. Required only by some services, normally shouldn't be specified.
  • country, language — country and language in the created account may be overridden with these parameters.

id_token, authorization code or access_token directly must be provided.

For facebook service valid access_token must be provided.

For google service valid id_token must be provided. Server will validate the JSON Web Token by Google services and extract user profile information.

For wechat and vk services, code must be provided. Server will exchange the code for access_token internally.

In case of vk service, redirect URI parameter is required in VK OAuth API. Mobile client most probably would use VK's https://oauth.vk.com/blank.html as a redirect URI. URIs in client and server should match.

If user for the access_token is already present in the system, account wouldn't be created.

Session will be created for the user and response will contain session representation (see Create Session API).

POST /identity-service/account/oauth
Example Request
{
    "service": "facebook",
    "access_token": "EAACZAnXC7MnABADtaNyYi",
    "country": "036",
    "language": "en"
}
Example Response
{
  "id": "urn:authenticateit:user:facebook:115317188939815",
  "name": "John Doe",
  "roles": [
    "user"
  ],
  "ticket": "a93c4b00-53a8-4038-a455-d779942746eb"
}

Activate Phone Number Account

Activates user account registered with phone number. Takes JSON object containing phone number used during registration. Verification code from SMS must be passed in the URL.

Also this API may be used to reset password for accounts registered with phone number. If password field is present and activation code was generated to restore password (see API to request phone number account activation code), user password will be updated.

As soon as account is verified, user may log in with his phone and password.

POST /identity-service/account/phone/activate/:code
Parameters
Name Type Description
code string Verification code from SMS message.
Example Request
{
    "phone": "+79280369254"
}

Request Phone Number Account Activation Code

Send account activation code for account registered with a phone number (see reg_type in account creation API). Takes JSON object containing phone number used for account registration.

The number of available activation codes is limited. If the limit is reached, further requests will result in errors for some time.

Code to restore phone number account password may be requested using this API. Parameter restore_password must be set to true in this case.

POST /identity-service/account/phone/activate
Example Request
{
    "phone": "+79280369254"
}

Activate Email Account

GET /identity-service/account/activate/:activation_code
Example Response
{
  "email": "foo@bar.com",
  "first_name": "First Name",
  "last_name": "Last Name",
  "phone": "+61400000000",
  "language": "en",
  "post_code": "3004",
  "city": "Melbourne",
  "address1": "10 Queens Rd",
  "birthdate": "1970-01-01",
  "gender": "male",
  "photo": "http://google.com/image.png"
}

Send verification SMS

Send SMS message with verification code to user's phone number. Does nothing if there is no phone number in user profile.

POST /identity-service/account/verifications/phone
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket

Verify user's phone number

Verify user's phone number. If provided code matches code sent in SMS message, phone number status will be updated. Responds with updated user profile, if phone status updated.

GET /identity-service/account/verifications/phone/:code
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
Example Response
{
  "email": "foo@bar.com",
  "first_name": "First Name",
  "last_name": "Last Name",
  "phone": "+61400000000",
  "language": "en",
  "post_code": "3004",
  "city": "Melbourne",
  "address1": "10 Queens Rd",
  "birthdate": "1970-01-01",
  "gender": "male",
  "photo": "http://google.com/image.png"
}

Get information from my profile

GET /identity-service/account
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
Example Response
{
  "email": "foo@bar.com",
  "first_name": "First Name",
  "last_name": "Last Name",
  "phone": "+61400000000",
  "language": "en",
  "post_code": "3004",
  "city": "Melbourne",
  "address1": "10 Queens Rd",
  "birthdate": "1970-01-01",
  "gender": "male",
  "photo": "http://google.com/image.png",
  "job_title": "Manager",
  "participants": [
        {
            "company_prefix": [
                "*"
            ],
            "id": "urn:authenticateit:participant:1",
            "last_access": "2017-12-14T18:27:36Z",
            "last_access_user": {
                "first_access": false,
                "ts": "2017-12-14T18:27:36Z"
            },
            "modules": [
                "todo_cards",
                "product360",
                "reviews",
                "livechat",
                "rewards"
            ],
            "name": "Authenticateit Pty Ltd",
            "participant_type": [
                "system"
            ],
            "roles": [
                "contributors_moderator",
                "newsline",
                "product_line",
                "rewards_admin",
                "security_admin",
                "serialization_viewer",
                "supply_chain",
                "user"
            ]
        }
    ]
}

Delete my account

Will delete user account and active session. User wouldn't be able to perform any requests to the API after this request.

DELETE /identity-service/account
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket

Update my account

Update account information and return up to date representation of the account. Allows to modify name, password and language fields. All fields are optional in the request. To change password (password field present in the request), current password must be provided in old_password field.

PUT /identity-service/account
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
email string Correct email, maxlength 100
password string Password; minlength 5
old_password string Current password, required if changing password
first_name string First name; maxlength 100
last_name string Last name; maxlength 100
phone string Phone number in international format without any spaces
language string ISO 639-1 language code (en,ru...)
post_code string Post code; minlength 3, maxlength 10
city string City; maxlength 100
address1 string First address's line; maxlength 200
address2 string Second address's line; maxlength 200
birthdate string Birthdate in ISO 8601 format (1970-01-01)
gender string Gender (male or female)
photo string Photo in project's S3 bucket
Example Response
{
 "email": "foo@bar.com",
  "first_name": "First Name",
  "last_name": "Last Name",
  "phone": "+61400000000",
  "language": "en",
  "post_code": "3004",
  "city": "Melbourne",
  "address1": "10 Queens Rd",
  "birthdate": "1970-01-01",
  "gender": "male",
  "photo": "http://google.com/image.png"
}

Update account notification settings

PUT /identity-service/account/settings
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
notify_on_buddies boolean Notifications from buddies
notify_on_reviews boolean Notifications from reviews
notify_on_rewards boolean Notifications from rewards
remind_to_scan boolean Scan notifications
reminders_notifications boolean System notifications
Example Request
{
    "notify_on_buddies": true,
    "notify_on_reviews": true,
    "notify_on_rewards": true,
    "remind_to_scan": true,
    "reminders_notifications": true
}
Example Response
{
    "notify_on_buddies": true,
    "notify_on_reviews": true,
    "notify_on_rewards": true,
    "remind_to_scan": true,
    "reminders_notifications": true
}

Reset password

Send email with restore code
POST /identity-service/account/restore
Parameters
Name Type Description
email string Required: User's email
Example Response
"Mail has been send"
Reset password
POST /identity-service/account/restore/:code
Parameters
Name Type Description
password string Required: New password
Example Response
{
  "email": "foo@bar.com",
  "first_name": "RootUser",
  "id": "urn:authenticateit:user:email:foo@bar.com",
  "language": "en",
  "participants": [
    {
      "id": "urn:authenticateit:participant:9489226097599",
      "last_access": "2017-04-14T05:02:34Z",
      "name": "Test Partner 1491799727959",
      "roles": [
        "rewards_admin",
        "serialization_viewer",
        "security_admin",
        "supply_chain",
        "product_line",
        "newsline"
      ]
    },
    {
      "id": "urn:authenticateit:participant:1491850314517",
      "last_access": "2017-04-12T17:43:32Z",
      "name": "Test Manufacturer 1491850314517",
      "roles": [
        "rewards_admin",
        "serialization_viewer",
        "security_admin",
        "supply_chain",
        "product_line",
        "newsline"
      ]
    }
  ],
  "coins": 30
}

Request for check user by email

POST /identity-service/account/check
Parameters
Name Type Description
email string Required: User's email
Example Response
{
  "first_name": "Name",
  "last_name": "LastName"
}

Set user's locale

POST /identity-service/account/locale
Parameters
Name Type Description
authenticateit_identity_ticket header Session's ticket
country body Country code
language body Language code
timezone_min body Timezone shift in min. From UTC+14 (840) to UTC-12 (-720) (-720 =< X =< +840)
Example Request
{
  "country": "036",
  "language": "ru",
  "timezone_min": 0
}

Get user level

GET /identity-service/account/level
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
Example Response
[
  {
    "current": false,
    "footer": "Normal coins per any product scan",
    "header": "Base level",
    "icon": "http://dev-cdn.shping.com.s3.amazonaws.com/2017/5/24/391b0ab5-3866-4280-8f69-2be550eeafaa-Basic.png",
    "name": "Basic",
    "coin_rate": 1,
    "short_description": "Scan more products and earn more!",
    "title": "Keep scanning new products to earn more coins to level up!",
    "type": "basic"
  },
  {
    "current": true,
    "current_percentages": 66,
    "footer": "Earn 2 times more coins per product scan",
    "header": "20 scans per month <br/>Maximum 20 days with no scans per month <br/>2 of linked Shping Buddies",
    "icon": "http://dev-cdn.shping.com.s3.amazonaws.com/2017/5/24/73984b1a-2c8a-4a9b-af6b-fdd95e80ffcf-Bronze.png",
    "max_percentages": 100,
    "name": "Bronze",
    "coin_rate": 2,
    "short_description": "Scan more products and earn 2x more!",
    "title": "Keep scanning new products to earn more coins to level up!",
    "todo": [
      "You need to scan 27 new products for the current month to level up!"
    ],
    "type": "bronze"
  },
  {
    "current": false,
    "footer": "Earn 3 times more coins per product scan",
    "header": "80 scans per month <br/>Maximum 15 days with no scans per month <br/>5 of linked Shping Buddies",
    "icon": "http://dev-cdn.shping.com.s3.amazonaws.com/2017/5/24/367ada03-2293-4825-bce9-87e7a0e0f5ad-Silver.png",
    "name": "Silver",
    "coin_rate": 3,
    "short_description": "Scan more products and earn 3x more!",
    "title": "Keep scanning new products to earn more coins to level up!",
    "type": "silver"
  },
  {
    "current": false,
    "footer": "Earn 5 times more coins per product scan",
    "header": "200 scans per month <br/>Maximum 10 days with no scans per month <br/>10 of linked Shping Buddies",
    "icon": "http://dev-cdn.shping.com.s3.amazonaws.com/2017/5/24/3000fddb-c2c2-4bac-b84d-51f52f3c239b-Gold.png",
    "name": "Gold",
    "coin_rate": 5,
    "short_description": "Scan more products and earn 5x more!",
    "title": "Keep scanning new products to earn more coins to level up!",
    "type": "gold"
  },
  {
    "current": false,
    "footer": "Earn 10 times more coins per product scan",
    "header": "300 scans per month <br/>Maximum 5 days with no scans per month <br/>30 of linked Shping Buddies",
    "icon": "http://dev-cdn.shping.com.s3.amazonaws.com/2017/5/24/d37edf9d-6faa-43c4-915c-a414b8547f75-Platinum.png",
    "name": "Platinum",
    "coin_rate": 10,
    "short_description": "Scan more products and earn 10x more!",
    "title": "Keep scanning new products to earn more platinum!",
    "type": "platinum"
  }
]

Get earnings info

GET /identity-service/account/earnings
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
Example Response
{
  "level_logo": "http://dev-cdn.shping.com.s3.amazonaws.com/2017/5/24/391b0ab5-3866-4280-8f69-2be550eeafaa-Basic.png",
  "level_name": "Basic",
  "level_type": "basic",
  "list": [
    {
      "description": "Scanning a partners' product",
      "coins": 50,
      "type": "scanning_partners"
    },
    {
      "description": "Adding a new product",
      "coins": 40,
      "type": "adding_new"
    },
    {
      "description": "Writing a review",
      "coins": 30,
      "type": "writing_review"
    },
    {
      "description": "Editing product info",
      "coins": 20,
      "type": "editing_product"
    },
    {
      "description": "For scanning any product",
      "coins": 10,
      "type": "scan_product"
    }
  ]
}

Preferred Registration Types

Returns list of preferred account registration methods. Responds with JSON object containing types list of methods. Methods in the list are in order of preferrence.

GET /identity-service/account/registration_types
Example Response
{
  "types": [
    "email",
    "facebook"
  ]
}

Brand Unlock and Participant Registration

User account registration process may include participant registration and brand unlock. If the process is sucessfull, a participant will be created and registered user will be nominated to represent the participant. Unowned brand will be assigned to the participant.

Additional account field pending_participant may be provided in POST /account request. It must be an object with the following fields: company_prefix (GTIN prefix of a company user is representing), name (participant name), brand_name (identifier of unowned brand user is representing), participant_type (currently only product360 is allowed here). The response will include pending_participant object field.

If there is technical email address associated with the company prefix, account activation email will be sent to the technical email address. Field tech_email_used in pending_participant response field will be true in this case.

After activating the account, user should continue participant registration process and must provide all the missing fields in the body of PUT /account/pending_participant request. Field names are the same as in POST /account request. Also there is additional required field country (country of participant). Performing the PUT request will finish participant registration process and pending_participant field will be removed from the account.

If brand technical email was used for account activation, participant will be created right away, user will be nominated a product_line role (in case of product360 participant), created participant will be made owner of previously unowned brand identified with brand_name.

If there was no brand technical email address associated with the company prefix (this actually is the case for now), information on pending participant will be emailed to a moderator who will either approve or reject participant registration by clicking on approve/reject links. URLs to approve or reject pending participant registration are /pending_participant/:code/approve and /pending_participant/:code/reject.

System user may retrieve pending participant registration code by sending user account identifier as id field in POST /account/pending_participant/get_code. This API is mainly for automated testing purposes. Retrieved code may be used to approve/reject pending participant registration with the corresponding URLs.

Company registration flow

Participant also can set a credit card which will be coupled with account.

Set credit card through registration

PUT /identity-service/account/pending_participant
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
Example Request
{
  "email": "email@mailinator.com",
  "password": "qwerty",
  "first_name": "first_name",
  "pending_plan": "complete",
  "pending_participant": {
    "company_prefix": "123456789",
    "name": "TEST1",
    "brand_name": "Test1",
    "participant_type": "product360"
  },
  "gs1_activation_code": "22777772231",
  "card": {
    "number": "5200828282828210",
    "exp_month": 12,
    "exp_year": 2019,
    "name": "JANE DOE",
    "cvc": 323
  }
}
Example Request
{
  "email": "email@mailinator.com",
  "password": "qwerty",
  "first_name": "first_name",
  "pending_plan": "complete",
  "pending_participant": {
    "company_prefix": "123456789",
    "name": "TEST1",
    "brand_name": "Test1",
    "participant_type": "product360"
  },
  "gs1_activation_code": "22777772231"
}

Rejecting pending participant

POST /identity-service/pending_participant/reject
Parameters
Name Type Description
code string Required: “708788a0-5b1b-46df-8279-2e6c18f58a0d”
reason string “Text Reason”

Account facebook

Settings

[{"facebook",
         {"https://graph.facebook.com/me",
            [
             {<<"id">>,<<"id">>},
             {<<"name">>,<<"name">>},
             {<<"email">>,<<"email">>},
             {<<"age">>,<<"age_range">>},
             {<<"birthday">>,<<"birthday">>},
             {<<"timezone">>,<<"timezone">>},
             {<<"languages">>,<<"languages">>},
             {<<"locale">>,<<"locale">>}
            ]
          }
  }
]
[{<name of service>,
         {<service uri>, (https://graph.facebook.com/me)
            [
             <map of profile field>, <service field>
            ]
          }
  }
]

The end point /identity-service/account/oauth provides 1 method:

Create account via facebook API

POST /identity-service/account/oauth
Parameters
Name Type Description
content-type:application/x-www-form-urlencoded header Required: Content type
service=facebook&token=:token url Required: service=facebook&token=EAACZAnXC7MnABADtaNyYitype
country body Country code
language body Language code

The token can be obtained at https://developers.facebook.com/tools/explorer/

Example Response
{
  "name": "Ivan Vasilev",
  "roles": [
    "user"
  ],
  "ticket": "EAACZAnXC7MnABADtaNyYi"
}
Errors
{error: "<service> contains unavailable value"}
{error: "Can't read profile by token"}
{error: "Invalid json data from host"}
{error: "Token not found"}
{error: "Oauth server is not available"}
{error: "Internal server error"}
{error: "Cant read data for fill profile"}
Example of document in CuchDB
{
  "_id": "115317188939815",
  "_rev": "60-85eaa22ff5dd0124202452468d9b3eca",
  "age": {
    "min": 21
  },
  "birthday": "07/01/1990",
  "email": "foo@bar.com",
  "languages": "",
  "locale": "ru_RU",
  "name": "Some Name",
  "roles": [
    "user"
  ],
  "service": "facebook",
  "timezone": 4,
  "type": "user"
}

Get user's country from ip

GET /identity-service/current_country
Parameters
Name Type Description
content-type:application/x-www-form-urlencoded header Required: Content type
Example Response
{
    "alpha2": "RU",
    "alpha3": "RUS",
    "iso": "643",
    "name": "Russian Federation",
    "name_ru": "Российская Федерация",
    "name_zh": "俄罗斯联邦",
    "type": "matched"
}

Get geolocation info

GET /identity-service/geolocation
Parameters
Name Type Description
ip body IP address
Example Response
{
    "city": "Izhevsk",
    "continent_code": "EU",
    "continent_name": "Europe",
    "country_code": "RU",
    "country_name": "Russia",
    "ip": "91.185.64.113",
    "latitude": 56.8498,
    "location": {
        "calling_code": "7",
        "capital": "Moscow",
        "country_flag": "http://assets.ipapi.com/flags/ru.svg",
        "country_flag_emoji": "🇷🇺",
        "country_flag_emoji_unicode": "U+1F1F7 U+1F1FA",
        "geoname_id": 554840,
        "is_eu": false,
        "languages": [
            {
                "code": "ru",
                "name": "Russian",
                "native": "Русский"
            }
        ]
    },
    "longitude": 53.2045,
    "region_code": "UD",
    "region_name": "Udmurtiya Republic",
    "type": "ipv4",
    "zip": "426960"
}

Users management

Methods are available for users with role "security_admin"

Read list of users or read user profile

POST /identity-service/users/get
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body User id (read profile)
level body Filter by level (basic, bronze, silver, gold, platinum)
phone body Filter by phone (or part of phone) (will be converted to like query %PHONE%)
email body Filter by email (or part of email)
first_name body Filter by first_name (or part of first_name)
last_name body Filter by last_name (or part of last_name)
language body Filter by language
country body Filter by country code
city body Filter by city (or part of city)
gender body Filter by gender
created_from body Filter by created time (datetime format '2012-12-12T01-01-01Z')
created_to body Filter by created time (datetime format '2012-12-12T01-01-01Z')
last_access_from body Filter by last access (datetime format '2012-12-12T01-01-01Z')
last_access_to body Filter by last access (datetime format '2012-12-12T01-01-01Z') total_balance_from body Filter by total balance
total_balance_to body Filter by total balance
account_balance_from body Filter by transition account balance
account_balance_to body Filter by transition account balance
device body Filter by coupled devices ("ios", "andriod", "baidu")
rewards_ban_status body Filter by rewards ban status ("active", "inactive")
permanent_ban_status body Filter by permanent ban status ("active", "inactive")
offset body Offset
limit body Limit
order_by body Order column
order_type body Order type ("asc", "desc")

Order by types of columns: "level", "phone", "email", "first_name", last_name", "language", "country", "language", "city", "gender", "reg_type", "created", "last_access", "total_balance", "account_balance", "rewards_ban_status", "permanent_ban_status"

Example Request (read list of users)
{
  "level": "basic",
  "order_by": "first_name",
  "order_type": "desc",
  "limit": 2,
  "offset": 0,
  "reg_type": "facebook"
}
Example Response
{
    "count": 9,
    "data": [
        {
            "account_balance": "1258000000000000000002",
            "birthdate": "1985-07-03",
            "city": "Ижевск",
            "contributor_status": "newbie",
            "country": "643",
            "created": "2017-07-01T00:00:00Z",
            "email": "test@gmail.com",
            "first_name": "Karlutka Я",
            "gender": "male",
            "id": "urn:authenticateit:user:facebook:1987076478185898",
            "ios": 0,
            "language": "ru",
            "last_access": "2017-10-11T10:09:31Z",
            "last_name": "Karlutka",
            "level": "basic",
            "permanent_ban_status": "inactive",
            "phone": "+791999999999",
            "reg_type": "facebook",
            "rewards_ban_from": null,
            "rewards_ban_status": "inactive",
            "rewards_ban_to": null,
            "total_balance": "14700722920000000000002"
        },
        {
            "account_balance": "1282000000000000000000",
            "birthdate": null,
            "city": null,
            "contributor_status": "newbie",
            "country": "036",
            "created": "2017-07-01T00:00:00Z",
            "email": "",
            "first_name": "G",
            "gender": null,
            "id": "urn:authenticateit:user:facebook:10154835624101588",
            "ios": 0,
            "language": null,
            "last_access": "2017-10-13T23:03:38Z",
            "last_name": "V",
            "level": "basic",
            "permanent_ban_status": "inactive",
            "phone": "+699999999999",
            "reg_type": "facebook",
            "rewards_ban_from": null,
            "rewards_ban_status": "inactive",
            "rewards_ban_to": null,
            "total_balance": "1282000000000000000000"
        }
    ]
}
Example Request (read profile)
{
   "id": "urn:authenticateit:user:facebook:1987076478185891"
}
Example Response
{
    "address1": "Ключевой поселок",
    "address2": "",
    "age": {
        "min": 21
    },
    "birthdate": "1985-07-03",
    "buddies_chunk": "urn:authenticateit:user:buddies_chunk:35313d83-07ef-499d-9b80-f933c2ba4760",
    "city": "Ижевск",
    "coins": "1258000000000000000002",
    "country": "643",
    "created": "2017-07-01T00:00:00Z",
    "email": "maria.arshava@gmail.com",
    "first_name": "Karlutka Я",
    "gender": "male",
    "id": "urn:authenticateit:user:facebook:1987076478185891",
    "language": "ru",
    "languages": "",
    "last_access": "2017-10-11T10:09:31Z",
    "last_name": "Karlutka",
    "level": "basic",
    "pending_coins": "17000000000000000000",
    "pending_points": 0,
    "phone": "+79128541354",
    "phone_verified": true,
    "photo": "https://dev-cdn.shping.com/2018/1/9/c0d645ce-f0d8-49a1-879b-cdacbdf2f106",
    "points": 0,
    "post_code": "426066",
    "roles": [
        "user"
    ],
    "service": "facebook",
    "settings": {
        "notify_on_buddies": true,
        "notify_on_rewards": true,
        "remind_to_scan": true
    },
    "stripe_customer": {
        "card": {
            "address_city": "",
            "address_country": "",
            "address_line1": "",
            "address_line2": "",
            "address_state": "",
            "address_zip": "",
            "brand": "MasterCard",
            "exp_month": 12,
            "exp_year": 2019,
            "id": "card_1B4jMtJvEgihlWpr2rNzibZK",
            "last4": "8210",
            "name": ""
        },
        "description": null,
        "email": null,
        "id": "cus_BRcc35HtRpjtCH"
    },
    "timeline": "247f5919-353f-481d-9742-d2a6e46a7f01",
    "timezone": 4
}

Read user scans

POST /identity-service/user/scans
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User id
scan_id body Scan id
from body From TS (datetime format '2012-12-12T01-01-01Z')
to body To TS (datetime format '2012-12-12T01-01-01Z')
offset body Offset
limit body Limit
order body Order type ("asc", "desc")
Example Request (read list of scans)
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com", "limit":2
}
Example Response
{
    "count": 152,
    "data": [
        {
            "accept": "*/*",
            "accept-encoding": "gzip, deflate",
            "accept-language": "en-us",
            "accuracy": "65",
            "action_id": "a723b22d-9ec6-4946-99bd-4604b140b49a",
            "authenticateit_identity_ticket": "b4b28dac-909a-409f-afd7-38d606e9c263",
            "city": "Izhevsk",
            "code": "4602676004991",
            "connection": "upgrade",
            "content-length": "129",
            "content-type": "application/json; charset=utf-8",
            "country": "643",
            "delay": "0",
            "event_ts": "2018-03-20T07:34:04Z",
            "handler": "ait_authentication_service_gtin",
            "host": "dev-api.shping.com",
            "id": "fcf47fe4-bdea-4e76-997d-c5474d478877",
            "language": "en",
            "latitude": "56838747",
            "longitude": "53245708",
            "old_scan_id": 1429163,
            "product_id": "04602676004991",
            "product_name": "капли глазные \"тауфон\" 4%",
            "result": [
                {
                    "id": "64e0f25c-97f0-4ef7-8e9c-6842580da8a3",
                    "image": [
                        {
                            "url": "https://cdn.shping.com/2018/1/28/a759926f-0826-4d90-9d62-61aa4d202d56.png"
                        }
                    ],
                    "type": "default"
                },
                {
                    "coins": "5000000000000000000",
                    "id": "1748ef25-05e9-4118-ba9c-46ada81189c9",
                    "rewards_summary": {
                        "coins": "5000000000000000000"
                    }
                },
                {
                    "id": "a9cd7c31-17fa-420b-99d3-5feedc7d1d2a",
                    "title": {
                        "text": "капли глазные \"тауфон\" 4%"
                    }
                },
                {
                    "id": "c93d9cae-b073-4a8c-a6c2-4370a93c7eb8",
                    "status": {
                        "description": "According to Shping database",
                        "icon": "not_recalled",
                        "info": "",
                        "title": "This product is not recalled"
                    }
                },
                {
                    "details": {
                        "has_reviews": false
                    },
                    "id": "e5e70364-7311-457c-8649-b7686b0e73b7"
                },
                {
                    "id": "4909a388-13b2-4db6-9f44-2016fa63742b",
                    "text": {
                        "markdown": true,
                        "text": "капли глазные \"тауфон\" 4%",
                        "title": "Description"
                    }
                },
                {
                    "id": "daa6a305-a28a-4701-8c4c-7ae6b598d090",
                    "text": {
                        "markdown": true,
                        "text": "ФГУП \"Московский эндокринный завод\"",
                        "title": "Company"
                    }
                },
                {
                    "id": "7b8d8b2d-e316-4021-af4b-1581d27d050a",
                    "text": {
                        "markdown": true,
                        "text": "GS1 Russia",
                        "title": "Source"
                    }
                },
                {
                    "id": "99ba3216-7763-4929-b3ce-a844f5de8bd2",
                    "text": {
                        "markdown": true,
                        "text": "The product is not recalled",
                        "title": "Recall Status"
                    }
                }
            ],
            "result_type": "normal",
            "rewards_actions": [
                {
                    "1748ef25-05e9-4118-ba9c-46ada81189c9": {
                        "campaign": [
                            "urn:authenticateit:campaign:1"
                        ],
                        "coins": "5000000000000000000",
                        "event": "scan"
                    }
                }
            ],
            "ticket": "b4b28dac-909a-409f-afd7-38d606e9c263",
            "user-agent": "Shping/0.1.0.424 CFNetwork/811.5.4 Darwin/16.7.0",
            "user_id": "urn:authenticateit:user:email:mkv@mailinator.com",
            "x-forwared-for": "46.147.132.179",
            "x-real-ip": "46.147.132.179"
        },
        {
            "accept": "*/*",
            "accept-encoding": "gzip, deflate",
            "accept-language": "en-us",
            "accuracy": "65",
            "city": "Izhevsk",
            "code": "5000347078217",
            "connection": "upgrade",
            "content-length": "129",
            "content-type": "application/json; charset=utf-8",
            "country": "643",
            "delay": "0",
            "event_ts": "2018-03-20T07:15:59Z",
            "handler": "ait_authentication_service_gtin",
            "host": "dev-api.shping.com",
            "id": "5643d6ce-7485-4723-9b42-abe47c8fdefb",
            "language": "en",
            "latitude": "56838743",
            "longitude": "53245701",
            "old_scan_id": 1428888,
            "product_id": "05000347078217",
            "product_name": "Niquitin 21mg Clear 24 Hour 7 Patches Step 1",
            "result": [
                {
                    "id": "5b4c7e9e-d563-454c-80a6-0327cbdad8e2",
                    "image": [
                        {
                            "url": "https://services.authenticateit.com/upload/eandata/500/034/707/5000347078217.jpg"
                        }
                    ]
                },
                {
                    "id": "e48fd362-9a17-4f13-b05f-f2a3f0838657",
                    "title": {
                        "text": "Niquitin 21mg Clear 24 Hour 7 Patches Step 1"
                    }
                },
                {
                    "id": "5e6c28cf-7cc4-4d9c-b371-2adb337b5379",
                    "status": {
                        "description": "According to Shping database",
                        "icon": "not_recalled",
                        "info": "",
                        "title": "This product is not recalled"
                    }
                },
                {
                    "details": {
                        "has_reviews": false
                    },
                    "id": "f48350fc-4ea6-4d59-87fa-3a353fadf219"
                },
                {
                    "id": "94ac6722-c621-44e1-aad7-e189fc4d787a",
                    "text": {
                        "markdown": true,
                        "text": "Bath / Beauty / Hygiene",
                        "title": "Brick"
                    }
                },
                {
                    "id": "42d65b92-eed6-4484-8c70-aa4986b3d8c6",
                    "text": {
                        "markdown": true,
                        "text": "Niquitin",
                        "title": "Company"
                    }
                },
                {
                    "id": "16d6662c-92eb-483f-8984-e1cc99a6076b",
                    "text": {
                        "markdown": true,
                        "text": "2727998",
                        "title": "SKU"
                    }
                },
                {
                    "id": "7833d805-8f80-4e57-99a0-c19559316fdd",
                    "text": {
                        "markdown": true,
                        "text": "The product is not recalled",
                        "title": "Recall Status"
                    }
                }
            ],
            "result_type": "normal",
            "user-agent": "Shping/0.1.0.424 CFNetwork/811.5.4 Darwin/16.7.0",
            "user_id": "urn:authenticateit:user:email:mkv@mailinator.com",
            "x-forwared-for": "46.147.132.179",
            "x-real-ip": "46.147.132.179"
        }
    ]
}
Example Request (read one scan)
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com",
   "scan_id":"fcf47fe4-bdea-4e76-997d-c5474d478877"
}
Example Response
{
    "accept": "*/*",
    "accept-encoding": "gzip, deflate",
    "accept-language": "en-us",
    "accuracy": "65",
    "action_id": "a723b22d-9ec6-4946-99bd-4604b140b49a",
    "authenticateit_identity_ticket": "b4b28dac-909a-409f-afd7-38d606e9c263",
    "city": "Izhevsk",
    "code": "4602676004991",
    "connection": "upgrade",
    "content-length": "129",
    "content-type": "application/json; charset=utf-8",
    "country": "643",
    "delay": "0",
    "event_ts": "2018-03-20T07:34:04Z",
    "handler": "ait_authentication_service_gtin",
    "host": "dev-api.shping.com",
    "id": "fcf47fe4-bdea-4e76-997d-c5474d478877",
    "language": "en",
    "latitude": "56838747",
    "longitude": "53245708",
    "old_scan_id": 1429163,
    "product_id": "04602676004991",
    "product_name": "капли глазные \"тауфон\" 4%",
    "result": [
        {
            "id": "64e0f25c-97f0-4ef7-8e9c-6842580da8a3",
            "image": [
                {
                    "url": "https://cdn.shping.com/2018/1/28/a759926f-0826-4d90-9d62-61aa4d202d56.png"
                }
            ],
            "type": "default"
        },
        {
            "coins": "5000000000000000000",
            "id": "1748ef25-05e9-4118-ba9c-46ada81189c9",
            "rewards_summary": {
                "coins": "5000000000000000000"
            }
        },
        {
            "id": "a9cd7c31-17fa-420b-99d3-5feedc7d1d2a",
            "title": {
                "text": "капли глазные \"тауфон\" 4%"
            }
        },
        {
            "id": "c93d9cae-b073-4a8c-a6c2-4370a93c7eb8",
            "status": {
                "description": "According to Shping database",
                "icon": "not_recalled",
                "info": "",
                "title": "This product is not recalled"
            }
        },
        {
            "details": {
                "has_reviews": false
            },
            "id": "e5e70364-7311-457c-8649-b7686b0e73b7"
        },
        {
            "id": "4909a388-13b2-4db6-9f44-2016fa63742b",
            "text": {
                "markdown": true,
                "text": "капли глазные \"тауфон\" 4%",
                "title": "Description"
            }
        },
        {
            "id": "daa6a305-a28a-4701-8c4c-7ae6b598d090",
            "text": {
                "markdown": true,
                "text": "ФГУП \"Московский эндокринный завод\"",
                "title": "Company"
            }
        },
        {
            "id": "7b8d8b2d-e316-4021-af4b-1581d27d050a",
            "text": {
                "markdown": true,
                "text": "GS1 Russia",
                "title": "Source"
            }
        },
        {
            "id": "99ba3216-7763-4929-b3ce-a844f5de8bd2",
            "text": {
                "markdown": true,
                "text": "The product is not recalled",
                "title": "Recall Status"
            }
        }
    ],
    "result_type": "normal",
    "rewards_actions": [
        {
            "1748ef25-05e9-4118-ba9c-46ada81189c9": {
                "campaign": [
                    "urn:authenticateit:campaign:1"
                ],
                "coins": "5000000000000000000",
                "event": "scan"
            }
        }
    ],
    "ticket": "b4b28dac-909a-409f-afd7-38d606e9c263",
    "user-agent": "Shping/0.1.0.424 CFNetwork/811.5.4 Darwin/16.7.0",
    "user_id": "urn:authenticateit:user:email:mkv@mailinator.com",
    "x-forwared-for": "46.147.132.179",
    "x-real-ip": "46.147.132.179"
}

Read user rewards

POST /identity-service/user/rewards
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User id
type body Required: Claim types ("approved", "rejected", "pending")
from body From TS (datetime format '2012-12-12T01-01-01Z')
to body To TS (datetime format '2012-12-12T01-01-01Z')
offset body Offset
limit body Limit
order body Order type ("asc", "desc")
Example Request (read list of rewards)
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com",
   "type":"approved",
   "limit":2
}
Example Response
{
    "count": 67,
    "data": [
        {
            "approved_coins": "5000000000000000000",
            "approved_events": [
                "scan"
            ],
            "campaign_id": "urn:authenticateit:campaign:1",
            "closed_coins": 0,
            "closed_events": [],
            "coin_rate": 1,
            "events": [
                "scan"
            ],
            "id": "cc8a340d-93f6-40c1-bc09-467c1509886f",
            "level": "basic",
            "num_impressions": 1,
            "pending_coins": "5000000000000000000",
            "scan_id": "5e6affb7-5eb1-4bc8-8b2b-26dc415e268c",
            "ts": "2018-03-20T07:39:06Z",
            "user_coin_rate": 1,
            "user_id": "urn:authenticateit:user:email:mkv@mailinator.com"
        },
        {
            "approved_coins": "5000000000000000000",
            "approved_events": [
                "scan"
            ],
            "campaign_id": "urn:authenticateit:campaign:1",
            "closed_coins": 0,
            "closed_events": [],
            "coin_rate": 1,
            "events": [
                "scan"
            ],
            "id": "6a307ec4-f8cf-4f0b-a9fc-2709d95848b0",
            "level": "basic",
            "num_impressions": 1,
            "pending_coins": "5000000000000000000",
            "scan_id": "fcf47fe4-bdea-4e76-997d-c5474d478877",
            "ts": "2018-03-20T07:34:16Z",
            "user_coin_rate": 1,
            "user_id": "urn:authenticateit:user:email:mkv@mailinator.com"
        }
    ]
}

Read user buddies list

POST /identity-service/user/buddies
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body User Id (Read main chunk)
chunk body Chunk Id
Example Request
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com"
}
Example Response
{
    "data": [
        {
            "coins": "13557722920000000000000",
            "first_name": "Кокрок",
            "id": "urn:authenticateit:user:email:kokrok@mailinator.com",
            "last_name": "",
            "level_name": "Basic",
            "level_type": "basic",
            "photo": "https://dev-cdn.shping.com/2018/3/21/d96cdac5-8c65-4dd7-9fd7-8fcc97ace2c1",
            "status": "family_separately",
            "ts": "2018-03-20T16:49:32Z",
            "type": "buddy"
        },
        {
            "coins": "198000000000000000000",
            "first_name": "Masha ",
            "id": "urn:authenticateit:user:email:devtuk@mailinator.com",
            "last_name": "",
            "level_name": "Bronze",
            "level_type": "bronze",
            "photo": "",
            "ts": "2018-03-24T06:12:17Z",
            "type": "buddy"
        }
    ],
    "id": "urn:authenticateit:user:buddies_chunk:8fc985a4-2f2a-4731-aa1d-cd33f793debd",
    "next": null,
    "owner": "urn:authenticateit:user:email:mkv@mailinator.com",
    "previous": null
}

Read list of sended reminders

POST /identity-service/user/reminders
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User Id
Example Request
{
   "id": "urn:authenticateit:user:email:reminder2@pay-mon.com"
}
Example Response
{
    "id": "urn:authenticateit:user:email:reminder2@pay-mon.com@users_reminders",
    "reminders": [
        {
            "reminder": "half_way_to_next_level",
            "ts": "2018-07-31T12:10:48Z"
        },
        {
            "reminder": "half_way_to_next_level",
            "ts": "2018-07-20T12:09:54Z"
        },
        {
            "reminder": "welcome_message",
            "ts": "2018-07-31T12:09:25Z"
        }
    ]
}

Read user timeline

POST /identity-service/user/timeline
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body User Id (Read main chunk)
chunk body Chunk Id
Example Request
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com"
}
Example Response
{
    "id": "d82cecd5-6a1c-4efc-921e-220272412890",
    "next": "f9014313-2054-453e-88fb-43a2e019a42f",
    "records": [
        {
            "coins": "1000000000000000000",
            "status": "approved",
            "text": "Earned 1 Shping coins from <b>1000000000000000000</b> ToDo card.",
            "ts": "2018-05-07T11:12:25Z",
            "type": "coins"
        },
        {
            "coins": "1000000000000000000",
            "status": "approved",
            "text": "Earned 1 Shping coins from <b>System Review</b> ToDo card.",
            "ts": "2018-05-07T11:12:10Z",
            "type": "coins"
        },
        {
            "coins": "1000000000000000000",
            "status": "approved",
            "text": "Earned 1 Shping coins from <b>System Review</b> ToDo card.",
            "ts": "2018-05-07T10:58:50Z",
            "type": "coins"
        },
        {
            "claim_id": "ef1da36a-6cbe-41bc-8674-4e714d5059f6",
            "coins": "10000000000000000000",
            "scan_id": "b77e87e1-7600-4aa3-8eb4-453a57d5c9b0",
            "status": "approved",
            "text": "Earned from <b>System campaign</b> per scan and view info of <b>Phone</b>.",
            "ts": "2018-05-07T10:55:05Z",
            "type": "coins"
        },
        {
            "coins": "10000000000000000000",
            "earned_coins": "10000000000000000000",
            "image_url": "https://dev-cdn.shping.com/2018/5/7/037361d4-b7c3-41fc-a3b7-e059c5ea6ab0.jpg",
            "max_coins": "10000000000000000000",
            "product_name": "Phone",
            "scan_id": "b77e87e1-7600-4aa3-8eb4-453a57d5c9b0",
            "text": "Phone",
            "ts": "2018-05-07T10:53:56Z",
            "type": "scan"
        },
        {
            "coins": 0,
            "earned_coins": 0,
            "image_url": "https://cdn.shping.com/2018/1/28/a759926f-0826-4d90-9d62-61aa4d202d56.png",
            "max_coins": "10000000000000000000",
            "product_name": "сыр творожный \"альметте\" сливочный",
            "scan_id": "467d3c24-cf7f-452b-a6ce-7d36a422509e",
            "text": "сыр творожный \"альметте\" сливочный",
            "ts": "2018-04-19T05:27:58Z",
            "type": "scan"
        },
        {
            "coins": 0,
            "earned_coins": 0,
            "image_url": "https://cdn.shping.com/2018/1/28/a759926f-0826-4d90-9d62-61aa4d202d56.png",
            "max_coins": "10000000000000000000",
            "product_name": "сыр творожный \"альметте\" сливочный",
            "scan_id": "8a485100-00ca-48e0-985d-3778b8a513bd",
            "text": "сыр творожный \"альметте\" сливочный",
            "ts": "2018-04-19T05:27:54Z",
            "type": "scan"
        },
        {
            "coins": 0,
            "earned_coins": 0,
            "image_url": "https://cdn.shping.com/2018/1/28/a759926f-0826-4d90-9d62-61aa4d202d56.png",
            "max_coins": "10000000000000000000",
            "product_name": "сыр творожный \"альметте\" сливочный",
            "scan_id": "cdbd37c4-26fe-4269-af5b-d1c63f5a8459",
            "text": "сыр творожный \"альметте\" сливочный",
            "ts": "2018-04-19T05:24:02Z",
            "type": "scan"
        },
        {
            "coins": 0,
            "earned_coins": 0,
            "image_url": "https://cdn.shping.com/2018/1/28/a759926f-0826-4d90-9d62-61aa4d202d56.png",
            "max_coins": "10000000000000000000",
            "product_name": "сыр творожный \"альметте\" сливочный",
            "scan_id": "807d1a7c-651a-4408-bd1e-8aeb5444de39",
            "text": "сыр творожный \"альметте\" сливочный",
            "ts": "2018-04-19T05:23:56Z",
            "type": "scan"
        },
        {
            "coins": 0,
            "earned_coins": 0,
            "image_url": "https://cdn.shping.com/2018/1/28/a759926f-0826-4d90-9d62-61aa4d202d56.png",
            "max_coins": "10000000000000000000",
            "product_name": "сыр творожный \"альметте\" сливочный",
            "scan_id": "6175e37e-7f09-480b-8b40-687c9828c34f",
            "text": "сыр творожный \"альметте\" сливочный",
            "ts": "2018-04-19T05:23:52Z",
            "type": "scan"
        }
    ]
}

Read user level info

POST /identity-service/user/level
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User Id
Example Request
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com"
}
Example Response
{
    "current_description": {
        "activity": [
            {
                "description": "Scans of unique numbered barcodes per month",
                "description_i18n_id": "user_levels-platinum-activity-unique_scans-description",
                "id": "unique_scans",
                "levelup_text": "You need to scan {} new products for the current month to level up!",
                "levelup_text_i18n_id": "user_levels-platinum-activity-unique_scans-lvlup",
                "name": "Unique scans",
                "name_i18n_id": "user_levels-platinum-activity-unique_scans-name",
                "period": 1,
                "range": "month",
                "value": 300
            },
            {
                "description": "Cumulative number of Days with no Scans per calendar month",
                "description_i18n_id": "user_levels-platinum-activity-days_no_scans-description",
                "id": "number_of_days_with_no_scans",
                "levelup_text": "You haven't leveled up yet because as per Terms and Conditions, you did not meet the required number of days of scanning to move up to the next level. Keep scanning new products to earn more coins to level up!",
                "levelup_text_i18n_id": "user_levels-platinum-activity-days_no_scans-lvlup",
                "name": "Days with no scans",
                "name_i18n_id": "user_levels-platinum-activity-days_no_scans-name",
                "period": 1,
                "range": "month",
                "value": 5
            },
            {
                "description": "Required number of linked Shping Buddies",
                "description_i18n_id": "user_levels-platinum-activity-buddies-description",
                "id": "buddies",
                "levelup_text": "You need to add {} buddies to your Shping Buddies list.",
                "levelup_text_i18n_id": "user_levels-platinum-activity-buddies-lvlup",
                "name": "Active Shping Buddies",
                "name_i18n_id": "user_levels-platinum-activity-buddies-name",
                "value": 30
            }
        ],
        "coin_rate": 10,
        "earnings": [
            {
                "coins": "10000000000000000000",
                "description": "All Product Scanning",
                "description_i18n_id": "user_levels-platinum-earnings-scanning_products-description",
                "full_description": "For scanning any products barcode you will get Shping rewards. Subject to the terms and condition.",
                "full_description_i18n_id": "user_levels-platinum-earnings-scanning_products-full_description",
                "type": "scanning_products"
            },
            {
                "coins": "2000000000000000000",
                "description": "Adding a new product",
                "description_i18n_id": "user_levels-platinum-earnings-adding_new-description",
                "full_description": "For adding a new product you will get Shping rewards. Subject to the terms and condition.",
                "full_description_i18n_id": "user_levels-platinum-earnings-adding_new-full_description",
                "type": "adding_new"
            },
            {
                "coins": "150000000000000000000",
                "description": "Writing Reviews",
                "description_i18n_id": "user_levels-platinum-earnings-writing_reviews-description",
                "full_description": "For write a review you will also be rewarded from time to time. Subject to the current terms and condition.",
                "full_description_i18n_id": "user_levels-platinum-earnings-writing_reviews-full_description",
                "type": "writing_reviews"
            },
            {
                "coins": "20000000000000000000",
                "description": "Editing Product Info",
                "description_i18n_id": "user_levels-platinum-earnings-editing_product-description",
                "full_description": " When you see discrepancy between product label and what's recorded in our system, you will also be rewarded. Subject to the terms and condition.",
                "full_description_i18n_id": "user_levels-platinum-earnings-editing_product-full_description",
                "type": "editing_product"
            },
            {
                "coins": "20000000000000000000",
                "description": "Submitting valuable life hack",
                "description_i18n_id": "user_levels-platinum-earnings-submitting_lifehack-description",
                "full_description": "If you know a valuable life hack that our panel of reviews would accept to be shown to other users, you will also be rewarded.",
                "full_description_i18n_id": "user_levels-platinum-earnings-submitting_lifehack-full_description",
                "type": "submitting_lifehack"
            }
        ],
        "footer": "Earn 10 times more coins per product scan",
        "footer_i18n_id": "user_levels-platinum-footer",
        "header": "300 scans per month <br/>Maximum 5 days with no scans per month <br/>30 of linked Shping Buddies",
        "header_i18n_id": "user_levels-platinum-header",
        "icon": "https://cdn.shping.com/2017/11/22/d19659ca-2fe0-41c4-bafe-f4b54a67cf61.png",
        "name": "Platinum",
        "name_i18n_id": "user_levels-platinum-name",
        "short_description": "Your Shping Level will be updated in 8 days.",
        "short_description_i18n_id": "user_levels-platinum-short_description",
        "title": "Keep scanning new products to earn more platinum!",
        "title_i18n_id": "user_levels-platinum-title",
        "type": "platinum"
    },
    "current_percentages": 0,
    "description": [
        {
            "activity": [],
            "coin_rate": 1,
            "earnings": [
                {
                    "coins": "1000000000000000000",
                    "description": "All Product Scanning",
                    "description_i18n_id": "user_levels-basic-earnings-scanning_products-description",
                    "full_description": "For scanning any products barcode you will get Shping rewards. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-basic-earnings-scanning_products-full_description",
                    "type": "scanning_products"
                },
                {
                    "coins": "2000000000000000000",
                    "description": "Adding a new product",
                    "description_i18n_id": "user_levels-basic-earnings-adding_new-description",
                    "full_description": "For adding a new product you will get Shping rewards. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-basic-earnings-adding_new-full_description",
                    "type": "adding_new"
                },
                {
                    "coins": "15000000000000000000",
                    "description": "Writing Reviews",
                    "description_i18n_id": "user_levels-basic-earnings-writing_reviews-description",
                    "full_description": "For write a review you will also be rewarded from time to time. Subject to the current terms and condition.",
                    "full_description_i18n_id": "user_levels-basic-earnings-writing_reviews-full_description",
                    "type": "writing_reviews"
                },
                {
                    "coins": "20000000000000000000",
                    "description": "Editing Product Info",
                    "description_i18n_id": "user_levels-basic-earnings-editing_product-description",
                    "full_description": " When you see discrepancy between product label and what's recorded in our system, you will also be rewarded. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-basic-earnings-editing_product-full_description",
                    "type": "editing_product"
                },
                {
                    "coins": "20000000000000000000",
                    "description": "Submitting valuable life hack",
                    "description_i18n_id": "user_levels-basic-earnings-submitting_lifehack-description",
                    "full_description": "If you know a valuable life hack that our panel of reviews would accept to be shown to other users, you will also be rewarded.",
                    "full_description_i18n_id": "user_levels-basic-earnings-submitting_lifehack-full_description",
                    "type": "submitting_lifehack"
                }
            ],
            "footer": "Normal coins per any product scan",
            "footer_i18n_id": "user_levels-basic-footer",
            "header": "Base level",
            "header_i18n_id": "user_levels-basic-header",
            "icon": "https://cdn.shping.com/2017/11/22/2f98de94-73bf-4b40-9490-e4a8a714264c.png",
            "name": "Basic",
            "name_i18n_id": "user_levels-basic-name",
            "short_description": "Your Shping Level will be updated in 8 days.",
            "short_description_i18n_id": "user_levels-basic-short_description",
            "title": "Keep scanning new products to earn more coins to level up!",
            "title_i18n_id": "user_levels-basic-title",
            "type": "basic"
        },
        {
            "activity": [
                {
                    "description": "Scans of unique numbered barcodes per month",
                    "description_i18n_id": "user_levels-bronze-activity-unique_scans-description",
                    "id": "unique_scans",
                    "levelup_text": "You need to scan {} new products for the current month to level up!",
                    "levelup_text_i18n_id": "user_levels-bronze-activity-unique_scans-lvlup",
                    "name": "Unique scans",
                    "name_i18n_id": "user_levels-bronze-activity-unique_scans-name",
                    "period": 1,
                    "range": "month",
                    "value": 20
                },
                {
                    "description": "Cumulative number of Days with no Scans per calendar month",
                    "description_i18n_id": "user_levels-bronze-activity-days_no_scans-description",
                    "id": "number_of_days_with_no_scans",
                    "levelup_text": "You haven't leveled up yet because as per Terms and Conditions, you did not meet the required number of days of scanning to move up to the next level. Keep scanning new products to earn more coins to level up!",
                    "levelup_text_i18n_id": "user_levels-bronze-activity-days_no_scans-lvlup",
                    "name": "Days with no scans",
                    "name_i18n_id": "user_levels-bronze-activity-days_no_scans-name",
                    "period": 1,
                    "range": "month",
                    "value": 20
                },
                {
                    "description": "Required number of linked Shping Buddies",
                    "description_i18n_id": "user_levels-bronze-activity-buddies-description",
                    "id": "buddies",
                    "levelup_text": "You need to add {} buddies to your Shping Buddies list.",
                    "levelup_text_i18n_id": "user_levels-bronze-activity-buddies-lvlup",
                    "name": "Active Shping Buddies",
                    "name_i18n_id": "user_levels-bronze-activity-buddies-name",
                    "value": 2
                }
            ],
            "coin_rate": 2,
            "earnings": [
                {
                    "coins": "2000000000000000000",
                    "description": "All Product Scanning",
                    "description_i18n_id": "user_levels-bronze-earnings-scanning_products-description",
                    "full_description": "For scanning any products barcode you will get Shping rewards. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-bronze-earnings-scanning_products-full_description",
                    "type": "scanning_products"
                },
                {
                    "coins": "2000000000000000000",
                    "description": "Adding a new product",
                    "description_i18n_id": "user_levels-bronze-earnings-adding_new-description",
                    "full_description": "For adding a new product you will get Shping rewards. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-bronze-earnings-adding_new-full_description",
                    "type": "adding_new"
                },
                {
                    "coins": "30000000000000000000",
                    "description": "Writing Reviews",
                    "description_i18n_id": "user_levels-bronze-earnings-writing_reviews-description",
                    "full_description": "For write a review you will also be rewarded from time to time. Subject to the current terms and condition.",
                    "full_description_i18n_id": "user_levels-bronze-earnings-writing_reviews-full_description",
                    "type": "writing_reviews"
                },
                {
                    "coins": "20000000000000000000",
                    "description": "Editing Product Info",
                    "description_i18n_id": "user_levels-bronze-earnings-editing_product-description",
                    "full_description": " When you see discrepancy between product label and what's recorded in our system, you will also be rewarded. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-bronze-earnings-editing_product-full_description",
                    "type": "editing_product"
                },
                {
                    "coins": "20000000000000000000",
                    "description": "Submitting valuable life hack",
                    "description_i18n_id": "user_levels-bronze-earnings-submitting_lifehack-description",
                    "full_description": "If you know a valuable life hack that our panel of reviews would accept to be shown to other users, you will also be rewarded.",
                    "full_description_i18n_id": "user_levels-bronze-earnings-submitting_lifehack-full_description",
                    "type": "submitting_lifehack"
                }
            ],
            "footer": "Earn 2 times more coins per product scan",
            "footer_i18n_id": "user_levels-bronze-footer",
            "header": "20 scans per month <br/>Maximum 20 days with no scans per month <br/>2 of linked Shping Buddies",
            "header_i18n_id": "user_levels-bronze-header",
            "icon": "https://cdn.shping.com/2017/11/22/0612ecb0-1d92-4125-a8bc-17e1010ea74b.png",
            "name": "Bronze",
            "name_i18n_id": "user_levels-bronze-name",
            "short_description": "Your Shping Level will be updated in 8 days.",
            "short_description_i18n_id": "user_levels-bronze-short_description",
            "title": "Keep scanning new products to earn more coins to level up!",
            "title_i18n_id": "user_levels-bronze-title",
            "type": "bronze"
        },
        {
            "activity": [
                {
                    "description": "Scans of unique numbered barcodes per month",
                    "description_i18n_id": "user_levels-silver-activity-unique_scans-description",
                    "id": "unique_scans",
                    "levelup_text": "You need to scan {} new products for the current month to level up!",
                    "levelup_text_i18n_id": "user_levels-silver-activity-unique_scans-lvlup",
                    "name": "Unique scans",
                    "name_i18n_id": "user_levels-silver-activity-unique_scans-name",
                    "period": 1,
                    "range": "month",
                    "value": 80
                },
                {
                    "description": "Cumulative number of Days with no Scans per calendar month",
                    "description_i18n_id": "user_levels-silver-activity-days_no_scans-description",
                    "id": "number_of_days_with_no_scans",
                    "levelup_text": "You haven't leveled up yet because as per Terms and Conditions, you did not meet the required number of days of scanning to move up to the next level. Keep scanning new products to earn more coins to level up!",
                    "levelup_text_i18n_id": "user_levels-silver-activity-days_no_scans-lvlup",
                    "name": "Days with no scans",
                    "name_i18n_id": "user_levels-silver-activity-days_no_scans-name",
                    "period": 1,
                    "range": "month",
                    "value": 15
                },
                {
                    "description": "Required number of linked Shping Buddies",
                    "description_i18n_id": "user_levels-silver-activity-buddies-description",
                    "id": "buddies",
                    "levelup_text": "You need to add {} buddies to your Shping Buddies list.",
                    "levelup_text_i18n_id": "user_levels-silver-activity-buddies-lvlup",
                    "name": "Active Shping Buddies",
                    "name_i18n_id": "user_levels-silver-activity-buddies-name",
                    "value": 5
                }
            ],
            "coin_rate": 3,
            "earnings": [
                {
                    "coins": "3000000000000000000",
                    "description": "All Product Scanning",
                    "description_i18n_id": "user_levels-silver-earnings-scanning_products-description",
                    "full_description": "For scanning any products barcode you will get Shping rewards. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-silver-earnings-scanning_products-full_description",
                    "type": "scanning_products"
                },
                {
                    "coins": "2000000000000000000",
                    "description": "Adding a new product",
                    "description_i18n_id": "user_levels-silver-earnings-adding_new-description",
                    "full_description": "For adding a new product you will get Shping rewards. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-silver-earnings-adding_new-full_description",
                    "type": "adding_new"
                },
                {
                    "coins": "45000000000000000000",
                    "description": "Writing Reviews",
                    "description_i18n_id": "user_levels-silver-earnings-writing_reviews-description",
                    "full_description": "For write a review you will also be rewarded from time to time. Subject to the current terms and condition.",
                    "full_description_i18n_id": "user_levels-silver-earnings-writing_reviews-full_description",
                    "type": "writing_reviews"
                },
                {
                    "coins": "20000000000000000000",
                    "description": "Editing Product Info",
                    "description_i18n_id": "user_levels-silver-earnings-editing_product-description",
                    "full_description": " When you see discrepancy between product label and what's recorded in our system, you will also be rewarded. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-silver-earnings-editing_product-full_description",
                    "type": "editing_product"
                },
                {
                    "coins": "20000000000000000000",
                    "description": "Submitting valuable life hack",
                    "description_i18n_id": "user_levels-silver-earnings-submitting_lifehack-description",
                    "full_description": "If you know a valuable life hack that our panel of reviews would accept to be shown to other users, you will also be rewarded.",
                    "full_description_i18n_id": "user_levels-silver-earnings-submitting_lifehack-full_description",
                    "type": "submitting_lifehack"
                }
            ],
            "footer": "Earn 3 times more coins per product scan",
            "footer_i18n_id": "user_levels-silver-footer",
            "header": "80 scans per month <br/>Maximum 15 days with no scans per month <br/>5 of linked Shping Buddies",
            "header_i18n_id": "user_levels-silver-header",
            "icon": "https://cdn.shping.com/2017/11/22/ea2f722f-27db-4728-9178-991a94b2886b.png",
            "name": "Silver",
            "name_i18n_id": "user_levels-silver-name",
            "short_description": "Your Shping Level will be updated in 8 days.",
            "short_description_i18n_id": "user_levels-silver-short_description",
            "title": "Keep scanning new products to earn more coins to level up!",
            "title_i18n_id": "user_levels-silver-title",
            "type": "silver"
        },
        {
            "activity": [
                {
                    "description": "Scans of unique numbered barcodes per month",
                    "description_i18n_id": "user_levels-gold-activity-unique_scans-description",
                    "id": "unique_scans",
                    "levelup_text": "You need to scan {} new products for the current month to level up!",
                    "levelup_text_i18n_id": "user_levels-gold-activity-unique_scans-lvlup",
                    "name": "Unique scans",
                    "name_i18n_id": "user_levels-gold-activity-unique_scans-name",
                    "period": 1,
                    "range": "month",
                    "value": 200
                },
                {
                    "description": "Cumulative number of Days with no Scans per calendar month",
                    "description_i18n_id": "user_levels-gold-activity-days_no_scans-description",
                    "id": "number_of_days_with_no_scans",
                    "levelup_text": "You haven't leveled up yet because as per Terms and Conditions, you did not meet the required number of days of scanning to move up to the next level. Keep scanning new products to earn more coins to level up!",
                    "levelup_text_i18n_id": "user_levels-gold-activity-days_no_scans-lvlup",
                    "name": "Days with no scans",
                    "name_i18n_id": "user_levels-gold-activity-days_no_scans-name",
                    "period": 1,
                    "range": "month",
                    "value": 10
                },
                {
                    "description": "Required number of linked Shping Buddies",
                    "description_i18n_id": "user_levels-gold-activity-buddies-description",
                    "id": "buddies",
                    "levelup_text": "You need to add {} buddies to your Shping Buddies list.",
                    "levelup_text_i18n_id": "user_levels-gold-activity-buddies-lvlup",
                    "name": "Active Shping Buddies",
                    "name_i18n_id": "user_levels-gold-activity-buddies-name",
                    "value": 10
                }
            ],
            "coin_rate": 5,
            "earnings": [
                {
                    "coins": "5000000000000000000",
                    "description": "All Product Scanning",
                    "description_i18n_id": "user_levels-gold-earnings-scanning_products-description",
                    "full_description": "For scanning any products barcode you will get Shping rewards. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-gold-earnings-scanning_products-full_description",
                    "type": "scanning_products"
                },
                {
                    "coins": "2000000000000000000",
                    "description": "Adding a new product",
                    "description_i18n_id": "user_levels-gold-earnings-adding_new-description",
                    "full_description": "For adding a new product you will get Shping rewards. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-gold-earnings-adding_new-full_description",
                    "type": "adding_new"
                },
                {
                    "coins": "60000000000000000000",
                    "description": "Writing Reviews",
                    "description_i18n_id": "user_levels-gold-earnings-writing_reviews-description",
                    "full_description": "For write a review you will also be rewarded from time to time. Subject to the current terms and condition.",
                    "full_description_i18n_id": "user_levels-gold-earnings-writing_reviews-full_description",
                    "type": "writing_reviews"
                },
                {
                    "coins": "20000000000000000000",
                    "description": "Editing Product Info",
                    "description_i18n_id": "user_levels-gold-earnings-editing_product-description",
                    "full_description": " When you see discrepancy between product label and what's recorded in our system, you will also be rewarded. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-gold-earnings-editing_product-full_description",
                    "type": "editing_product"
                },
                {
                    "coins": "20000000000000000000",
                    "description": "Submitting valuable life hack",
                    "description_i18n_id": "user_levels-gold-earnings-submitting_lifehack-description",
                    "full_description": "If you know a valuable life hack that our panel of reviews would accept to be shown to other users, you will also be rewarded.",
                    "full_description_i18n_id": "user_levels-gold-earnings-submitting_lifehack-full_description",
                    "type": "submitting_lifehack"
                }
            ],
            "footer": "Earn 5 times more coins per product scan",
            "footer_i18n_id": "user_levels-gold-footer",
            "header": "200 scans per month <br/>Maximum 10 days with no scans per month <br/>10 of linked Shping Buddies",
            "header_i18n_id": "user_levels-gold-header",
            "icon": "https://cdn.shping.com/2017/11/22/8c5e8e63-ea4a-4c0c-b859-85fc4eac6850.png",
            "name": "Gold",
            "name_i18n_id": "user_levels-gold-name",
            "short_description": "Your Shping Level will be updated in 8 days.",
            "short_description_i18n_id": "user_levels-gold-short_description",
            "title": "Keep scanning new products to earn more coins to level up!",
            "title_i18n_id": "user_levels-gold-title",
            "type": "gold"
        },
        {
            "activity": [
                {
                    "description": "Scans of unique numbered barcodes per month",
                    "description_i18n_id": "user_levels-platinum-activity-unique_scans-description",
                    "id": "unique_scans",
                    "levelup_text": "You need to scan {} new products for the current month to level up!",
                    "levelup_text_i18n_id": "user_levels-platinum-activity-unique_scans-lvlup",
                    "name": "Unique scans",
                    "name_i18n_id": "user_levels-platinum-activity-unique_scans-name",
                    "period": 1,
                    "range": "month",
                    "value": 300
                },
                {
                    "description": "Cumulative number of Days with no Scans per calendar month",
                    "description_i18n_id": "user_levels-platinum-activity-days_no_scans-description",
                    "id": "number_of_days_with_no_scans",
                    "levelup_text": "You haven't leveled up yet because as per Terms and Conditions, you did not meet the required number of days of scanning to move up to the next level. Keep scanning new products to earn more coins to level up!",
                    "levelup_text_i18n_id": "user_levels-platinum-activity-days_no_scans-lvlup",
                    "name": "Days with no scans",
                    "name_i18n_id": "user_levels-platinum-activity-days_no_scans-name",
                    "period": 1,
                    "range": "month",
                    "value": 5
                },
                {
                    "description": "Required number of linked Shping Buddies",
                    "description_i18n_id": "user_levels-platinum-activity-buddies-description",
                    "id": "buddies",
                    "levelup_text": "You need to add {} buddies to your Shping Buddies list.",
                    "levelup_text_i18n_id": "user_levels-platinum-activity-buddies-lvlup",
                    "name": "Active Shping Buddies",
                    "name_i18n_id": "user_levels-platinum-activity-buddies-name",
                    "value": 30
                }
            ],
            "coin_rate": 10,
            "earnings": [
                {
                    "coins": "10000000000000000000",
                    "description": "All Product Scanning",
                    "description_i18n_id": "user_levels-platinum-earnings-scanning_products-description",
                    "full_description": "For scanning any products barcode you will get Shping rewards. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-platinum-earnings-scanning_products-full_description",
                    "type": "scanning_products"
                },
                {
                    "coins": "2000000000000000000",
                    "description": "Adding a new product",
                    "description_i18n_id": "user_levels-platinum-earnings-adding_new-description",
                    "full_description": "For adding a new product you will get Shping rewards. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-platinum-earnings-adding_new-full_description",
                    "type": "adding_new"
                },
                {
                    "coins": "150000000000000000000",
                    "description": "Writing Reviews",
                    "description_i18n_id": "user_levels-platinum-earnings-writing_reviews-description",
                    "full_description": "For write a review you will also be rewarded from time to time. Subject to the current terms and condition.",
                    "full_description_i18n_id": "user_levels-platinum-earnings-writing_reviews-full_description",
                    "type": "writing_reviews"
                },
                {
                    "coins": "20000000000000000000",
                    "description": "Editing Product Info",
                    "description_i18n_id": "user_levels-platinum-earnings-editing_product-description",
                    "full_description": " When you see discrepancy between product label and what's recorded in our system, you will also be rewarded. Subject to the terms and condition.",
                    "full_description_i18n_id": "user_levels-platinum-earnings-editing_product-full_description",
                    "type": "editing_product"
                },
                {
                    "coins": "20000000000000000000",
                    "description": "Submitting valuable life hack",
                    "description_i18n_id": "user_levels-platinum-earnings-submitting_lifehack-description",
                    "full_description": "If you know a valuable life hack that our panel of reviews would accept to be shown to other users, you will also be rewarded.",
                    "full_description_i18n_id": "user_levels-platinum-earnings-submitting_lifehack-full_description",
                    "type": "submitting_lifehack"
                }
            ],
            "footer": "Earn 10 times more coins per product scan",
            "footer_i18n_id": "user_levels-platinum-footer",
            "header": "300 scans per month <br/>Maximum 5 days with no scans per month <br/>30 of linked Shping Buddies",
            "header_i18n_id": "user_levels-platinum-header",
            "icon": "https://cdn.shping.com/2017/11/22/d19659ca-2fe0-41c4-bafe-f4b54a67cf61.png",
            "name": "Platinum",
            "name_i18n_id": "user_levels-platinum-name",
            "short_description": "Your Shping Level will be updated in 8 days.",
            "short_description_i18n_id": "user_levels-platinum-short_description",
            "title": "Keep scanning new products to earn more platinum!",
            "title_i18n_id": "user_levels-platinum-title",
            "type": "platinum"
        }
    ],
    "max_percentages": 100,
    "name": "Platinum",
    "scans_left": 0,
    "todo": [
        "Your Shping Level will be updated in 8 days."
    ],
    "type": "platinum"
}

Read contributor info

POST /identity-service/user/contributor_level
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User Id
Example Request
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com"
}
Example Response
{
    "contributor_levels": [
        {
            "accuracy": 95,
            "coin_rate": 2000000000000000000,
            "current": true,
            "current_percentages": 50,
            "days_left": 12,
            "descriptions": "Add new products to Shping regularly to maintain your contributor status!",
            "descriptions_i18n_id": "contributor_levels-newbie-descriptions",
            "full_description": "While at the Newbie level, you will receive 2 Shping coins for every product added and verified by Shping verification team.",
            "full_description_i18n_id": "contributor_levels-newbie-full_description",
            "max_percentages": 100,
            "name": "Newbie",
            "name_i18n_id": "contributor_levels-newbie-name",
            "products": 5,
            "todo_description": "<b>0</b> new products",
            "todo_description_i18n_id": "contributor_levels-newbie-todo_description",
            "type": "newbie"
        },
        {
            "accuracy_rating": 90,
            "coin_rate": 3000000000000000000,
            "contributions": 10,
            "current": false,
            "descriptions": "Add new products to Shping regularly to maintain your contributor status!",
            "descriptions_i18n_id": "contributor_levels-expert-descriptions",
            "full_description": "While at the Expert level, you will receive 3 Shping coins for every product added and verified by Shping verification team. Being an expert contributor your contribution get recognized even further, all you contributions are linked to your profile and whenever someone new scans that product you earn One Shping coint. Its very important to ensure that information is complete and correct, as if anyone else will correct the error and find information you have forgotten to enter which exists on the product packaging This person would become the new source for this product while you would loose your entitlements.",
            "full_description_i18n_id": "contributor_levels-expert-full_description",
            "interval": "month",
            "name": "Expert",
            "name_i18n_id": "contributor_levels-expert-name",
            "todo_description": "<b>10</b> new products",
            "todo_description_i18n_id": "contributor_levels-expert-todo_description",
            "type": "expert"
        },
        {
            "accuracy_rating": 97,
            "coin_rate": 4000000000000000000,
            "contributions": 30,
            "current": false,
            "descriptions": "Add new products to Shping regularly to maintain your contributor status!",
            "full_description": "While at the Guru level, you will receive 4 Shping coins for every product added and verified by Shping verification team. Being an expert contributor your contribution get recognized even further, all you contributions are linked to your profile and whenever someone new scans that product you earn Two Shping coins. Its very important to ensure that information is complete and correct, as if anyone else will correct the error and find information you have forgotten to enter which exists on the product packaging This person would become the new source for this product while you would loose your entitlements.",
            "interval": "month",
            "name": "Guru",
            "name_i18n_id": "contributor_levels-guru-todo_description",
            "todo_description": "<b>30</b> new products",
            "type": "guru"
        }
    ],
    "current_level": {
        "accuracy": 95,
        "current_percentages": 50,
        "days_left": 12,
        "max_percentages": 100,
        "products": 5,
        "type": "newbie"
    }
}

Read transactions list

POST /user/transactions
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User Id
Example Request
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com"
}
Example Response
{
    "history": [
        {
            "coins": "100000000000000000000",
            "hash": "0x09acbc55a8945966a514c59c6495a8451f6cc4a9cf9e3a77d9c013c682ce5383",
            "id": "e9c340aa-dacf-49bd-a5e0-8a938c477d54",
            "status": "success",
            "ts": "2018-09-17T16:44:37Z",
            "type": "deposit"
        },
        {
            "account": {
                "account": "658663884",
                "bank": "Test4",
                "bsb": "856658",
                "city": "Test4",
                "country": "036",
                "description": "Test4",
                "id": "60cd7ce5-1913-4a55-b047-4ce09dfbe593",
                "name": "Test4"
            },
            "coins": "100000000000000000000",
            "converted_usd_value": 0.03,
            "converted_value": 0.06,
            "currency": "aud",
            "hash": "f2844305f06bc7918114622f96002e8b",
            "id": "urn:authenticateit:transaction_request:2519981f-46a9-4656-b5f2-9dcdce12b5b4",
            "profile_coins": "299123456789012345678",
            "status": "success",
            "ts": "2018-10-29T14:53:00Z",
            "type": "cashout"
        },
        {
            "address": "0x1b0b278dDEAe29c4502f3888E6B58367643f9308",
            "coins": "500000000000000000000",
            "coins_wei_rate": 1.7e-10,
            "fee": "400000000000000000000",
            "hash": null,
            "id": "urn:authenticateit:transaction_request:171c2272-dc0a-48b5-87df-4b685b443338",
            "profile_coins": "9000000000000000000000",
            "status": "failure",
            "ts": "2018-07-05T11:20:00Z",
            "wei": 68000000000
        },
        {
            "address": "0x1b0b278dDEAe29c4502f3888E6B58367643f9308",
            "coins": "500000000000000000000",
            "coins_wei_rate": 3.333333334e-10,
            "fee": "50000000000000000000",
            "hash": "0xa2e12a7a050efeaa9d38a7329bb110852ac8a1fef8f87241f2b67e1510e885c0",
            "id": "urn:authenticateit:transaction_request:2ce24341-3b9f-4e25-8fe2-3ad1018f301a",
            "profile_coins": "3025117869999999999999",
            "status": "success",
            "ts": "2018-05-04T12:29:00Z",
            "wei": 16666666670
        }
    ],
    "id": "urn:authenticateit:user:email:mkv@mailinator.com@transactions_history"
}

Read parmanent block status

POST /user/permanently_block/get
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User Id
Example Request
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com"
}
Example Response
 {
    "id": "urn:authenticateit:user:email:mkv@mailinator.com@permanently_block_status",
    "status": false
}

Set parmanent block status

POST /user/permanently_block/set
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User Id
Example Request
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com"
}

Unset parmanent block status

POST /user/permanently_block/unset
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User Id
Example Request
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com"
}

Read user's rewards ban history

POST /user/rewards_ban/get
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User Id
Example Request
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com"
}
Example Response
{
    "history": [
        {
            "data": {
                "scans": [
                    "50c716a1-4659-404f-b0fc-d5ab5f279fef",
                    "b25c2628-eb57-46a8-9ff6-0364781171e3"
                ]
            },
            "from": "2018-03-20T08:16:02Z",
            "reason": "Too frequent scans.",
            "rule_id": "scan_interval",
            "to": "2018-03-21T08:16:03Z"
        },
        {
            "data": {
                "scans": [
                    "50c716a1-4659-404f-b0fc-d5ab5f279fef",
                    "b25c2628-eb57-46a8-9ff6-0364781171e3"
                ]
            },
            "from": "2018-03-20T08:16:02Z",
            "reason": "Too frequent scans.",
            "rule_id": "scan_interval",
            "to": "2018-03-21T08:16:03Z"
        },
        {
            "data": {
                "scans": [
                    "50c716a1-4659-404f-b0fc-d5ab5f279fef",
                    "b25c2628-eb57-46a8-9ff6-0364781171e3"
                ]
            },
            "from": "2018-03-20T08:16:02Z",
            "reason": "Too frequent scans.",
            "rule_id": "scan_interval",
            "to": "2018-03-20T08:16:03Z"
        }
    ],
    "id": "urn:authenticateit:user:email:mkv@mailinator.com@rewards_ban",
    "status": "inactive",
    "user": "urn:authenticateit:user:email:mkv@mailinator.com"
}

Set rewards ban

POST /user/rewards_ban/set
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User Id
reason body Required: Ban reason
to body Required: Ban to TS (datetime)
Example Request
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com",
   "to":"2019-12-12T12:12:12Z",
   "reason":"I can"
}
Example Response
 {
    "from": "2018-05-08T11:47:21Z",
    "history": [
        {
            "data": {
                "scans": [
                    "50c716a1-4659-404f-b0fc-d5ab5f279fef",
                    "b25c2628-eb57-46a8-9ff6-0364781171e3"
                ]
            },
            "from": "2018-03-20T08:16:02Z",
            "reason": "Too frequent scans.",
            "rule_id": "scan_interval",
            "to": "2018-03-21T08:16:03Z"
        },
        {
            "data": {
                "scans": [
                    "50c716a1-4659-404f-b0fc-d5ab5f279fef",
                    "b25c2628-eb57-46a8-9ff6-0364781171e3"
                ]
            },
            "from": "2018-03-20T08:16:02Z",
            "reason": "Too frequent scans.",
            "rule_id": "scan_interval",
            "to": "2018-03-21T08:16:03Z"
        },
        {
            "data": {
                "scans": [
                    "50c716a1-4659-404f-b0fc-d5ab5f279fef",
                    "b25c2628-eb57-46a8-9ff6-0364781171e3"
                ]
            },
            "from": "2018-03-20T08:16:02Z",
            "reason": "Too frequent scans.",
            "rule_id": "scan_interval",
            "to": "2018-03-20T08:16:03Z"
        }
    ],
    "id": "urn:authenticateit:user:email:mkv@mailinator.com@rewards_ban",
    "reason": "I can",
    "rule_id": "manual",
    "status": "active",
    "to": "2019-12-12T12:12:12Z",
    "user": "urn:authenticateit:user:email:mkv@mailinator.com"
}

Unset rewards ban

POST /user/rewards_ban/unset
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User Id
Example Request
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com",
}

Publish message to timeline

POST /user/timeline/message
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User Id
message body Required: Message
type body Required: Message type ("coins", "notification")
push_message body Optional push message
Example Request
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com",
   "message":"hello",
   "type":"notification"
}

Reset user's phone verification blocking

POST /user/verifications/phone/reset
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User Id
Example Request
{
   "id": "urn:authenticateit:user:email:mkv@mailinator.com"
}

User's reminders settings

Settings are stored in the document with id urn:authenticateit:users_reminders

{
  "id": "urn:authenticateit:users_reminders",
  "type": "users_reminders",
  "reminders_list": [
    {
      "template": "users_reminders/welcome_message",
      "id": "welcome_message",
      "status": "active",
      "conditions": [
        {
          "type": "new_user"
        }
      ],
      "periodically": "once"
    },
    {
      "template": "users_reminders/do_you_need_help",
      "id": "do_you_need_help",
      "conditions": [
        {
          "type": "no_scans_from_reg_date",
          "period": 7
        }
      ],
      "status": "active",
      "periodically": "once"
    },
    {
      "template": "users_reminders/we_missed_you",
      "id": "we_missed_you",
      "conditions": [
        {
          "type": "no_scans_from_current_date",
          "period": 21
        },
        {
          "type": "have_coins"
        }
      ],
      "status": "active",
      "periodically": "once"
    },
    {
      "template": "users_reminders/invite_your_friends",
      "id": "invite_your_friends",
      "conditions": [
        {
          "type": "no_buddies_from_reg_date",
          "period": 14
        }
      ],
      "status": "active",
      "periodically": "once"
    },
    {
      "template": "users_reminders/how_to_earn_coin",
      "id": "how_to_earn_coin",
      "conditions": [
        {
          "type": "no_scans_from_current_date",
          "period": 21
        }
      ],
      "status": "active",
      "periodically": "once"
    },
    {
      "template": "users_reminders/buddy_reminder_a",
      "id": "buddy_reminder_a",
      "conditions": [
        {
          "type": "no_buddies_from_reg_date",
          "period": 45
        }
      ],
      "status": "active",
      "periodically": "once"
    },
    {
      "template": "users_reminders/buddy_reminder_b",
      "id": "buddy_reminder_b",
      "conditions": [
        {
          "type": "no_buddies_from_reg_date",
          "period": 90
        }
      ],
      "status": "active",
      "periodically": "once"
    },
    {
      "template": "users_reminders/close_to_next_level",
      "id": "close_to_next_level",
      "conditions": [
        {
          "type": "current_percentages",
          "value_from": 90,
          "value_to": 99
        },
        {
          "type": "days_from_reg_date",
          "period": 2
        }
      ],
      "status": "active",
      "periodically": 10
    },
    {
      "template": "users_reminders/half_way_to_next_level",
      "id": "half_way_to_next_level",
      "conditions": [
        {
          "type": "current_percentages",
          "value_from": 40,
          "value_to": 60
        },
        {
          "type": "days_from_reg_date",
          "period": 2
        }
      ],
      "status": "active",
      "periodically": 10
    },
    {
      "template": "users_reminders/you_dropped_level",
      "id": "you_dropped_level",
      "conditions": [
        {
          "type": "drop_level"
        },
        {
          "type": "days_from_reg_date",
          "period": 5
        }
      ],
      "status": "active",
      "periodically": 10
    },
    {
      "template": "users_reminders/you_reached_level",
      "id": "you_reached_level",
      "conditions": [
        {
          "type": "reach_level"
        },
        {
          "type": "days_from_reg_date",
          "period": 5
        }
      ],
      "status": "active",
      "periodically": 10
    },
    {
      "template": "users_reminders/level_incentives_for_heavy_users",
      "id": "level_incentives_for_heavy_users",
      "conditions": [
        {
          "type": "level_incentives"
        }
      ],
      "status": "active",
      "periodically": 10
    },
    {
      "template": "users_reminders/level_incentives_for_long-term_platinum_user",
      "id": "level_incentives_for_long-term_platinum_user",
      "conditions": [
        {
          "type": "level_incentives_platinum"
        }
      ],
      "status": "active",
      "periodically": 10
    }
  ]
}

results matching ""

    No results matching ""