ATLAS-Things API v1 リファレンス API Reference

このページでは、ATLAS-Things APIの仕様詳細について記載しています。


ATLAS-Things APIとは

ATLAS-Things APIを使うことで、各種入出荷実績を記録・管理することができます。 API機能として入出荷実績データの登録・削除・出力、ログ収集などを保持しています。


ATLAS-Things APIご利用開始方法

ATLAS-Things APIのご利用には、アカウント登録の申請が必要です。
右記連絡先まで申請のご連絡をお願いします。


API認証について

APIの認証には、API Keyと JWT(JSON Web Token)を使用します。

JWTの生成方法

本サービスのアカウント登録後、クライアントごとにAPI KeyとAPI Secretを発行します。
JWTの生成には、API Secretを使用します。

JWTのペイロードとして、以下の形式のJSONオブジェクト(UTF-8)を生成します。 requestDateは、APIをリクエストしたシステム日時(ISO8601拡張形式の年月日時分秒までのUTC)を設定してください。
JWTの有効期限は1分間なので、リクエストの都度、設定することをお勧めします。

            {
              'requestDate': '2019-03-01T11:20:52Z'
            }
            

生成したペイロードをbase64urlエンコードし、API Secretを鍵にしてJWTを生成します。
暗号化アルゴリズムは、HMAC SHA-256を指定してください。

C#の場合のJWTの実装例

.Net FrameworkのパッケージマネージャであるNuGetにアクセスして、System.IdentityModel.Tokens.Jwtをインストールします。

            using System;
            using System.IdentityModel;
            
            class Example
            {
              // API Secret(本サービスのアカウント登録後に発行)
              var apiSecret = "example-api-secret";
            
              // JWTを操作するクラスを用意
              var handler = new JwtSecurityTokenHandler();
            
              // 共通鍵の生成
              var securityKey = new Microsoft.IdentityModel.Tokens.SymmetricSecurityKey(Encoding.UTF8.GetBytes(apiSecret));
            
              // 署名情報を生成(暗号化アルゴリズムはHMAC SHA-256を指定)
              var credentials = new Microsoft.IdentityModel.Tokens.SigningCredentials(securityKey, "HS256");
            
              // JWTヘッダの生成
              var header = new System.IdentityModel.Tokens.Jwt.JwtHeader(credentials);
            
              // ペイロードの生成
              var payload = new System.IdentityModel.Tokens.Jwt.JwtPayload
              {
                { "requestDate", DateTime.UtcNow.ToString("u").Replace(" ","T") }
              }
            
              // JWTの生成
              var secToken = new System.IdentityModel.Tokens.Jwt.JwtSecurityToken(header, payload);
              var jwt = handler.WriteToken(secToken);
            }
            

**API認証に必要な情報**

クライアントは、API KeyとJWTをリクエストに含めて送信することで、APIの認証をします。

下記の表が、リクエストに含まれる認証情報です。
X-ATLAS-API-KeyヘッダーとAuthorizationヘッダーを、全てのAPIのリクエストに必ず含めてください。

parameters in data type description
X-ATLAS-API-Key header string API Keyを設定するヘッダー
Authorization header string JWTを設定するヘッダー

API認証失敗時

認証に失敗した場合、エラー情報がクライアントに返ります。
エラー情報を確認のうえ、正しい認証情報を設定して再度リクエストしてください。

HTTP status code errorCode detail description
401 Unauthorized 800 authorization failed. その他の認証エラー
801 jwt expired. JWTの有効期限切れエラー
804 requestDate is invalid format. JWTのリクエスト日時のフォーマットエラー

APIのリクエストについて

各APIのリクエストは、すべての項目を含めて送信する必要があります。
必須でない項目で設定が不要な場合は、値にNULLを設定してください。
リクエストとして定義されている項目が存在しない場合、エラー情報が返ります。

API Endpoint
https://api.atlas-things.io/v1/
Contact: contact@atlas-things.jp
Schemes: https
Version: v18.10

Overview(概要)

Shipping(出荷)とReceiving(入荷)には、データを1件ずつ登録する『個別登録』のAPIと、まとめて登録する『一括登録』のAPIがあります。
『個別登録』は、ハンディ端末などで読み取った都度データ登録を行うシーンなどを想定しています。
『一括登録』は、ゲートを通過するパレットなどからまとめて登録を行うシーンなどを想定しています。

Shipping(出荷)

出荷情報の個別登録と一括登録を提供します。

出荷情報個別登録

POST /shipping/item

出荷実績データを1件づつ登録します。
出荷実績データは、出荷先拠点で入荷実績データが上がるまでは登録可能です。
(移動伝票番号に紐付く入荷実績の有無でバリデーションを実施しています。)

登録対象のリクエスト情報

