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.

User rating document

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

Resend activation email

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

Delete stripe token

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

Request for add or replace new device

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

Request for remove device

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

Nominate user to participant

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

Denominate user roles

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

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

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

Create new account

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

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

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

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

Create OAuth Account

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

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

id_token, authorization code or access_token directly must be provided.

For facebook service valid access_token must be provided.

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

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

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

If user for the access_token is already present in the system, account wouldn't be created 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").

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

Get earnings info

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

Preferred Registration Types

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

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

Brand Unlock and Participant Registration

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

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

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

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

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

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

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

Company registration flow

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

Set credit card through registration

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

Rejecting pending participant

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

Account facebook

Settings

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

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

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)
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

Example Request (read list of users)
{
  "level": "basic",
  "order_by": "first_name",
  "order_type": "desc",
  "limit": 2,
  "offset": 0,
  "reg_type": "facebook"
}
Example Response
{
    "count": 11,
    "data": [
        {
            "first_name": "Kirill",
            "created": "2019-01-18T04:37:08Z",
            "total_cashout_value_sgd": 0,
            "phone": null,
            "level": null,
            "total_cashout_value_rub": 0,
            "last_name": "Kucherov",
            "total_scans": 0,
            "total_erc20_accounts": 0,
            "id": "urn:authenticateit:user:facebook:2278176649132961",
            "timezone_min": 660,
            "total_days_with_scans": 0,
            "total_cashout_value_aud": 0,
            "country": "036",
            "total_inactive_days_ratio": 100,
            "merge_started_at": null,
            "total_cashout_value_usd": 0,
            "permanent_ban_status": "inactive",
            "total_balance": "0",
            "total_erc20_value_shping": "0",
            "total_cashout_transactions": 0,
            "device": [],
            "last_access": "2019-01-18T04:37:26Z",
            "rewards_ban_to": null,
            "rewards_ban_from": null,
            "total_erc20_transactions": 0,
            "birthdate": null,
            "merge_into": null,
            "total_active_days_ratio": 0,
            "total_days_without_scans": 4,
            "total_cashout_value_shping": "0",
            "total_buddies": 0,
            "city": null,
            "email": "kirill@kucherov.net",
            "language": "en",
            "gender": null,
            "account_balance": "0",
            "contributor_status": "newbie",
            "total_avearage_scans_per_active_day": 0,
            "merge_ended_at": null,
            "total_linked_bank_accounts": 0,
            "rewards_ban_status": "inactive",
            "reg_type": "facebook"
        },
        {
            "first_name": "Kevin",
            "created": "2018-09-21T21:54:59Z",
            "total_cashout_value_sgd": 0,
            "phone": null,
            "level": null,
            "total_cashout_value_rub": 0,
            "last_name": "Hu",
            "total_scans": 0,
            "total_erc20_accounts": 0,
            "id": "urn:authenticateit:user:facebook:2154126871494946",
            "timezone_min": 660,
            "total_days_with_scans": 0,
            "total_cashout_value_aud": 0,
            "country": "036",
            "total_inactive_days_ratio": 100,
            "merge_started_at": null,
            "total_cashout_value_usd": 0,
            "permanent_ban_status": "inactive",
            "total_balance": "0",
            "total_erc20_value_shping": "0",
            "total_cashout_transactions": 0,
            "device": [],
            "last_access": "2018-11-29T02:28:54Z",
            "rewards_ban_to": null,
            "rewards_ban_from": null,
            "total_erc20_transactions": 0,
            "birthdate": "1976-10-01",
            "merge_into": null,
            "total_active_days_ratio": 0,
            "total_days_without_scans": 123,
            "total_cashout_value_shping": "0",
            "total_buddies": 0,
            "city": "Melbourne",
            "email": "",
            "language": "en",
            "gender": null,
            "account_balance": "0",
            "contributor_status": "newbie",
            "total_avearage_scans_per_active_day": 0,
            "merge_ended_at": null,
            "total_linked_bank_accounts": 0,
            "rewards_ban_status": "inactive",
            "reg_type": "facebook"
        }
    ]
}
Example Request (read profile)
{
   "id": "urn:authenticateit:user:facebook:1987076478185891"
}
Example Response
{
    "address1": "Ключевой поселок",
    "address2": "",
    "age": {
        "min": 21
    },
    "birthdate": "1985-07-03",
    "buddies_chunk": "urn:authenticateit:user:buddies_chunk:35313d83-07ef-499d-9b80-f933c2ba4760",
    "city": "Ижевск",
    "coins": "1258000000000000000002",
    "country": "643",
    "created": "2017-07-01T00:00:00Z",
    "email": "maria.arshava@gmail.com",
    "first_name": "Karlutka Я",
    "gender": "male",
    "id": "urn:authenticateit:user:facebook:1987076478185891",
    "language": "ru",
    "languages": "",
    "last_access": "2017-10-11T10:09:31Z",
    "last_name": "Karlutka",
    "level": "basic",
    "pending_coins": "17000000000000000000",
    "pending_points": 0,
    "phone": "+79128541354",
    "phone_verified": true,
    "photo": "https://dev-cdn.shping.com/2018/1/9/c0d645ce-f0d8-49a1-879b-cdacbdf2f106",
    "points": 0,
    "post_code": "426066",
    "roles": [
        "user"
    ],
    "service": "facebook",
    "settings": {
        "notify_on_buddies": true,
        "notify_on_rewards": true,
        "remind_to_scan": true
    },
    "stripe_customer": {
        "card": {
            "address_city": "",
            "address_country": "",
            "address_line1": "",
            "address_line2": "",
            "address_state": "",
            "address_zip": "",
            "brand": "MasterCard",
            "exp_month": 12,
            "exp_year": 2019,
            "id": "card_1B4jMtJvEgihlWpr2rNzibZK",
            "last4": "8210",
            "name": ""
        },
        "description": null,
        "email": null,
        "id": "cus_BRcc35HtRpjtCH"
    },
    "timeline": "247f5919-353f-481d-9742-d2a6e46a7f01",
    "timezone": 4
}

Read user scans

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

Read user rewards

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

Read user buddies list

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

Read list of sended reminders

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

Read user timeline

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

Read user level info

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

Read contributor info

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

Read transactions list

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

Read parmanent block status

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

Set parmanent block status

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

Unset parmanent block status

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

Read user's rewards ban history

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

Set rewards ban

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

Unset rewards ban

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

Publish message to timeline

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

Reset user's phone verification blocking

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

User's reminders settings

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

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

results matching ""

    No results matching ""