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.

If session is requested for a merged user, session for the primary merged user account will be created and merged_user will be set to true in the response.

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",
  "merged_user": false,
  "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.

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, instagram, twitter, vk and wechat.
  • access_token — OAuth 2.0 access token to request user information from the service, if available.
  • code — if access_token directly is unavailable, OAuth 2.0 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.
  • oauth_token, oauth_token_secret — some services require OAuth 1.0 authentication (see below). For such services these parameters must be used instead of OAuth 2.0 access_token and code parameters.
  • 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 instagram service access_token should be provided. If access token is unavailable, authorization code should be provided and will be exchanged for access_token by the server.

For twitter service oauth_token and oauth_token_secret must be provided, as Twitter uses OAuth 1.0 for authentication.

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 and new_user will be false in the response.

Session will be created for the user and response will contain session representation (see Create Session API). If OAuth user was merged earlier, session for the primary merged user account will be created and merged_user will be set to true in the response.

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

Merge User Accounts

API to initiate user accounts merge process. Accounts to be merged are the primary user account (the main account, destination of the merge) and the secondary user account (user account to be merged into the primary account and partially deactivated). Only accounts with different registration types may be merged. The merge is irreversible.

Primary user account is determinted from the authentication ticket of the request, it's the current user. Secondary user account is determinted from the secondary_ticket authentication ticket specified in the request body. Authentication ticket for the secondary account must be obtained as usual by means of password or OAuth sign in APIs.

Basic merge (user profile details) will be performed immediately and accounts will be fully merged (paricipants, buddies, timelines) in a few hours.

Session for the secondary user account will be deleted immediately and account will be partially deactivated: it may be used for sign in, but session for the primary account will be created.

There is no body in the response.

POST /identity-service/account/merge
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
Example Request
{
  "secondary_ticket": "a88018f8-265b-4a95-9db6-8bb67dcb9473"
}

Read Merged User Accounts

Read list of merged user accounts for the current user. Response contains users list of entries. Each entry has id of the merged account and it's reg_type.

GET /identity-service/account/merge
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
Example Response
{
  "users": [
    {
      "id": "urn:authenticateit:user:phonenum:+79280369254",
      "reg_type": "phone"
    },
    {
      "id": "urn:authenticateit:user:vk:264880478",
      "reg_type": "vk"
    }
  ]
}

Activate Phone Number Account

Activates user account registered with phone number. Takes JSON object containing phone number used during registration and verification code from SMS.

Also this API may be used to reset password for accounts registered with phone number. If reset_password parameter is true and activation code was generated to reset password (see API to request phone number account activation code), one time pseudo-authentication ticket will be generated and may be used to change account password (see API to reset phone number account password). Ticket will be in ticket field of the response.

In account activation mode (reset_password is missing or false) response will contain activated user account details. In password reset mode (reset_password is true) response will contain a one time ticket which may be used to change account password.

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

POST /identity-service/account/phone/verify_code
Example Request (Activate Phone Number Account)
{
  "phone": "+79280369254",
  "code": "57829"
}
Example Response (Activate Phone Number Account)
{
  "id": "urn:authenticateit:user:phonenum:+79280359154",
  "language": "en",
  "country": "616",
  "phone": "+79280359154",
  "phone_verified": true
}
Example Request (Password Reset Ticket)
{
  "phone": "+79280369254",
  "code": "37606",
  "reset_password": true
}
Example Response (Password Reset Ticket)
{
  "ticket": "221fc962-d1cf-4d0c-8964-23c50a9c1e68"
}

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 reset phone number account password may be requested using this API. Parameter reset_password must be set to true in this case.

POST /identity-service/account/phone/send_code
Example Request
{
  "phone": "+79280369254",
  "reset_password": false
}

Reset Password of Phone Number Account

API to reset password of account registered with phone number. Requires a one time pseudo-authentication ticket (see API to activate phone number account). Takes JSON object containing phone number to identify the account and new password. One time ticket may be specified either with authenticateit_identity_ticket header or as parameter ticket in JSON body.

POST /identity-service/account/phone/reset_password
Parameters
Name Type Description
authenticateit_identity_ticket header One time password reset ticket
Example Request
{
  "phone": "+79280369254",
  "password": "MyNewP4sswd"
}

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

NOTICE. Parameters "max_value" and "value" in the number_of_days_with_no_scans item (in "activities" list of "dashboard_info") are actually indicators of active days. For example, in the first sample user requires 11 active days and he already has earned 1. The "type" field in "dashboard_info" may contains one of values: "permanent", "coins_platinum", "coins_gold", "boosted", "earned" (the default is "earned").

User registration type is in reg_type field. Possible values for the reg_type are all the services from OAuth API (facebook, google, etc.) and values for reg_type from account creation API (email and phone).

