Docs MenuTap to expand ▼

Quick Start

This page walks you through your first successful call in 5 minutes. From signing up to receiving a real freight quote, only three steps.

Step 1: Sign up

Open 5688.cn home and click "Sign up" at the top right. Use your mobile number to register. After registration, go to the Developer Console to claim the free 100-credit trial pack.

Tip:The trial pack and credit plans are available right after sign-up — no identity verification needed. Only monthly / yearly unlimited plans require identity verification (company or individual) before purchase.

Step 2: Create an app and get AppKey / AppSecret

Open Developer Console → App Management and click "Create App".

  • Enter an app name (only visible to you, used to distinguish multiple apps)
  • Select an initial plan (we recommend starting with the free 100-credit trial)
  • We strongly recommend configuring an IP whitelist right away (multiple IPs separated by commas)
  • After creation, the page shows your AppKey and AppSecret; the AppSecret is shown only once, copy it immediately.
⚠️ Security warning:Never push your AppSecret to public repos like GitHub / GitLab, and never embed it in frontend JS. If leaked, reset the Secret in the console immediately. Store it in server-side environment variables or a config center.

Step 3: Copy the sample and call the API

Below is a complete PHP example. Replace $appKey and $appSecret and run it.

<?php
// Ocean FCL Rate Query - Complete PHP Sample
$appKey    = 'AK_xxxxxxxxxxxxxxxx';        // (1) Replace with your AppKey
$appSecret = 'SK_yyyyyyyyyyyyyyyyyy';      // (2) Replace with your AppSecret
// pol / pod accept either 5-letter standard code, Chinese, or English. Pick one form.
//   standard code   'CNSHA' / 'USLSA'        fastest, recommended for production
//   Chinese  '上海' / '洛杉矶'           fuzzy match; same-name ports return all rates automatically
//   English  'shanghai' / 'los angeles'
$body      = json_encode([
    'pol'     => 'CNSHA',                  // Port of Loading (also accepts '上海' or 'shanghai')
    'pod'     => 'USLSA',                  // Port of Discharge (also accepts '洛杉矶' or 'los angeles')
    'carrier' => 'MSK',                    // Carrier (optional)
]);
$ts        = time();                       // Unix timestamp (seconds)
$nonce     = bin2hex(random_bytes(8));     // 16-byte random nonce
$path      = '/openapi/v1/freight/fcl/search';

// Signature: HMAC-SHA256( METHOD + "\n" + PATH + "\n" + TS + "\n" + NONCE + "\n" + md5(BODY) )
$message = "POST\n{$path}\n{$ts}\n{$nonce}\n" . md5($body);
$sign    = hash_hmac('sha256', $message, $appSecret);

$ch = curl_init('https://www.5688.cn/api' . $path);
curl_setopt_array($ch, [
    CURLOPT_POST           => 1,
    CURLOPT_POSTFIELDS     => $body,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_TIMEOUT        => 10,
    CURLOPT_HTTPHEADER     => [
        'Content-Type: application/json',
        "X-Awice-AppKey: {$appKey}",
        "X-Awice-Timestamp: {$ts}",
        "X-Awice-Nonce: {$nonce}",
        "X-Awice-Signature: {$sign}",
    ],
]);
$resp = curl_exec($ch);
curl_close($ch);

$result = json_decode($resp, true);
print_r($result);

Expected Response

On success, you receive a JSON response similar to the following:

{
  "code": 0,
  "msg": "success",
  "data": {
    "resolved": {
      "pol": { "code": "CNSHA", "name": "Shanghai" },
      "pod": { "code": "USLSA", "name": "Los Angeles" }
    },
    "total": 12,
    "page": 1,
    "limit": 20,
    "list": [
      {
        "carrier": "MSK",
        "carrier_name": "MAERSK",
        "container_20gp": 1850,
        "container_40gp": 2950,
        "container_40hq": 2980,
        "currency": "USD",
        "transit": 18,
        "valid_from": "2026-05-01",
        "valid_to": "2026-05-31",
        "update_time": 1746086400
      }
    ]
  },
  "credit_used": 1,
  "credit_balance": 9499
}

Common first-call issues

SymptomCauseSolution
Returns 2002 signature errorJSON serialization whitespace differsFollow the Auth doc and assemble the string exactly
Returns 2003 timestamp expiredServer clock not syncedRun ntpdate or enable system NTP sync
Returns 2005 IP not in whitelistOutbound IP missing from whitelistAdd the IP under Console → App Management
Quick Start - Awice Logistics Open Platform Docs | 5688.cn