Request Example
{
  "transactionId": "bf7d0aa8-537c-4e4c-80a0-6b6451f59abb",
  "movementSlipNo": "78964456306232651242",
  "baseId": "2114dbec-a137-11e8-9a80-ec21e50b3736",
  "counterBaseId": "458435f8-2e5c-444b-b828-6f25f35f3a40",
  "targetPath": "/111/222/333/",
  "items": [
    {
      "trackingId": "000901000000000000040000-001",
      "uid": "000901000000000000040000",
      "autoIdType": "exampleType",
      "path": "/Ship001/Cont001/Pallet001/000901000000000000040000-001/",
      "itemCount": 1,
      "movedDateTime": "2019-06-26T04:37:20.399908Z",
      "individualRecognitionCode": "excampleCode",
      "largeClassAggregationKey": "exampleLargeKey",
      "middleClassAggregationKey": "exampleMiddleKey",
      "smallClassAggregationKey": "exampleSmallKey",
      "isInactivated": false,
      "autoInactive": {
        "isAutoInactivated": true,
        "targetParentPath": "/Ship001/Cont001/Pallet001/",
        "elapsedDays": 5
      }
    }
  ]
}
204 No Content

成功時

400 Bad Request

入力チェックエラー (errorCode 100)
重複リクエスト登録エラー (errorCode 200)
入荷済みチェックエラー (errorCode 201)
他拠点入出荷データ更新不可エラー (errorCode 202)
複数アイテム混入エラー (errorCode 203)

500 Internal Server Error

システムエラー (errorCode 900)

Response Example (400 Bad Request)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}
Response Example (500 Internal Server Error)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}

出荷情報一括登録

POST /shipping/items

出荷実績データを一括で登録します。
出荷実績データは、出荷先拠点で入荷実績データが上がるまでは登録可能です。
(移動伝票番号に紐付く入荷実績の有無でバリデーションを実施しています。)

登録対象のリクエスト情報

Request Example
{
  "transactionId": "bf7d0aa8-537c-4e4c-80a0-6b6451f59abb",
  "movementSlipNo": "78964456306232651242",
  "baseId": "2114dbec-a137-11e8-9a80-ec21e50b3736",
  "counterBaseId": "458435f8-2e5c-444b-b828-6f25f35f3a40",
  "targetPath": "/111/222/333/",
  "items": [
    {
      "trackingId": "000901000000000000040000-001",
      "uid": "000901000000000000040000",
      "autoIdType": "exampleType",
      "path": "/Ship001/Cont001/Pallet001/000901000000000000040000-001/",
      "itemCount": 1,
      "movedDateTime": "2019-06-26T04:37:20.399908Z",
      "individualRecognitionCode": "excampleCode",
      "largeClassAggregationKey": "exampleLargeKey",
      "middleClassAggregationKey": "exampleMiddleKey",
      "smallClassAggregationKey": "exampleSmallKey",
      "isInactivated": false,
      "autoInactive": {
        "isAutoInactivated": true,
        "targetParentPath": "/Ship001/Cont001/Pallet001/",
        "elapsedDays": 5
      }
    }
  ]
}
204 No Content

成功時

400 Bad Request

入力チェックエラー (errorCode 100)
重複リクエスト登録エラー (errorCode 200)
入荷済みチェックエラー (errorCode 201)
他拠点入出荷データ更新不可エラー (errorCode 202)
パス不一致エラー (errorCode 204)

500 Internal Server Error

システムエラー (errorCode 900)

Response Example (400 Bad Request)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}
Response Example (500 Internal Server Error)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}

Receiving(入荷)

入荷情報の個別登録と一括登録を提供します。

入荷情報個別登録

POST /receiving/item

入荷実績データを1件づつ登録します。

登録対象のリクエスト情報

Request Example
{
  "transactionId": "bf7d0aa8-537c-4e4c-80a0-6b6451f59abb",
  "movementSlipNo": "78964456306232651242",
  "baseId": "2114dbec-a137-11e8-9a80-ec21e50b3736",
  "counterBaseId": "458435f8-2e5c-444b-b828-6f25f35f3a40",
  "targetPath": "/111/222/333/",
  "items": [
    {
      "trackingId": "000901000000000000040000-001",
      "uid": "000901000000000000040000",
      "autoIdType": "exampleType",
      "path": "/Ship001/Cont001/Pallet001/000901000000000000040000-001/",
      "itemCount": 1,
      "movedDateTime": "2019-06-26T04:37:20.399908Z",
      "individualRecognitionCode": "excampleCode",
      "largeClassAggregationKey": "exampleLargeKey",
      "middleClassAggregationKey": "exampleMiddleKey",
      "smallClassAggregationKey": "exampleSmallKey",
      "isInactivated": false,
      "autoInactive": {
        "isAutoInactivated": true,
        "targetParentPath": "/Ship001/Cont001/Pallet001/",
        "elapsedDays": 5
      }
    }
  ]
}
204 No Content

成功時

400 Bad Request

