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を設定してください。
リクエストとして定義されている項目が存在しない場合、エラー情報が返ります。


例外的なHTTPステータス

本サービスでは規定のHTTPステータス以外のレスポンスが返ることがあります。

403(Forbidden)

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

            {
              'message': 'Forbidden'
            }

500(Internal Server Error)

APIで問題が発生した場合、HTTP status codeは500(Internal Server Error)になります。
その場合後述するエラーレスポンスではなく、下記のようにmessageのみが返ります。

            {
              'message': 'Internal Server Error'
            }

これは本サービスの問題ではなく、クラウドプラットフォームの一時的な問題です。 少し時間をおいてからリトライしてください。複数回同じステータスになる場合はお問い合わせください。

504(Gateway Timeout)

APIがタイムアウトした場合、HTTP status codeは504(Gateway Timeout)になります。
その場合後述するエラーレスポンスではなく、下記のようにmessageのみが返ります。

            {
              'message': 'Endpoint request timed out'
            }

これは本サービスの問題ではなく、クラウドプラットフォームの一時的な問題です。 少し時間をおいてからリトライしてください。複数回同じステータスになる場合はお問い合わせください。


メンテナンスについて

本サービスがメンテナンス中の場合、すべての API リクエストで HTTP ステータス 503 が返ります。 一定時間経過後にリトライするようにしてください。

            {
              'title': 'ServiceUnavailable',
              'errorCode': '901',
              'detail': 'system maintenance.',
              'traceId': '',
              'invalidParams': []
            }

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

Overview(概要)

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

Shipping(出荷)

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

出荷情報個別登録

POST /shipping/item

出荷実績データを1件づつ登録します。
出荷実績データは、出荷先拠点で入荷実績データが上がるまでは登録可能です。
(移動伝票番号に紐付く入荷実績の有無でバリデーションを実施しています。)
※移動伝票番号と追跡IDの組み合わせで一意になるようにしてください。
 同じ組み合わせで登録しようとすると、後から登録しようとしたデータが登録されません。
 登録処理は非同期で実施するため、エラー通知はされないので注意してください。

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

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

出荷実績データを一括で登録します。
出荷実績データは、出荷先拠点で入荷実績データが上がるまでは登録可能です。
(移動伝票番号に紐付く入荷実績の有無でバリデーションを実施しています。)
※移動伝票番号と追跡IDの組み合わせで一意になるようにしてください。
 同じ組み合わせで登録しようとすると、後から登録しようとしたデータが登録されません。
 登録処理は非同期で実施するため、エラー通知はされないので注意してください。

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

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件づつ登録します。

※移動伝票番号と追跡IDの組み合わせで一意になるようにしてください。
 同じ組み合わせで登録しようとすると、後から登録しようとしたデータが登録されません。
 登録処理は非同期で実施するため、エラー通知はされないので注意してください。

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

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

入荷実績データを一括で登録します。
※移動伝票番号と追跡IDの組み合わせで一意になるようにしてください。
 同じ組み合わせで登録しようとすると、後から登録しようとしたデータが登録されません。
 登録処理は非同期で実施するため、エラー通知はされないので注意してください。

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

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リスト出力を提供します。

出荷実績データ出力

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を返却します。
パラメータ: lastDownloadDateTime 無しの場合は、初回のダウンロードとして最新マスタデータを返却します。

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

レスポンスの取得後、ダウンロード用の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: integer (int64)

アイテム数

movedDateTime: string

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

individualRecognitionCode: string

個品識別コード

largeClassAggregationKey: string

大分類 集計キー

middleClassAggregationKey: string

中分類 集計キー

smallClassAggregationKey: string

小分類 集計キー

detail: object
linkId: string (up to 36 chars)

外部システム連携ID

linkCode1: string (up to 36 chars)

外部システム連携コード1

linkCode2: string (up to 36 chars)

外部システム連携コード2

linkCode3: string (up to 36 chars)

外部システム連携コード3

category1: string (up to 36 chars)

分類1

category2: string (up to 36 chars)

分類2

category3: string (up to 36 chars)

分類3

category4: string (up to 36 chars)

分類4

category5: string (up to 36 chars)

分類5

attribute1: string (up to 36 chars)

アイテム属性1

attribute2: string (up to 36 chars)

アイテム属性2

attribute3: string (up to 36 chars)

アイテム属性3

attribute4: string (up to 36 chars)

アイテム属性4

attribute5: string (up to 36 chars)

アイテム属性5

attribute6: string (up to 36 chars)

アイテム属性6

attribute7: string (up to 36 chars)

アイテム属性7

attribute8: string (up to 36 chars)

アイテム属性8

attribute9: string (up to 36 chars)

アイテム属性9

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.
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: integer (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)

個品識別コード ※将来的に廃止される予定です。 detail プロパティを使用してください。

largeClassAggregationKey: string (up to 50 chars)

大分類 集計キー
未設定の場合は""(空文字)を設定してください。 ※将来的に廃止される予定です。 detail プロパティを使用してください。

middleClassAggregationKey: string (up to 50 chars)

中分類 集計キー
未設定の場合は""(空文字)を設定してください。 ※将来的に廃止される予定です。 detail プロパティを使用してください。

smallClassAggregationKey: string (up to 50 chars)

小分類 集計キー
未設定の場合は""(空文字)を設定してください。 ※将来的に廃止される予定です。 detail プロパティを使用してください。

isInactivated: boolean

無効化フラグ

autoInactive: object

自動無効化

isAutoInactivated: boolean

自動無効化対象フラグ

targetParentPath: string (1 to 600 chars)

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

elapsedDays: integer (int64)

自動無効化経過日数

detail: object

アイテム詳細

linkId: string (up to 36 chars)

外部システム連携ID

linkCode1: string (up to 36 chars)

外部システム連携コード1

linkCode2: string (up to 36 chars)

外部システム連携コード2

linkCode3: string (up to 36 chars)

外部システム連携コード3

category1: string (up to 36 chars)

分類1

category2: string (up to 36 chars)

分類2

category3: string (up to 36 chars)

分類3

category4: string (up to 36 chars)

分類4

category5: string (up to 36 chars)

分類5

attribute1: string (up to 36 chars)

アイテム属性1

attribute2: string (up to 36 chars)

アイテム属性2

attribute3: string (up to 36 chars)

アイテム属性3

attribute4: string (up to 36 chars)

アイテム属性4

attribute5: string (up to 36 chars)

アイテム属性5

attribute6: string (up to 36 chars)

アイテム属性6

attribute7: string (up to 36 chars)

アイテム属性7

attribute8: string (up to 36 chars)

アイテム属性8

attribute9: string (up to 36 chars)

アイテム属性9

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
      }
    }
  ]
}

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"
}