コアコンセプト
このページでは、Flex Forward APIの主要な概念を説明します。リソースの関係性、ラベルのライフサイクル、配送業者間で追跡データがどのように正規化されるかを理解できます。リソース
APIは3つの関連リソースを管理しており、すべてラベルID(UUID)でリンクされています:| リソース | エンドポイント | 説明 |
|---|---|---|
| ラベル | POST /labels | 配送業者に送信された配送ラベルリクエスト |
| ラベル文書 | GET /labels/{id} | ラベルの印刷可能なエアウェイビル(PDFまたはPNG) |
| 追跡 | GET /tracking/{id} | ラベルのリアルタイム配送追跡データ |
POST /labels から返されるラベルIDが、すべての操作で使用される主キーです。別個のトラッキングIDはありません。追跡は常にラベルIDでアクセスします。
ラベルのライフサイクル
ラベルは以下の状態を経て進行します:作成済み
ラベルリクエストが配送業者に受け付けられました。レスポンスには
courierOrderNumber、courierTrackingNumber、およびラベル id が含まれます。ラベル文書は取得可能です。文書が利用可能
GET /labels/{id} でエアウェイビルのPDFまたはPNGをダウンロードできます。印刷して荷物に添付してください。文書URLは永続的で有効期限はありません。対応フォーマットはPDFとPNGです。status: failed で保存され、配送業者のエラー詳細が含まれます。詳細はエラーハンドリングをご覧ください。
追跡ステータスモデル
追跡データは業界標準に基づく統一されたステータスモデルを使用します。各追跡レスポンスにはトップレベルのtag と subtag、および個々の追跡イベントを表す checkpoints の配列が含まれます。
ステータスタグ
| タグ | 意味 |
|---|---|
Pending | ラベルが作成されたが、まだ配送業者に受信されていない |
InfoReceived | 配送業者が配送情報を受信した |
InTransit | 荷物が輸送中 |
Delivered | 荷物が配達された |
Exception | 輸送中に問題が発生した(例:配達失敗、税関保留) |
Cancelled | 配送がキャンセルされた |
Unknown | ステータスを判定できなかった |
subtag フィールドはより詳細な粒度を提供します(例:InTransit_001、Exception_002)。高レベルのステータスロジックには tag を、詳細なステータス表示には subtag を使用してください。
チェックポイント
各チェックポイントは1つの追跡イベントを表します:配送業者の正規化
各配送業者には独自のAPIフォーマット、ステータスコード、エラー規約があります。Flex Forwardはこれらの違いを正規化します:- 統一リクエスト形式 — 配送業者に関係なく同じJSON構造を送信します。配送業者固有の詳細は内部で処理されます。
- 統一レスポンス形式 —
id、status、courierOrderNumber、courierTrackingNumber、および(失敗時は)errorを含む一貫したラベルレスポンスを受信します。 - 統一追跡 — 異なる配送業者の追跡イベントが同じステータスタグの分類体系とチェックポイント形式にマッピングされます。
配送業者とプロダクトコード
各ラベルリクエストにはcourier スラッグと productCode が必要です。利用可能な配送業者とプロダクトコードはアカウントのオンボーディング時に設定されます。
| 配送業者 | スラッグ | プロダクトコード | 説明 |
|---|---|---|---|
| YunExpress | yunexpress | YEXP01 | 標準越境EC |
serviceCode フィールドはオプションで、利用可能な場合に特定のサービスレベルを有効にします。お客様の配送ルートで利用可能なプロダクトコードとサービスオプションについては、Flex Forwardチームにお問い合わせください。
アドレス参照データ
アドレスフィールドには標準化されたコードが必要です:countryCode— ISO 3166-1 alpha-2国コード(例:US、JP、CN、GB、DE)state— 州または県コード。州レベルの住所が必要な国で必須(例:米国のCA、NY、TX)
サポートされている国コードと米国の州コードの完全なリファレンスは今後のリリースで予定されています。
インテグレーションフロー
一般的なインテグレーションの流れ:POST /labels 呼び出しから返される同じラベル id を使用します。文書と追跡に別々の識別子を管理する必要はありません。
追跡データは配送業者からリアルタイムで取得されます。まだ配送業者にスキャンされていない荷物の場合、追跡レスポンスはチェックポイントなしの
Pending または InfoReceived ステータスを返す場合があります。