入力チェックエラー (errorCode 100)
重複リクエスト登録エラー (errorCode 200)
他拠点入出荷データ更新不可エラー (errorCode 202)
複数アイテム混入エラー (errorCode 203)

500 Internal Server Error

システムエラー (errorCode 900)

Response Example (400 Bad Request)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}
Response Example (500 Internal Server Error)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}

入荷情報一括登録

POST /receiving/items

入荷実績データを一括で登録します。

登録対象のリクエスト情報

Request Example
{
  "transactionId": "bf7d0aa8-537c-4e4c-80a0-6b6451f59abb",
  "movementSlipNo": "78964456306232651242",
  "baseId": "2114dbec-a137-11e8-9a80-ec21e50b3736",
  "counterBaseId": "458435f8-2e5c-444b-b828-6f25f35f3a40",
  "targetPath": "/111/222/333/",
  "items": [
    {
      "trackingId": "000901000000000000040000-001",
      "uid": "000901000000000000040000",
      "autoIdType": "exampleType",
      "path": "/Ship001/Cont001/Pallet001/000901000000000000040000-001/",
      "itemCount": 1,
      "movedDateTime": "2019-06-26T04:37:20.399908Z",
      "individualRecognitionCode": "excampleCode",
      "largeClassAggregationKey": "exampleLargeKey",
      "middleClassAggregationKey": "exampleMiddleKey",
      "smallClassAggregationKey": "exampleSmallKey",
      "isInactivated": false,
      "autoInactive": {
        "isAutoInactivated": true,
        "targetParentPath": "/Ship001/Cont001/Pallet001/",
        "elapsedDays": 5
      }
    }
  ]
}
204 No Content

成功時

400 Bad Request

入力チェックエラー (errorCode 100)
重複リクエスト登録エラー (errorCode 200)
他拠点入出荷データ更新不可エラー (errorCode 202)
パス不一致エラー (errorCode 204)

500 Internal Server Error

システムエラー (errorCode 900)

Response Example (400 Bad Request)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}
Response Example (500 Internal Server Error)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}

Others(その他)

データの削除と出力、クレデンシャル発行および無効化された追跡IDリスト出力を提供します。

出荷情報削除

POST /shipping/items/delete

指定された格納パスの出荷実績データを削除します。

削除対象のリクエスト情報

Request Example
{
  "transactionId": "bf7d0aa8-537c-4e4c-80a0-6b6451f59abb",
  "movementSlipNo": "78964456306232651242",
  "targetPaths": [
    "/111/222/333/",
    "/444/555/666/"
  ]
}
204 No Content

成功時

400 Bad Request

入力チェックエラー (errorCode 100)
重複リクエスト登録エラー (errorCode 200)
入荷済みチェックエラー (errorCode 201)
他拠点入出荷データ更新不可エラー (errorCode 202)

500 Internal Server Error

システムエラー (errorCode 900)

Response Example (400 Bad Request)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}
Response Example (500 Internal Server Error)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}

入荷情報削除

POST /receiving/items/delete

指定された格納パスの入荷実績データを削除します。

削除対象のリクエスト情報

Request Example
{
  "transactionId": "bf7d0aa8-537c-4e4c-80a0-6b6451f59abb",
  "movementSlipNo": "78964456306232651242",
  "targetPaths": [
    "/111/222/333/",
    "/444/555/666/"
  ]
}
204 No Content

成功時

400 Bad Request

入力チェックエラー (errorCode 100)
重複リクエスト登録エラー (errorCode 200)
他拠点入出荷データ更新不可エラー (errorCode 202)

500 Internal Server Error

システムエラー (errorCode 900)

Response Example (400 Bad Request)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}
Response Example (500 Internal Server Error)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}

出荷実績データ出力

GET /items/download

リクエストされたテナントの出荷実績データ出力ファイルのダウンロード用のURLを返却します。
パラメータ:cursor無しの場合は、初回のダウンロードとして出荷実績データを全件返却します。
その際、出荷実績データのダウンロード用のURLは、当月以前と当月(日次単位)で分けて生成されます。 当月以前と当月の出荷実績データには、重複するデータ(移動伝票番号・追跡ID・移動実績日時が同一のデータ)が一部存在する可能性があります。

次回以降は、パラメータ:cursorに前回のカーソル情報を設定してリクエストすることで、前回からの差分の出荷実績データを取得できます。

レスポンスの取得後、ダウンロード用のURLにアクセスすることで、出荷実績データ出力ファイルを取得できます。
出荷実績データ出力ファイルのフォーマットはUTF-8のJSONファイルです。内容については、 ActualShippingDataを参照してください。
ダウンロード用のURLへのアクセス時は、ATLAS-Things APIの認証用ヘッダー情報(X-ATLAS-API-KeyとAuthorization)を付けずにGETメソッドでアクセスしてください。

また、ダウンロード用URLの有効期限は1時間です。
有効期限が切れた場合はAccessDeniedのレスポンスが返るので、再度リクエストを送信してください。

