页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

Request Headers
X-WallTeach-Date

Request sending time


Time format: RFC1123 Format

format:EEE, DD MM YYYY HH:MM:SS ZZZ

Sample:Thu, 04 Nov 2021 03:39:28 GMT

Notice: Greenwich Mean Time (GMT) is Beijing Time (GMT+8) minus 8 hours.
When the time is more than 15 minutes different from the server time, the request will be
denied, and a HTTP 401 returned.

Authorization

The standard HTTP header carries the authentication signature.

Format: WallTech < Token>: <Base64 Encoded HMAC SHA-1 Hash>

Sample:WallTech test5AdbzO5OEeOpvgAVXUFE0A:LhpcUyKXCaGcn3tVPwY4nX44XTA=

Explain:

<Access Token>: API Token
<Base64 Encoded HMAC SHA-1 Hash>

Through the key, such as key=79db9e5OEeOpvgAVXUFWSD, use the SecretKeySpec
class to encrypt the key in HmacSHA1 mode, and then initialize a Mac object with the
algorithm HmacSHA1, and then use the key to initialize the Mac object. Finally, the Mac
objectis processed as Byte, and then Base64 conversion operation is performed on it


Content-Typeapplication/json/
Acceptapplication/json/

Step 3 Start your API docking

You can now begin to integrate the etower API into your test / formal environment. For complete information on all API operations, refer to the generic

API documentation. For technical assistance, please email etowercs@walltechsystem.cn

 

1.2VersionandBackwardCompatibility

The API is versioned, and different major versions use different URLs. For minor version
enhancement, we may add new features/properties, but never remove or change any
existing features/properties. API clients are required to tolerant newly added properties in
response JSON.

  • For example, a REST call returns JSON like{"orderId":"12345","price":69,"priceCurrency":"AUD"}


API clients are required to be insensitive to new JSON properties in the future. But the
existing 3 propertieswon’tbe removed or redefined. Should the response have a new
property in the future minor version release, the client implementation need still be able
to work.

  • For example Add trackingno field   {"orderId":"12345","price":69,"priceCurrency":"AUD","trackingNo":"123456"}

Backward compatibility is not assured between major versions



1.3ErrorHandling

Implementation errors that can be found and prevented at development stage are
handled using HTTP status code.

The description of HTTP status code:

  • HTTP 2xx indicates successful returns in terms of implementation logic;
  • 4xx is client side error



Encryption example

You can directly refer to the following code samples or download the compressed package API Signature Demo.zip