Skip to content
Alex Hedley edited this page Jan 20, 2019 · 2 revisions

eSupport WebAPI

Introduction

The eSupport WebAPIs expose the core functionality for support (both product support as well as user support) to external and internal applications. These APIs are available as RESTful services and implement both role based authentication, authorization and throttling of requests

Usage

**Current version of the API is v2.5. All requests will have the URL prefixed by '/v2.5' **

The production endpoint is https://SupportAPI.lenovo.com/ and in the test environment, it is http://PrePrdAkamai.eSupport.lenovo.com/Canary/WebAPI and the development version is http://avenkiteshw-pm8.lenovo.com/Kamikaze/WebAPI

All APIs need to be called with a ClientID (assigned) in the header that is generated by eService team and provided to the client application. The request Authorization header is 'ClientID: {ClientToken}'. Calling the API without the header value will return a 401 – Authorization required message. An invalid ClientID will also return a 401 error.

The APIs are also protected by authorization roles. The following roles are defined in the system (additional roles can be added in the database by the administrator

  • Anonymous - Automatically granted to anyone
  • Authenticated - Automatically granted to anyone with a valid authorization header
  • Internal - Automatically granted to any request originating from an internal IP address
  • WebAPI.Content
  • WebAPI.Warranty
  • WebAPI.Part
  • WebAPI.Support
  • WebAPI.Case

API List

The following WebAPIs are available

Notes

All WebAPIs respect standard HTTP headers including

  • Accept-Language - The language for any localized content, or filter data specific to that language
  • Accept-Content - The format of the response. Default is JSON, alternative is XML

Many WebAPIs also behave differently based on the country of the request. Usually country is derived from the IP address of the caller, however this can be overridden by passing a special header X-Country in the request This is non standard HTTP header, might change it later

Operations

Client token is generated when a WebAPI user is created using the admin console. Searching for the user shows the ClientToken

Developers

ClientToken can be test generated using eSupport.Common.SimpleCrypto.Sign(AssignedName)