cursor: string
in query

今回出力ポイントのカーソル情報

200 OK

成功時

400 Bad Request

入力チェックエラー (errorCode 100)

500 Internal Server Error

システムエラー (errorCode 900)

Response Example (200 OK)
{
  "urls": [
    "https://s3-ap-northeast-1.amazonaws.com/backet01/file01",
    "https://s3-ap-northeast-1.amazonaws.com/backet01/file02"
  ],
  "cursor": "ew0K4oCdcHJldmlvdXNQcm9jZXNzVHlwZeKAnToxMjM1NjcsDQoicmVxdWVzdERhdGV0aW1lIjoiMjAxOC0wNi0wNVQwNDo1MDo0MFoiLA0KInByZXZpb3VzSUQiOjEyMzQ1LA0KImxhc3RFdmFsdWF0ZWRLZXkiOnsia2V5IjoxMjM0NTZ9DQp9DQoNCiA=",
  "hasNext": false
}
Response Example (400 Bad Request)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}
Response Example (500 Internal Server Error)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}

クレデンシャル発行

GET /log/credentials

ログアップロードに使用するクレデンシャルを取得します。
AWS SDKを使用して、所定のS3バケットにログファイルをアップロードします。
(参考: https://aws.amazon.com/jp/sdk-for-net/

200 OK

成功時

500 Internal Server Error

システムエラー (errorCode 900)

Response Example (200 OK)
{
  "accessKeyId": "M9DTMSG986WM59JPQ3CW",
  "secretAccessKey": "xtzwg/8m5G9yXb7jh9g2EF9/4t6izdBakbQJyD9x",
  "sessionToken": "abcd1234",
  "expiration": "2019-08-15T0412:42:13Z"
}
Response Example (500 Internal Server Error)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}

無効追跡IDリスト出力

GET /inactivetrackingids/download

無効化された追跡IDリストデータダウンロード用URLを返却します。
パラメータ:cursor無しの場合は、直近90日分のデータを返却します。

次回以降は、パラメータ:cursorに前回のカーソル情報を設定してリクエストすることで、前回からの差分の無効化された追跡IDリストデータを取得できます。

レスポンスの取得後、ダウンロード用のURLにアクセスすることで、無効追跡IDリスト出力ファイルを取得できます。
無効追跡IDリスト出力ファイルのフォーマットはUTF-8のJSONファイルです。内容については、 InactiveTrackingIdsを参照してください。
アクセス時は、ATLAS-Things APIの認証用ヘッダー情報(X-ATLAS-API-KeyとAuthorization)を付けずにGETメソッドでアクセスしてください。

また、ダウンロード用URLの有効期限は1時間です。
有効期限が切れた場合はAccessDeniedのレスポンスが返るので、再度リクエストを送信してください。

cursor: string
in query

今回出力ポイントのカーソル情報

成功時

400 Bad Request

入力チェックエラー (errorCode 100)

500 Internal Server Error

システムエラー (errorCode 900)

Response Example (200 OK)
{
  "urls": [
    "https://s3-ap-northeast-1.amazonaws.com/backet01/file01",
    "https://s3-ap-northeast-1.amazonaws.com/backet01/file02"
  ],
  "cursor": "ew0K4oCdcHJldmlvdXNQcm9jZXNzVHlwZeKAnToxMjM1NjcsDQoicmVxdWVzdERhdGV0aW1lIjoiMjAxOC0wNi0wNVQwNDo1MDo0MFoiLA0KInByZXZpb3VzSUQiOjEyMzQ1LA0KImxhc3RFdmFsdWF0ZWRLZXkiOnsia2V5IjoxMjM0NTZ9DQp9DQoNCiA=",
  "hasNext": false
}
Response Example (400 Bad Request)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}
Response Example (500 Internal Server Error)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}

クライアントマスタデータ出力

GET /master/${masterName}

クライアントのシステムの最新マスタデータダウンロード用URLを返却します。
パラメータ:lastDownloadDate無しの場合は、初回のダウンロードとして最新マスタデータを返却します。

次回以降は、パラメータ:lastDownloadDateに日時を設定してリクエストすることで、指定した日時以降の最新マスタデータを取得できます。

レスポンスの取得後、ダウンロード用のURLにアクセスすることで、クライアントマスタデータ出力ファイルを取得できます。
クライアントマスタデータ出力ファイルがCSVの場合、文字コードはUTF-8です。CSV以外の場合、任意の形式のファイルです。
アクセス時は、ATLAS-Things APIの認証用ヘッダー情報(X-ATLAS-API-KeyとAuthorization)を付けずにGETメソッドでアクセスしてください。

また、ダウンロード用URLの有効期限は1時間です。
有効期限が切れた場合はAccessDeniedのレスポンスが返るので、再度リクエストを送信してください。

masterName: string
in path

