achievements API

Description

Achievements API list maintains a repository of badges and certificates that user earn on completion of the courses and curriculum. It also maintains details of credits accumulated by each user who is registered against the company. The badges earned by the users are displayed under the achievements section on the Profile Dock. Based on the input parameters entered in the Achievement URL, the security token is authenticated and returns all the achievement details available in the Linchpin application.

Authentication

Security token and origination url, should be sent as response headers for authentication

  • Once the Linchpin app is purchased, an interface will be provided to generate the security token which will be unique for a company.
  • Achievement API is authenticated based on the company token and external URL from where the request is sent.

URL

The URL structure (path only, no root url)
api/v1/Achievement or / Achievement? filters={”minrange”:”1”,“maxrange”:”10”}

Method

The request type
GET

URL Params

Required:
minrange=[int]
maxrange=[int]

Input parameter class structure

public class Filters
{
public int MinRange { get; set; } -- starting row number
public int MaxRange { get; set; } -- ending row number
public bool Active { get; set; } – Active/Inactive profiles
}

Input parameter Validation rules

Minimum value expected for MinRange is 1, Max Value should be greater than or equal to MinRange.

Response Codes

Output Response Object

public class ProfileDto { public int UserId { get; set; } public string Name { get; set; } public string Email { get; set; } public string Profileimage { get; set; } public int Credits { get; set; } public int UserLevel { get; set; } public int NextLevelCredits { get; set; } public DateTime? CreatedDate { get; set; } public int Rank { get; set; } public string Usage { get; set; } public string Engagement { get; set; } public float EngagementPercentage { get; set; } public List badges { get; set; } } public class badges { public string badgename { get; set; } public string badgeimage { get; set; } public datetime? date { get; set; } }

Success Response

Successful request: { “status”:200, “profile”;[{ "UserId":"UserId", "Name":"Name", "Email":"test@email.com", "Profileimage":"Profileimage", "Credits":"Credits", "UserLevel":"UserLevel", "NextLevelCredits":"NextLevelCredits", "CreatedDate":"CreatedDate", "Rank":"Rank", "Usage":"Usage", "Engagement":"Engagement", "EngagementPercentage":"EngagementPercentage" "Badges":[{ "BadgeName":"BadgeName", "BadgeImage":"BadgeImage", "Date":"Date" }, { "BadgeName":"BadgeName", "BadgeImage":"BadgeImage", "Date":"Date" }] }] }

HTTP Status Codes

Most endpoints will have many ways they can fail. From unauthorized access, to wrongful parameters etc. Example: Code: 200 OK Description: { Success } Code: 401 UNAUTHORIZED Description: {error: "Authentication credentials were missing or incorrect.”} Code: 400 Bad Request Description: { error : "The request was invalid or cannot be otherwise served" } Code: 404 Not Found Description: { error : "Achievement details not found" }