GET /identity-service/account
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
Example Response
{
  "email": "foo@bar.com",
  "reg_type": "email",
  "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",
  "reviews_karma": 0,
  "level_info": {
        "current_percentages": 91,
        "level_icon": "https://cdn.shping.com/2017/11/22/2f98de94-73bf-4b40-9490-e4a8a714264c.png",
        "level_name": "Basic",
        "level_type": "basic",
        "max_percentages": 100,
        "short_description": "Your Shping Level will be updated in 8 days."
    },
   "dashboard_info": {
        "activities": [
            {
                "id": "unique_scans",
                "max_value": 20,
                "value": 19
            },
            {
                "id": "number_of_days_with_no_scans",
                "max_value": 11,
                "value": 8
            }
        ],
        "boost": null,
        "date_from": "2018-11-01T00:00:00Z",
        "date_to": "2018-12-01T23:59:59Z",
        "level": "basic",
        "level_next": "bronze",
        "percents": 91,
        "type": "earned"
    },
  "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"
            ]
        }
    ]
}
{
  "email": "foo@bar.com",
  "reg_type": "email",
  "first_name": "First Name",
  "last_name": "Last Name",
  "reviews_karma": -1,
  "level_info": {
        "current_percentages": 9,
        "level_icon": "https://cdn.shping.com/2017/11/22/8c5e8e63-ea4a-4c0c-b859-85fc4eac6850.png",
        "level_name": "Gold",
        "level_type": "gold",
        "max_percentages": 100,
        "short_description": "Your Shping Level will be updated in 8 days."
    },
   "dashboard_info": {
        "activities": [
            {
                "id": "unique_scans",
                "max_value": 20,
                "value": 19
            },
            {
                "id": "number_of_days_with_no_scans",
                "max_value": 11,
                "value": 8
            }
        ],
        "boost": {
            "base_level": "basic",
            "base_level_activity": [
            {
                "id": "unique_scans",
                "max_value": 300,
                "value": 19
            },
            {
                "id": "write_review",
                "max_value": 10,
                "value": 0
            },
            {
                "id": "number_of_days_with_no_scans",
                "max_value": 26,
                "value": 8
            }
            ],
            "end_date": "2018-11-23T02:53:17Z"
        },
        "date_from": "2018-11-01T00:00:00Z",
        "date_to": "2018-12-01T23:59:59Z",
        "level": "gold",
        "level_next": "bronze",
        "percents": 9,
        "type": "boosted"
    }
}

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
[
    {
        "coin_rate": 1,
        "current": false,
        "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 10 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"
    },
    {
        "coin_rate": 2,
        "current": false,
        "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",
        "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 10 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"
    },
    {
        "coin_rate": 3,
        "current": false,
        "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",
        "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 10 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"
    },
    {
        "coin_rate": 5,
        "current": false,
        "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/>5 reviews per month",
        "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 10 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"
    },
    {
        "coin_rate": 10,
        "current": true,
        "current_percentages": 23,
        "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/>10 reviews per month",
        "header_i18n_id": "user_levels-platinum-header",
        "icon": "https://cdn.shping.com/2017/11/22/d19659ca-2fe0-41c4-bafe-f4b54a67cf61.png",
        "max_percentages": 100,
        "name": "Platinum",
        "name_i18n_id": "user_levels-platinum-name",
        "scans_left": 292,
        "short_description": "Your Shping Level will be updated in 10 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",
        "todo": [
            "You need to scan 292 new products for the current month to level up!",
            "You need to write 6 reviews to level up!",
            "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!"
        ],
        "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": "https://cdn.shping.com/2017/11/22/d19659ca-2fe0-41c4-bafe-f4b54a67cf61.png",
    "level_name": "Platinum",
    "level_name_i18n_id": "user_levels-platinum-name",
    "level_type": "platinum",
    "list": [
        {
            "coins": "200000000000000000000",
            "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": "50000000000000000000",
            "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": "300000000000000000000",
            "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"
        }
    ]
}

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:

New participant registration request

POST /identity-service/account/participant
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
company_prefix body Required: Company prefix (more or equal to 7)
name body Required: Participant name
country body Required: Country code
pending_plan body Tariff plan. "basic" default
participant_type body "product360" only
brand_name body List of brand names. [] by default
gs1_activation_code body Special code
Example Request
{
  "country": "036",
  "company_prefix": "00000000",
  "participant_type": "product360",
  "name": "Participant Name",
  "brand_name": [
    "Brand_1",
    "Brand_2",
    "Brand_3"
  ],
  "pending_plan": "complete",
  "gs1_activation_code": "code"
}
Example Response
{
    "billing": {
        "trial": {
            "status": true,
            "ts": "2018-12-07T05:48:39Z"
        }
    },
    "brand_name": [
       "Brand_1",
       "Brand_2",
       "Brand_3"
    ],
    "company_prefix": "00000000",
    "country": "036",
    "gs1_activation_code": "code",
    "ip": "118.127.110.170",
    "name": "Participant Name",
    "participant_type": "product360",
    "pending_plan": "complete",
    "user_id": "urn:authenticateit:user:email:ethertest3@mailinator.com"
}

Check company prefix

POST /identity-service/prefix/check
Parameters
Name Type Description
prefix body Required: Company prefix (more or equal to 7)

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 - User id (read profile)
level - Filter by level (basic, bronze, silver, gold, platinum)
phone - Filter by phone (or part of phone) (will be converted to like query %PHONE%)
email - Filter by email (or part of email)
first_name - Filter by first_name (or part of first_name)
last_name - Filter by last_name (or part of last_name)
language - Filter by language
country - Filter by country code
city - Filter by city (or part of city)
gender - Filter by gender
created_from - Filter by created time (datetime format '2012-12-12T01-01-01Z')
created_to - Filter by created time (datetime format '2012-12-12T01-01-01Z')
last_access_from - Filter by last access (datetime format '2012-12-12T01-01-01Z')
last_access_to - Filter by last access (datetime format '2012-12-12T01-01-01Z')
total_balance_from - Filter by total balance
total_balance_to - Filter by total balance
account_balance_from - Filter by transition account balance
account_balance_to - Filter by transition account balance
device - Filter by coupled devices ("ios", "andriod", "baidu")
rewards_ban_status - Filter by rewards ban status ("active", "inactive")
permanent_ban_status - Filter by permanent ban status ("active", "inactive")
total_scans_from - Total user's scans (integer, total_scans_from >= 0)
total_scans_to - Total user's scans (integer, total_scans_to >= 0)
total_avearage_scans_per_active_day_from - Avearage scans per active days (float)
total_avearage_scans_per_active_day_to - Avearage scans per active days (float)
total_days_with_scans_from - Total days with scans (integer, total_days_with_scans_from >= 0)
total_days_without_scans_from - Total days without scans (integer, total_days_without_scans_from >= 0)
total_active_days_ratio_from - Active days ratio in percents (integer, total_active_days_ratio_from >= 0)
total_inactive_days_ratio_from - Inactive days ratio in percents (integer, total_inactive_days_ratio_from >= 0)
total_buddies_from - Total value of buddies (integer, total_buddies_from >= 0)
total_cashout_transactions_from - Count of cashouts (integer, total_cashout_transactions_from >= 0)
total_cashout_value_shping_from - Sum of cashout coins (integer, total_cashout_value_shping_from >= 0)
total_linked_bank_accounts_from - Count of linked bank accounts (integer, total_linked_bank_accounts_from >= 0)
total_cashout_value_usd_from - Sum of cashout usd (float)
total_cashout_value_aud_from - Sum of cashout aud (float)
total_cashout_value_sgd_from - Sum of cashout sgd (float)
total_cashout_value_rub_from - Sum of cashout rub (float)
total_erc20_accounts_from - Count of linked erc20 accounts (integer, total_erc20_accounts_from >= 0)
total_erc20_transactions_from - Count of erc20 transactions (integer, total_erc20_transactions_from >= 0)
total_erc20_value_shping_from - Sum of erc20 transfered coins (integer, total_erc20_value_shping_from >= 0)
total_days_with_scans_to - Total days with scans (integer, total_days_with_scans_to >= 0)
total_days_without_scans_to - Total days without scans (integer, total_days_without_scans_to >= 0)
total_active_days_ratio_to - Active days ratio in percents (integer, total_active_days_ratio_to >= 0)
total_inactive_days_ratio_to - Inactive days ratio in percents (integer, total_inactive_days_ratio_to >= 0)
total_buddies_to - Total value of buddies (integer, total_buddies_to >= 0)
total_cashout_transactions_to - Count of cashouts (integer, total_cashout_transactions_to >= 0)
total_cashout_value_shping_to - Sum of cashout coins (integer, total_cashout_value_shping_to >= 0)
total_linked_bank_accounts_to - Count of linked bank accounts (integer, total_linked_bank_accounts_to >= 0)
total_cashout_value_usd_to - Sum of cashout usd (float)
total_cashout_value_aud_to - Sum of cashout aud (float)
total_cashout_value_sgd_to - Sum of cashout sgd (float)
total_cashout_value_rub_to - Sum of cashout rub (float)
total_erc20_accounts_to - Count of linked erc20 accounts (integer, total_erc20_accounts_from >= 0)
total_erc20_transactions_to - Count of erc20 transactions (integer, total_erc20_transactions_from >= 0)
total_erc20_value_shping_to - Sum of erc20 transfered coins (integer, total_erc20_value_shping_from >= 0)
total_buddies_invitations_sent - Total sent buddies invitations (date_and_quantity filter)
total_buddies_received_invitations_accepted - Total received invitations (date_and_quantity filter)
total_buddies_invitations_accepted - Total accepted invitations (date_and_quantity filter)
total_reviews_accepted - Reviews accepted (date_and_quantity filter)
total_reviews_deleted - Reviews deleted (date_and_quantity filter)
total_reviews_rejected - Reviews rejected (date_and_quantity filter)
total_reviews_pending - Reviews pending (date_and_quantity filter)
total_scans_with_uncollected_coins_from - Scans with uncollected coins (integer, total_scans_with_uncollected_coins_from >= 0)
total_scans_with_uncollected_coins_to - Scans with uncollected coins (integer, total_scans_with_uncollected_coins_to >= 0)
total_uncollected_coins_from - Uncollected coins summary value (integer, total_uncollected_coins_from >= 0)
total_uncollected_coins_to - Uncollected coins summary value (integer, total_uncollected_coins_from >= 0)
total_days_from_last_access_from - Total days diff from last_access to now (integer, total_days_from_last_access_from >= 0)
total_days_from_last_access_to - Total days diff from last_access to now (integer, total_days_from_last_access_to >= 0)
linked_twitter_flag - Account has linked twitter account (boolean)
linked_instagram_flag - Account has linked instagram account (boolean)
linked_phone_flag - Account has linked phone account (boolean)
linked_fb_flag - Account has linked fb account (boolean)
linked_wechat_flag - Account has linked wechat account (boolean)
linked_google_flag - Account has linked google account (boolean)
linked_vk_flag - Account has linked vk account (boolean)
linked_email_flag - Account has linked email account (boolean)
total_timeline_widget_popup_from - Wathed widgets popup from timeline (integer, total_timeline_widget_popup_from >= 0)
total_timeline_widget_text_from - Wathed widgets text from timeline (integer, total_timeline_widget_text_from >= 0)
total_timeline_widget_image_from - Wathed widgets image from timeline (integer, total_timeline_widget_image_from >= 0)
total_timeline_widget_link_from - Wathed widgets link from timeline (integer, total_timeline_widget_link_from >= 0)
total_timeline_widget_video_from - Wathed widgets video from timeline (integer, total_timeline_widget_video_from >= 0)
total_timeline_widget_status_from - Wathed widgets status from timeline (integer, total_timeline_widget_status_from >= 0)
total_timeline_widget_nutrition_info_from - Wathed nutritions from timeline (integer, total_timeline_widget_nutrition_info_from >= 0) total_timeline_widget_certificates_from - Wathed certificates from timeline (integer, total_timeline_widget_certificates_from >= 0) total_timeline_widget_follow_fb_from - Folowed to FB from timeline (integer, total_timeline_widget_follow_fb_from >= 0) total_timeline_widget_social_networks_from - Folowed to link from timeline (integer, total_timeline_widget_social_networks_from >= 0) total_timeline_scans_from - Access to scan from timeline (integer, total_timeline_scans_from >= 0) total_timeline_reviews_from - Access to review from timeline (integer, total_timeline_reviews_from >= 0) total_timeline_minutes_from - Total time spended in timeline (integer, total_timeline_minutes_from >= 0)
total_timeline_widget_popup_to - Wathed widgets popup from timeline (integer, total_timeline_widget_popup_to >= 0)
total_timeline_widget_text_to - Wathed widgets text from timeline (integer, total_timeline_widget_text_to >= 0)
total_timeline_widget_image_to - Wathed widgets image from timeline (integer, total_timeline_widget_image_to >= 0)
total_timeline_widget_link_to - Wathed widgets link from timeline (integer, total_timeline_widget_link_to >= 0)
total_timeline_widget_video_to - Wathed widgets video from timeline (integer, total_timeline_widget_video_to >= 0)
total_timeline_widget_status_to - Wathed widgets status from timeline (integer, total_timeline_widget_status_to >= 0)
total_timeline_widget_nutrition_info_to - Wathed nutritions from timeline (integer, total_timeline_widget_nutrition_info_to >= 0)
total_timeline_widget_certificates_to - Wathed certificates from timeline (integer, total_timeline_widget_certificates_to >= 0)
total_timeline_widget_follow_fb_to - Folowed to FB from timeline (integer, total_timeline_widget_follow_fb_to >= 0)
total_timeline_widget_social_networks_to - Folowed to link from timeline (integer, total_timeline_widget_social_networks_to >= 0)
total_timeline_scans_to - Access to scan from timeline (integer, total_timeline_scans_to >= 0)
total_timeline_reviews_to - Access to review from timeline (integer, total_timeline_reviews_to >= 0)
total_timeline_minutes_to - Total time spended in timeline (integer, total_timeline_minutes_to >= 0)
system_rewarded_widget_popup - Popup rewarded per system campaign (quantity filter)
system_rewarded_widget_text - Text rewarded per system campaign (quantity filter)
system_rewarded_widget_image - Image rewarded per system campaign (quantity filter)
system_rewarded_widget_link - Link rewarded per system campaign (quantity filter)
system_rewarded_widget_video - Video rewarded per system campaign (quantity filter)
system_rewarded_widget_status - Status rewarded per system campaign (quantity filter)
system_rewarded_widget_nutrition_info - NI per system campaign (quantity filter)
system_rewarded_widget_certificates - Certificates per system campaign (quantity filter)
system_rewarded_widget_follow_fb - Follow FB per system campaign (quantity filter)
system_rewarded_widget_social_networks - Networks per system campaign (quantity filter)
brand_rewarded_widget_popup - Popup rewarded per brand campaign (quantity filter)
brand_rewarded_widget_text - Text rewarded per brand campaign (quantity filter)
brand_rewarded_widget_image - Image rewarded per brand campaign (quantity filter)
brand_rewarded_widget_link - Link rewarded per brand campaign (quantity filter)
brand_rewarded_widget_video - Video rewarded per brand campaign (quantity filter)
brand_rewarded_widget_status - Status rewarded per brand campaign (quantity filter)
brand_rewarded_widget_nutrition_info - NI rewarded per brand campaign (quantity filter)
brand_rewarded_widget_certificates - Certificates rewarded per brand campaign (quantity filter)
brand_rewarded_widget_follow_fb - Follow FB rewarded per brand campaign (quantity filter)
brand_rewarded_widget_social_networks - Networks rewarded per brand campaign (quantity filter)
rewarded_widgets_date - Total rewarded date filter (date filter)
offset - Offset
limit - Limit
order_by - Order column
order_type - 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,device,id,total_days_with_scans,total_days_without_scans,total_active_days_ratio,total_inactive_days_ratio,total_buddies,total_cashout_transactions,total_cashout_value_shping,total_linked_bank_accounts,total_cashout_value_usd,total_cashout_value_aud,total_cashout_value_sgd,total_cashout_value_rub,total_erc20_accounts,total_erc20_transactions,total_erc20_value_shping,total_scans,total_avearage_scans_per_active_day, total_buddies_received_invitations_accepted,total_buddies_invitations_accepted,total_reviews_accepted,total_reviews_deleted,total_reviews_rejected,total_reviews_pending,total_scans_with_uncollected_coins,total_uncollected_coins,total_days_from_last_access,linked_twitter_flag,linked_instagram_flag,linked_phone_flag,linked_fb_flag,linked_wechat_flag,linked_google_flag,linked_vk_flag,linked_email_flag,total_timeline_widget_popup,total_timeline_widget_text,total_timeline_widget_image,total_timeline_widget_link,total_timeline_widget_video,total_timeline_widget_status,total_timeline_widget_nutrition_info,total_timeline_widget_certificates,total_timeline_widget_follow_fb,total_timeline_widget_social_networks,total_timeline_scans,total_timeline_reviews,total_timeline_minutes,system_rewarded_widget_popup,system_rewarded_widget_text,system_rewarded_widget_image,system_rewarded_widget_link,system_rewarded_widget_video,system_rewarded_widget_status,system_rewarded_widget_nutrition_info,system_rewarded_widget_certificates,system_rewarded_widget_follow_fb,system_rewarded_widget_social_networks,brand_rewarded_widget_popup,brand_rewarded_widget_text,brand_rewarded_widget_image,brand_rewarded_widget_link,brand_rewarded_widget_video,brand_rewarded_widget_status,brand_rewarded_widget_nutrition_info,brand_rewarded_widget_certificates,brand_rewarded_widget_follow_fb,brand_rewarded_widget_social_networks

Example date_and_quantity filter
{
    "date_from":"2019-01-01",
    "date_to":"2019-12-01",
    "value_from":1,
    "value_to":44
}
Example Request (read list of users)
{
  "order_by": "first_name",
  "order_type": "desc",
  "limit": 2,
  "offset": 0,
  "total_reviews_accepted":
      {
          "date_from":"2019-01-01",
          "date_to":"2019-12-01",
          "value_from":1,
          "value_to":44
      }
}
Example Response
{
    "count": 1,
    "data": [
        {
            "total_reviews_rejected": 0,
            "brand_rewarded_widget_nutrition_info": 0,
            "brand_rewarded_widget_certificates": 0,
            "first_name": "Ivan1",
            "total_timeline_widget_certificates": 0,
            "created": "2018-12-08T13:38:24Z",
            "total_cashout_value_sgd": 0,
            "phone": "+1234567811",
            "system_rewarded_widget_certificates": 0,
            "level": "gold",
            "total_cashout_value_rub": 0,
            "total_reviews_accepted": 0,
            "brand_rewarded_widget_text": 0,
            "total_timeline_widget_status": 0,
            "last_name": "vasilev1",
            "total_scans": 13,
            "total_erc20_accounts": 0,
            "id": "urn:authenticateit:user:email:ikleeen+7@gmail.com",
            "timezone_min": 660,
            "total_days_with_scans": 4,
            "total_cashout_value_aud": 0,
            "total_reviews_deleted": 0,
            "country": "036",
            "total_timeline_widget_social_networks": 0,
            "linked_instagram_flag": 0,
            "total_inactive_days_ratio": 94,
            "merge_started_at": null,
            "total_cashout_value_usd": 0,
            "permanent_ban_status": "inactive",
            "total_balance": "2950000000000000000000",
            "total_erc20_value_shping": "0",
            "total_cashout_transactions": 0,
            "system_rewarded_widget_text": 0,
            "linked_vk_flag": 0,
            "total_buddies_received_invitations_accepted": 0,
            "device": [
                "android"
            ],
            "linked_email_flag": 0,
            "total_reviews_pending": 0,
            "last_access": "2019-02-11T06:55:57Z",
            "linked_twitter_flag": 0,
            "system_rewarded_widget_follow_fb": 0,
            "rewards_ban_to": null,
            "linked_phone_flag": 0,
            "rewards_ban_from": null,
            "total_timeline_minutes": 2880,
            "brand_rewarded_widget_social_networks": 1,
            "total_erc20_transactions": 0,
            "total_timeline_widget_video": 0,
            "birthdate": "2011-12-08",
            "total_timeline_widget_popup": 0,
            "system_rewarded_widget_image": 0,
            "system_rewarded_widget_popup": 0,
            "merge_into": null,
            "total_active_days_ratio": 6,
            "total_days_without_scans": 62,
            "total_timeline_scans": 2,
            "total_timeline_widget_follow_fb": 0,
            "system_rewarded_widget_link": 0,
            "system_rewarded_widget_status": 0,
            "total_cashout_value_shping": "0",
            "linked_fb_flag": 0,
            "total_buddies": 2,
            "city": null,
            "total_buddies_invitations_accepted": 1,
            "brand_rewarded_widget_link": 0,
            "email": "ikleeen+7@gmail.com",
            "total_timeline_widget_nutrition_info": 0,
            "language": "ru",
            "linked_wechat_flag": 0,
            "total_timeline_widget_text": 0,
            "gender": null,
            "account_balance": "2950000000000000000000",
            "brand_rewarded_widget_video": 0,
            "total_days_from_last_access": 1,
            "contributor_status": "newbie",
            "total_buddies_invitations_sent": 3,
            "system_rewarded_widget_social_networks": 0,
            "brand_rewarded_widget_image": 0,
            "total_avearage_scans_per_active_day": 3.25,
            "total_scans_with_uncollected_coins": 7,
            "total_timeline_reviews": 0,
            "total_timeline_widget_image": 2,
            "merge_ended_at": null,
            "system_rewarded_widget_video": 0,
            "total_timeline_widget_link": 0,
            "linked_google_flag": 0,
            "total_uncollected_coins": "280000000000000000000",
            "total_linked_bank_accounts": 0,
            "rewards_ban_status": "inactive",
            "brand_rewarded_widget_popup": 0,
            "brand_rewarded_widget_status": 0,
            "system_rewarded_widget_nutrition_info": 0,
            "reg_type": "email",
            "brand_rewarded_widget_follow_fb": 0
        }
    ]
}
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's notification settings

POST /identity-service/user/notification_settings
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body User Id
Example Request
{
   "id": "urn:authenticateit:user:email:65qw@mailinator.com"
}
Example Response
{
    "brands": [
        {
            "allow_shoutouts": true,
            "brand": "Gigi"
        },
        {
            "allow_shoutouts": true,
            "brand": "Ethertest3"
        },
        {
            "allow_shoutouts": true,
            "brand": "ZippityElfBrand"
        }
    ],
    "settings": {
        "notify_on_buddies": true,
        "notify_on_reviews": false,
        "notify_on_rewards": false,
        "remind_to_scan": true,
        "reminders_notifications": false
    }
}

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

Change cashout record status

PUT /identity-service/user/transactions/cashouts/:cashout_id/:status
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id body Required: User Id
cashout_id body Required: Cashout record Id
status body Required: Only failure status is supported for success records
Example Request

In this example we will change successed cashout record with ID urn:authenticateit:transaction_request:4f30f8d4-3b04-428b-b18f-33de4c1b4634 to failure status.

curl -X PUT \
  https://dev-api.shping.com/identity-service/user/transactions/cashouts/urn:authenticateit:transaction_request:4f30f8d4-3b04-428b-b18f-33de4c1b4634/failure \
  -H 'authenticateit_identity_ticket: 000ba8dd-4f31-4915-93e4-b81051bdaf10' \
  -H 'content-type: application/json' \
  -d '{"id":"urn:authenticateit:user:email:foo@bar.com" }'

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

Read list of users by transaction hash/part of hash

GET /identity-service/user/transactions/hashes/:hash
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
hash url Required: Hash (part of hash). Minimum length is 6
Example Response
[
    {
        "birthdate": "2007-01-13",
        "buddies_chunk": "urn:authenticateit:user:buddies_chunk:d9473593-49ed-490d-8d92-59c505648aa3",
        "coins": "265000000000000000000000",
        "country": "643",
        "created": "2018-12-04T12:01:52Z",
        "email": "dev04121@mailinator.com",
        "first_name": "Пушкин",
        "gender": "female",
        "id": "urn:authenticateit:user:email:dev04121@mailinator.com",
        "language": "ru",
        "level": "gold",
        "password": "b1b3773a05c0ed0176787a4f1574ff0075f7521e",
        "pending_coins": "1000000000000000000",
        "pending_participant": null,
        "phone": "+12345678901",
        "phone_verified": true,
        "photo": "https://dev-cdn.shping.com/2018/12/4/a3e411f6-1785-4e82-8b32-8848b982930c",
        "points": 0,
        "roles": [
            "user"
        ],
        "settings": {
            "notify_on_buddies": true,
            "notify_on_reviews": true,
            "notify_on_rewards": true,
            "remind_to_scan": true,
            "reminders_notifications": true
        },
        "timezone_min": 240,
        "type": "user"
    },
    {
        "address1": "Lenin 17",
        "address2": "",
        "birthdate": "2000-03-01",
        "buddies_chunk": "urn:authenticateit:user:buddies_chunk:e5177835-a21e-4daa-a586-5e376fdd955a",
        "city": "Izhevsk",
        "coins": "19768000000000000000000",
        "country": "643",
        "created": "2018-11-12T13:29:55Z",
        "email": "maria.arshava@gmail.com",
        "first_name": "Very",
        "gender": "female",
        "id": "urn:authenticateit:user:google:112222072136943430726",
        "job_title": "CEO",
        "language": "ru",
        "last_name": "Merged",
        "level": "bronze",
        "merge": {
            "users": [
                "urn:authenticateit:user:twitter:1090462607167897601",
                "urn:authenticateit:user:phonenum:+79128541354",
                "urn:authenticateit:user:facebook:1987076478185892",
                "urn:authenticateit:user:email:barboskin@mailinator.com"
            ]
        },
        "pending_coins": "18000000000000000000",
        "phone": "+1234567890",
        "phone_verified": true,
        "photo": "https://dev-cdn.shping.com/2018/2/11/0c0aa837-70f1-407a-a484-e246730bcf76",
        "post_code": "426063",
        "roles": [
            "user"
        ],
        "service": "google",
        "timezone_min": 240,
        "type": "user"
    }
]

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

Participants management

Methods are available only for system

Read list of participants

POST /identity-service/participants
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id string Id filter
name string Name filter
billing_plan string or array Billing plan filter
billing_country string or array Billing country filter
billing_paid_from_filter_from date Billing paid_from date filter
billing_paid_from_filter_to date Billing paid_from date filter
billing_paid_to_filter_from date Billing paid_to date filter
billing_paid_to_filter_to date Billing paid_to date filter
billing_trial_to_filter_from datetime Billing trial_to datetime filter
billing_trial_to_filter_to datetime Billing trial_to datetime filter
order_by string Order by field condition
order_type string asc or desc
limit int Limit value
offset int Offset value

order_by - possible values id, name, billing_plan, billing_country, billing_paid_from, billing_paid_to, billing_trial_to

billing_plan - filter may be set as value or as list of values. Values and names:
custom - plan had not been set
basic - Essentials
light - Professional
complete - Professional+
complete+ - Enterprise
corporate - Unlimited
Values may be extended or changed in future

Example Request
{
  "billing_plan": "complete",
  "country": [
    "036",
    "643"
  ],
  "billing_paid_from_filter_from": "2019-03-01",
  "billing_paid_from_filter_to": "2019-03-30",
  "billing_paid_to_filter_from": "2019-04-01",
  "billing_paid_to_filter_to": "2019-04-30",
  "billing_trial_to_filter_from": "2019-01-01T00:00:00Z",
  "billing_trial_to_filter_to": "2019-12-01T00:00:00Z",
  "order_by": "id",
  "order_type": "asc"
}
Example Response
{
    "count": 1,
    "data": [
        {
            "billing_country": "036",
            "billing_paid_from": "2019-03-27",
            "billing_paid_to": "2019-04-27",
            "billing_plan": "complete",
            "billing_trial_to": "2019-03-27T07:49:35Z",
            "id": "urn:authenticateit:participant:444997266463549",
            "name": "ethertest101uuu",
            "fee": {
                "source": "balance",
                "status": "active",
                "ts": "2019-04-05T00:22:50Z",
                "type": "coins",
                "value": 10
            }
        }
    ]
}

Read participant profile

GET /identity-service/participants/participant/:id
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id string Required: Participant ID
Example Response
{
    "balance": {
        "address": "0x2980fBEc0b5Fc83177e2794ddf38BE177a3B0aF8",
        "coins": "10011216999999999999737856",
        "fee": {
            "source": "balance",
            "status": "active",
            "ts": "2019-04-05T02:46:23Z",
            "type": "coins",
            "value": "20000000000000000000"
        },
        "participant_id": "urn:authenticateit:participant:735879621218609",
        "topup": {
            "amount": 20000,
            "coins_threshold": "20000000000000000000000",
            "currency": "aud",
            "frequency": "weekly",
            "minimal_amount": false,
            "status": "active"
        }
    },
    "billing": {
        "country": "036",
        "paid_from": "2019-02-16",
        "paid_to": "2019-03-16",
        "plan": "complete+",
        "stripe_customer": "cus_1111111111",
        "updated_at": "2018-04-16T11:32:15Z",
        "user_email": [
            "ethertest100@mailinator.com"
        ]
    },
    "city": "Some Value",
    "company_prefix": [],
    "country": "036",
    "gs1_activation_code": null,
    "id": "urn:authenticateit:participant:735879621218609",
    "name": "Participant Name",
    "team": [
        {
            "access_type": "Admin",
            "email": "ethertest100@mailinator.com",
            "first_name": "",
            "id": "urn:authenticateit:user:email:ethertest100@mailinator.com",
            "last_name": "",
            "ts": "2019-01-16T12:08:55Z"
        }
    ]
}

Set paid period for participant

PUT /identity-service/participants/participant/:id/payment
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id string Required: Participant ID
from_date string Required: Paid from date
to_date string Required: Paid to date
Example Request
{
    "from_date": "2019-02-01",
    "to_date": "2019-09-01" 
}
Example Response
{
    "amount": 0,
    "id": "null",
    "invoice_id": "460050219",
    "paid_from": "2019-02-01",
    "paid_to": "2019-09-01",
    "plan": "complete+"
}

Set trial period for participant

PUT /identity-service/participants/participant/:id/payment/trial
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id string Required: Participant ID
to_date string Required: Trial to date
Example Request
{
    "to_date": "2019-09-01" 
}

Remove customer card data from profile

DELETE /identity-service/participants/participant/:id/payment/customer
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id string Required: Participant ID

Set participant's transactions fee

PUT /identity-service/participants/participant/:id/deposit/fee
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id string Required: Participant ID (URL segment)
type string Required: Fee type. percentages or coins
value coins Required: Fee value
source string Required: Fee source. invoice or customer's balance
status string Required: active or inactive

value parameter depends of type. If type = percentages, valid value is 0 <value≤ 100. If type = coins, value must be set as coins ("1000000000000000000" as 1 ShpingCoin).

Example Request

That means that on each transaction from participant balance will be charged an additional 50 percent of coins.

{
  "type": "percentages",
  "value": 50,
  "status": "active",
  "source": "balance"
}
Example Request

That means that on each transaction from participant balance will be charged an additional 20 ShpingCoin.

{
  "type": "coins",
  "value": "20000000000000000000",
  "status": "active",
  "source": "balance"
}
Example Request

That means that on each transaction an additional 20 ShpingCoin will be added to the invoice.

{
  "type": "coins",
  "value": "20000000000000000000",
  "status": "active",
  "source": "invoice"
}
Example Response
{
    "result": {
        "source": "invoice",
        "status": "active",
        "ts": "2019-04-05T02:34:35Z",
        "type": "coins",
        "value": "20000000000000000000"
    },
    "status": "ok"
}

Get participant's balance and balance settings

GET /identity-service/participants/participant/:id/deposit
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id string Required: Participant ID

fee is customer's fee settings, topup is customer's configured topup

Example Response
{
    "address": "0x2980fBEc0b5Fc83177e2794ddf38BE177a3B0aF8",
    "coins": "10011240999999999999737856",
    "fee": {
        "source": "balance",
        "status": "active",
        "ts": "2019-04-05T00:33:28Z",
        "type": "percentages",
        "value": 50
    },
    "topup": {
        "amount": 20000,
        "coins_threshold": "20000000000000000000000",
        "currency": "aud",
        "frequency": "weekly",
        "minimal_amount": false,
        "status": "active"
    }
}

Delete participant and coupled data

DELETE /identity-service/participants/participant/:id
Parameters
Name Type Description
authenticateit_identity_ticket header Required: Session's ticket
id string Required: Participant ID

results matching ""

    No results matching ""