マスタ名

lastDownloadDateTime: string
in query

最終出力日時
ISO8601拡張形式(UTC)にマイクロ秒(6桁)を加えた形式です。
(YYYY-MM-DDThh:mm:ss.ffffffZ)

成功時

400 Bad Request

入力チェックエラー (errorCode 100)
マスタ不存在エラー (errorCode 208)

500 Internal Server Error

システムエラー (errorCode 900)

Response Example (200 OK)
{
  "url": "https://s3-ap-northeast-1.amazonaws.com/backet01/download/tenant01/master01/20191205095136_master01.csv"
}
Response Example (400 Bad Request)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}
Response Example (500 Internal Server Error)
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}

Schema Definitions

TagData: object

出荷実績データの情報

urls: string[]

出荷実績データダウンロード用のURLリスト
URLがない場合は、空のリストが返されます。

string

出荷実績データダウンロード用のURL

cursor: string

次回API呼び出し時のカーソル情報

hasNext: boolean

次データ有無

Example
{
  "urls": [
    "https://s3-ap-northeast-1.amazonaws.com/backet01/file01",
    "https://s3-ap-northeast-1.amazonaws.com/backet01/file02"
  ],
  "cursor": "ew0K4oCdcHJldmlvdXNQcm9jZXNzVHlwZeKAnToxMjM1NjcsDQoicmVxdWVzdERhdGV0aW1lIjoiMjAxOC0wNi0wNVQwNDo1MDo0MFoiLA0KInByZXZpb3VzSUQiOjEyMzQ1LA0KImxhc3RFdmFsdWF0ZWRLZXkiOnsia2V5IjoxMjM0NTZ9DQp9DQoNCiA=",
  "hasNext": false
}

ActualShippingData: object

出荷実績データの出力ファイルの情報

actualShippingData: ActualShipping

出荷実績データのリスト
データがない場合は、空のリストが返されます。

ActualShipping

出荷実績データの情報

Example
{
  "actualShippingData": [
    {
      "tenantId": "e95k6suc-bkd9-87fu-aa0o-fs346b7ah5cu",
      "movementSlipNo": "20181015000000000001",
      "baseId": "2114dbec-a137-11e8-9a80-ec21e50b3736",
      "counterBaseId": "458435f8-2e5c-444b-b828-6f25f35f3a40",
      "items": [
        {
          "trackingId": "84FDDE3C-5EFA-474D-87AC-B77220683BD3",
          "uid": "000901000000000000040001",
          "autoIdType": "exampleType",
          "path": "/Ship001/Cont001/Pallet001/84FDDE3C-5EFA-474D-87AC-B77220683BD3/",
          "itemCount": 1,
          "movedDateTime": "2018-09-20T11:19:52.909301Z",
          "individualRecognitionCode": "individualRecognitionCode",
          "largeClassAggregationKey": "largeClassAggregationKey",
          "middleClassAggregationKey": "middleClassAggregationKey",
          "smallClassAggregationKey": "smallClassAggregationKey"
        },
        {
          "trackingId": "6ECA5C72-A184-482A-A4AA-F7EDF9E58E98",
          "uid": "000901000000000000040002",
          "autoIdType": "exampleType",
          "path": "/Ship001/Cont001/Pallet001/6ECA5C72-A184-482A-A4AA-F7EDF9E58E98/",
          "itemCount": 1,
          "movedDateTime": "2018-09-20T11:19:52.909301Z",
          "individualRecognitionCode": "individualRecognitionCode",
          "largeClassAggregationKey": "largeClassAggregationKey",
          "middleClassAggregationKey": "middleClassAggregationKey",
          "smallClassAggregationKey": "smallClassAggregationKey"
        }
      ]
    }
  ]
}

ActualShipping: object

出荷実績データの情報

tenantId: string

テナントID

movementSlipNo: string

移動伝票番号

baseId: string

拠点ID

counterBaseId: string

対向拠点ID

items: ActualShippingItem
ActualShippingItem

出荷実績のアイテムの情報
出荷実績のアイテムがない場合は、この項目は空のリストが返されます。

Example
{
  "tenantId": "e95k6suc-bkd9-87fu-aa0o-fs346b7ah5cu",
  "movementSlipNo": "20181015000000000001",
  "baseId": "2114dbec-a137-11e8-9a80-ec21e50b3736",
  "counterBaseId": "458435f8-2e5c-444b-b828-6f25f35f3a40",
  "items": [
    {
      "trackingId": "84FDDE3C-5EFA-474D-87AC-B77220683BD3",
      "uid": "000901000000000000040001",
      "autoIdType": "exampleType",
      "path": "/Ship001/Cont001/Pallet001/84FDDE3C-5EFA-474D-87AC-B77220683BD3/",
      "itemCount": 1,
      "movedDateTime": "2018-09-20T11:19:52.909301Z",
      "individualRecognitionCode": "individualRecognitionCode",
      "largeClassAggregationKey": "largeClassAggregationKey",
      "middleClassAggregationKey": "middleClassAggregationKey",
      "smallClassAggregationKey": "smallClassAggregationKey"
    },
    {
      "trackingId": "6ECA5C72-A184-482A-A4AA-F7EDF9E58E98",
      "uid": "000901000000000000040002",
      "autoIdType": "exampleType",
      "path": "/Ship001/Cont001/Pallet001/6ECA5C72-A184-482A-A4AA-F7EDF9E58E98/",
      "itemCount": 1,
      "movedDateTime": "2018-09-20T11:19:52.909301Z",
      "individualRecognitionCode": "individualRecognitionCode",
      "largeClassAggregationKey": "largeClassAggregationKey",
      "middleClassAggregationKey": "middleClassAggregationKey",
      "smallClassAggregationKey": "smallClassAggregationKey"
    }
  ]
}

ActualShippingItem: object

出荷実績のアイテムの情報

trackingId: string

追跡ID

uid: string

UID

autoIdType: string

自動認識タイプ

path: string

格納パス
階層化した複数のItem.trackingIdを「/」で連結し、先頭および末尾に「/」を追加したものです。

itemCount: int64

アイテム数

movedDateTime: string

移動実績日時
ISO8601拡張形式(UTC)にマイクロ秒(6桁)を加えた形式です。
(YYYY-MM-DDThh:mm:ss.ffffffZ)

individualRecognitionCode: string

個品識別コード

largeClassAggregationKey: string

大分類 集計キー

middleClassAggregationKey: string

中分類 集計キー

smallClassAggregationKey: string

小分類 集計キー

Example
{
  "trackingId": "000901000000000000040000-001",
  "uid": "000901000000000000040000",
  "autoIdType": "exampleType",
  "path": "/Ship001/Cont001/Pallet001/000901000000000000040000-001/",
  "itemCount": 20,
  "movedDateTime": "2019-06-26T04:37:20.399908Z",
  "individualRecognitionCode": "00084",
  "largeClassAggregationKey": "supplier case",
  "middleClassAggregationKey": "case type",
  "smallClassAggregationKey": "case size"
}

InvalidParam: object

不正なパラメータの情報

name reason value of place holder
※エラー項目名 must be required. -
※エラー項目名 digit must be greater than or equal to {0} and less than or equal to {1}. {0}:下限桁数、{1}:上限桁数
※エラー項目名 a non-alphabetic character was found. -
※エラー項目名 a non-numerical charcter was found. -
※エラー項目名 a non-alphanumeric character was found. -
※エラー項目名 invalid format. -
※エラー項目名 item's path must start with targetPath or targetPath must start with item's path. [trackingId={0},targetPath={1},path={2}] {0}:追跡ID、{1}:データ処理対象格納パス、{2}:格納パス
name: string

パラメータの名前

reason: string

理由

Example
{
  "name": "string",
  "reason": "string"
}

ProblemDetails: object

問題の詳細情報

HTTP status code エラー内容 errorCode detail
400 BadRequest 入力チェックエラー 100 invalid input value.
重複リクエスト登録エラー 200 the transactionId={0} has already been registered.
入荷済みチェックエラー 201 the data has already been received at the next base.
他拠点入出荷データ更新不可エラー 202 the specified movementSlipNo has already been used in other base. please specify different value for movementSlipNo.
複数アイテム混入エラー 203 there can be only one item in this request.
パス不一致エラー 204 item's path and targetPath inconsistency error.
リクエストサイズエラー 205 request is too large. please request's data size keep less than 10MB.
無効リクエストエラー 206 invalid json format. [{0}]
拠点ID不一致エラー 207 there is an inconsistency between api key and baseId.
マスタ不存在エラー 208 the master file does not exist.[ master={0} ]
401 Unauthorized その他の認証エラー 800 authorization failed.
JWTの有効期限切れエラー 801 jwt expired.
JWTのリクエスト日時のフォーマットエラー 804 requestDate is invalid format.
404 NotFound リソース不存在エラー 802 resource not found. please confirm request's path.
429 Throttled スロットリングエラー 803 request is too many. please call API in a little while.
500 InternalServerError システムエラー 900 internal error has occurred. please call API in a little while.
503 ServiceUnavailable サービス停止エラー 901 system maintenance.

※APIのエンドポイントが正しくない場合、HTTP status codeは403(Forbidden)になります。
 その場合、上記のフォーマットのエラーレスポンスではなく、下記のようにmessageのみが返ります。

 HTTP status code 403 
{ 'message': 'Forbidden' }

title: string

タイトル

errorCode: integer

ステータスコード

detail: string

詳細情報

traceId: string

リクエスト追跡ID

invalidParams: InvalidParam
InvalidParam

不正なパラメータの情報
不正なパラメータの情報がない場合は、この項目は空のリストが返ります。

Example
{
  "title": "string",
  "errorCode": "integer",
  "detail": "string",
  "traceId": "string",
  "invalidParams": [
    {
      "name": "string",
      "reason": "string"
    }
  ]
}

Item: object

アイテムの情報

trackingId: string (^[0-9A-Za-z\-]+$) (1 to 36 chars)

追跡ID
「#」を指定すると、クラウドにて追跡IDを特定もしくは新規採番して補完します。

uid: string (^[0-9A-F\-]+$) (1 to 124 chars)

UID

autoIdType: string (^[0-9A-Za-z]+$) (1 to 30 chars)

自動認識タイプ

path: string (1 to 600 chars)

格納パス
階層化した複数のItem.trackingIdを「/」で連結し、先頭および末尾に「/」を追加したものです。
クラウドにて補完するために追跡IDに「#」を指定した場合、格納パスの末尾の階層にも「#」を指定してください。
なお、「#」の指定は格納パスの末尾の階層にのみ可能です。

itemCount: int64

アイテム数

movedDateTime: string

移動実績日時
ISO8601拡張形式(UTC)にマイクロ秒(6桁)を加えたものを設定してください。
(YYYY-MM-DDThh:mm:ss.ffffffZ)

key value
YYYY 西暦4桁
MM 月で 01 から 12 の値をとる。
DD 日で 01 から 31 の値をとる。
hh 時間で 00 から 24 の値をとる。
mm 分で 00 から 59 の値をとる。
ss 秒で 00 から 59 及び閏秒に 60 の値をとる。
ffffff マイクロ秒で 000000 から 999999 の値をとる。
individualRecognitionCode: string (up to 150 chars)

個品識別コード

largeClassAggregationKey: string (up to 50 chars)

大分類 集計キー
未設定の場合は""(空文字)を設定してください。

middleClassAggregationKey: string (up to 50 chars)

中分類 集計キー
未設定の場合は""(空文字)を設定してください。

smallClassAggregationKey: string (up to 50 chars)

小分類 集計キー
未設定の場合は""(空文字)を設定してください。

isInactivated: boolean

無効化フラグ

autoInactive: object

自動無効化

isAutoInactivated: boolean

自動無効化対象フラグ

targetParentPath: string (1 to 600 chars)

自動無効化対象パス
自動無効化対象のItem.trackingIdを「/」で連結し、先頭および末尾に「/」を追加したものです。

elapsedDays: int64

自動無効化経過日数

Example
{
  "trackingId": "000901000000000000040000-001",
  "uid": "000901000000000000040000",
  "autoIdType": "exampleType",
  "path": "/Ship001/Cont001/Pallet001/000901000000000000040000-001/",
  "itemCount": 20,
  "movedDateTime": "2019-06-26T04:37:20.399908Z",
  "individualRecognitionCode": "00084",
  "largeClassAggregationKey": "supplier case",
  "middleClassAggregationKey": "case type",
  "smallClassAggregationKey": "case size",
  "isInactivated": false,
  "autoInactive": {
    "isAutoInactivated": true,
    "targetParentPath": "/Ship001/Cont001/Pallet001/",
    "elapsedDays": 5
  }
}

RegistrationRequest: object

登録のリクエスト

transactionId: string (^[0-9A-Za-z\-]+$) (36 chars)

トランザクションID
クライアントからのリクエストを識別するためのID。
1リクエスト毎に一意となる値を設定してください。
※ 推奨値:UUID

movementSlipNo: string (^[0-9A-Za-z]+$) (20 chars)

移動伝票番号

baseId: string (^[0-9A-Za-z\-]+$) (36 chars)

拠点ID

counterBaseId: string (^[0-9A-Za-z\-]+$) (36 chars)

対向拠点ID

targetPath: string (1 to 600 chars)

データ処理対象
階層化した複数のItem.trackingIdを「/」で連結し、先頭および末尾に「/」を追加したものです。
指定された格納パスに対して、上書き登録を行います。
(当該格納パスデータを削除の上、今回リクエストデータを登録します。)
※ 一括登録の場合は必須です。

items: Item

アイテムリスト
※ 個別登録の場合はアイテムを2つ以上設定すると、複数アイテム混入エラー (errorCode 203)になります。

Item
Example
{
  "transactionId": "bf7d0aa8-537c-4e4c-80a0-6b6451f59abb",
  "movementSlipNo": "78964456306232651242",
  "baseId": "2114dbec-a137-11e8-9a80-ec21e50b3736",
  "counterBaseId": "458435f8-2e5c-444b-b828-6f25f35f3a40",
  "targetPath": "/111/222/333/",
  "items": [
    {
      "trackingId": "000901000000000000040000-001",
      "uid": "000901000000000000040000",
      "autoIdType": "exampleType",
      "path": "/Ship001/Cont001/Pallet001/000901000000000000040000-001/",
      "itemCount": 1,
      "movedDateTime": "2019-06-26T04:37:20.399908Z",
      "individualRecognitionCode": "excampleCode",
      "largeClassAggregationKey": "exampleLargeKey",
      "middleClassAggregationKey": "exampleMiddleKey",
      "smallClassAggregationKey": "exampleSmallKey",
      "isInactivated": false,
      "autoInactive": {
        "isAutoInactivated": true,
        "targetParentPath": "/Ship001/Cont001/Pallet001/",
        "elapsedDays": 5
      }
    }
  ]
}

DeleteRequest: object

削除のリクエスト

transactionId: string (^[0-9A-Za-z\-]+$) (36 chars)

トランザクションID
クライアントからのリクエストを識別するためのID。
1リクエスト毎に一意となる値を設定してください。
※ 推奨値:UUID

movementSlipNo: string (^[0-9A-Za-z]+$) (20 chars)

移動伝票番号

targetPaths: string[] (1 to 600 chars)

削除対象の格納位置情報リスト
階層化した複数のItem.trackingIdを「/」で連結し、先頭および末尾に「/」を追加したものです。

string

削除対象の格納位置情報

Example
{
  "transactionId": "bf7d0aa8-537c-4e4c-80a0-6b6451f59abb",
  "movementSlipNo": "78964456306232651242",
  "targetPaths": [
    "/111/222/333/",
    "/444/555/666/"
  ]
}

Credentials: object

認証情報

accessKeyId: string

アクセスキーID

secretAccessKey: string

シークレットアクセスキー

sessionToken: string

トークン

expiration: string

有効期限

Example
{
  "accessKeyId": "M9DTMSG986WM59JPQ3CW",
  "secretAccessKey": "xtzwg/8m5G9yXb7jh9g2EF9/4t6izdBakbQJyD9x",
  "sessionToken": "abcd1234",
  "expiration": "2019-08-15T0412:42:13Z"
}

InactiveTrackingIdData: object

無効追跡IDリスト

urls: string[]

無効追跡IDリストダウンロード用のURLリスト
URLがない場合は、空のリストが返されます。

string

無効追跡IDリストダウンロード用のURL

cursor: string

差分データ抽出用のカーソル情報

hasNext: boolean

次データ有無

Example
{
  "urls": [
    "https://s3-ap-northeast-1.amazonaws.com/backet01/file01",
    "https://s3-ap-northeast-1.amazonaws.com/backet01/file02"
  ],
  "cursor": "ew0K4oCdcHJldmlvdXNQcm9jZXNzVHlwZeKAnToxMjM1NjcsDQoicmVxdWVzdERhdGV0aW1lIjoiMjAxOC0wNi0wNVQwNDo1MDo0MFoiLA0KInByZXZpb3VzSUQiOjEyMzQ1LA0KImxhc3RFdmFsdWF0ZWRLZXkiOnsia2V5IjoxMjM0NTZ9DQp9DQoNCiA=",
  "hasNext": false
}

InactiveTrackingIds: object

無効追跡IDリストの出力ファイルの情報

inactiveTrackingIds: InactiveTrackingId

無効追跡IDのリスト
データがない場合は、空のリストが返されます。

InactiveTrackingId

無効追跡IDの情報

Example
{
  "inactiveTrackingIds": [
    {
      "trackingId": "84FDDE3C-5EFA-474D-87AC-B77220683BD3",
      "inactivatedReasonCd": "1",
      "inactivatedUpdatedAt": "2018-09-25T12:30:00.423501Z"
    },
    {
      "trackingId": "6ECA5C72-A184-482A-A4AA-F7EDF9E58E98",
      "inactivatedReasonCd": "2",
      "inactivatedUpdatedAt": "2018-09-25T08:15:10.613456Z"
    }
  ]
}

InactiveTrackingId: object

無効追跡IDの情報

trackingId: string

追跡ID

inactivatedReasonCd: string

無効化理由コード

value description
1 クライアントの指定による無効化
2 UID重複による無効化
3 自動無効化経過日数(Item.autoInactive.elapsedDays)の経過による無効化
inactivatedUpdatedAt: string

自動無効化アイテム更新日時
ISO8601拡張形式(UTC)にマイクロ秒(6桁)を加えた形式です。
(YYYY-MM-DDThh:mm:ss.ffffffZ)

Example
{
  "trackingId": "84FDDE3C-5EFA-474D-87AC-B77220683BD3",
  "inactivatedReasonCd": "1",
  "inactivatedUpdatedAt": "2018-09-25T12:30:00.423501Z"
}

LatestMasterData: object

クライアントのシステムの最新マスタデータ

url: string

クライアントのシステムの最新マスタデータダウンロード用のURL
最新マスタデータがない場合は、NULLが返されます。

Example
{
  "url": "https://s3-ap-northeast-1.amazonaws.com/backet01/download/tenant01/master01/20191205095136_master01.csv"
}