メインコンテンツへスキップ
このページはAIによって自動翻訳されています。不明点や相違がある場合は、英語版を正式版として参照してください。

概要

Webhookは、Return Helperシステムでイベントが発生した際に非同期通知を配信します — たとえば、ラベルが生成されたときや、配送が倉庫に到着したときなど。これらのPOSTリクエストを受信するために、サーバーはHTTPSエンドポイントを公開する必要があります。

Webhookエンドポイントの設定

エンドポイントの要件

セットアップリクエストを送信する前に、エンドポイントが以下の要件を満たしていることを確認してください:
  • 公開アクセス可能 — URLはインターネットから到達可能でなければなりません(VPN、localhost、または内部専用アドレスは不可)
  • HTTPS — エンドポイントは有効なTLS証明書を持つHTTPSで提供される必要があります
  • HTTP POST — エンドポイントはapplication/jsonボディを持つPOSTリクエストを受け入れる必要があります
  • HTTP 200を返す — サーバーはリクエストを受信した直後に200 OKステータスを返す必要があります;その他のステータスコードやタイムアウトは配信失敗として処理されます
  • 高速レスポンス — 必要に応じてイベントを非同期で処理します;配信タイムアウトを避けるため、レスポンス前に重い処理を行わないでください

エンドポイントの登録

Webhookエンドポイントを登録するには、Webhookセットアップリクエストフォームにご記入ください。フォームにはセットアップを迅速に完了するために必要なすべての情報が含まれており、エンドポイントを有効にする最も速い方法です。
上記のフォームを使用することをお勧めします。これにより、必要なすべての詳細が一度に取得されます。フォームを使用できない場合は、メールでリクエストを送信することもできます — 以下のテンプレートを参照してください。
メールで連絡する場合は、support@returnhelper.comに以下を送信し、paco@returnhelper.comtingfung@returnhelper.comroy@returnhelper.comにCCしてください:
Subject: Request webhook setup in Return Helper - <YOUR CLIENT CODE>

To: support@returnhelper.com
CC: paco@returnhelper.com, tingfung@returnhelper.com, roy@returnhelper.com

Dear Support Team,

We would like to request webhook setup in Return Helper. Please find the details below:

Email address: <YOUR EMAIL ADDRESS>
Client code:   <YOUR CLIENT CODE>
Endpoint:      https://your-server.example.com/webhook
Environment:   <Sandbox / Production / Both>
Comments:      <Any additional information, or leave blank>

イベント配信

タイミング — イベントはトリガーアクションの数秒後に届く場合があり、まれに数分後になることがあります。 重複イベント — エンドポイントが同じイベントを複数回受信する場合があります。冪等性(Idempotency)のある処理を実装してください(例:処理済みのeventTime + notificationIdの組み合わせを追跡する)。 イベントの順序 — 配信順序は保証されていません。任意の順序でイベントを処理できるようにハンドラーを設計してください。たとえば、inventoryCreatedwarehouseMarkShipmentArrivedV2より前に届く場合があります。順序外で受信したイベントで参照されているオブジェクトを取得するには、APIを使用してください。 各イベントにはISO 8601形式のeventTimeフィールドが含まれています。

通知ヘッダー

すべてのWebhookリクエストには以下のヘッダーが含まれています:
ヘッダータイプ説明
timestampstringISO 8601タイムスタンプ
returnhelper-signaturestring検証用HMAC-SHA256署名

署名の検証

ペイロードを処理する前に必ず署名を検証してください。生のリクエストボディを使用してください — フレームワークによるJSONの再シリアライズなどの変換は検証の失敗を引き起こします。
署名キーはReturn Helperから提供されます(Base64エンコードされています)。安全に保管し、公開しないでください。

詳細な例

以下の受信リクエストがあるとします: ヘッダー:
{
  "content-type": "application/json; charset=utf-8",
  "returnhelper-signature": "gXJRba6qE2rCQqJc8WEou2i8cCl0STp2AjH+y/R6ltw=",
  "timestamp": "2024-01-12T09:23:08.4863561Z"
}
ボディ(生のJSON、再シリアライズしてはいけません):
{"label":{"regions":{"RHCN":"https://label.returnhelperchina.com/label/202401/10595-S240112-0000001-pqk2pvydgxp.pdf"},"labelId":31033,"shipmentId":30385,"apiId":33,"refKey":"S240112-0000001","labelRequestStatusCode":"success","serviceType":"RETURN_ENDICIA_USPS_GROUND_ADVANTAGE_NJ","trackingNumber":"9434611899562082901137","labelUrl":"https://label-service-dev-files.returnshelper.com/label/202401/10595-S240112-0000001-pqk2pvydgxp.pdf","error":null,"qrcodeUrl":null,"qrcodeError":null,"correlationId":null,"cancelCutoffTime":"2024-02-11T09:21:24.0795","meta":null},"category":"labelGenerated","action":"labelGenerated","eventTime":"2024-01-12T09:23:08.4862743Z"}

ステップバイステップの検証

ステップ1 — ヘッダーから署名を抽出する(最後の比較用):
gXJRba6qE2rCQqJc8WEou2i8cCl0STp2AjH+y/R6ltw=
ステップ2 — ヘッダーからタイムスタンプを抽出する
2024-01-12T09:23:08.4863561Z
ステップ3 — string_to_signを構築する 以下の4つの値を順番に連結します(区切り文字なし):
  1. HTTPメソッド:POST
  2. 通知エンドポイントURL:https://s2024-01-12.free.beeceptor.com
  3. ステップ2のタイムスタンプ
  4. 生のJSONボディ
結果として連結された文字列:
POSThttps://s2024-01-12.free.beeceptor.com2024-01-12T09:23:08.4863561Z{"label":{"regions":...},...}
次に、連結された文字列全体をBase64エンコードします。結果がstring_to_signです:
UE9TVGh0dHBzOi8vczIwMjQtMDEtMTIuZnJlZS5iZWVjZXB0b3IuY29tMjAyNC0wMS0xMlQwOToyMzowOC40ODYzNTYxWnvigJxsYWJlbOKAnTp74oCccmVnaW9uc+KAnTp74oCcUkhDTuKAnTrigJxodHRwczovL2xhYmVsLnJldHVybmhlbHBlcmNoaW5hLmNvbS9sYWJlbC8yMDI0MDEvMTA1OTUtUzI0MDExMi0wMDAwMDAxLXBxazJwdnlkZ3hwLnBkZuKAnX0s4oCcbGFiZWxJZOKAnTozMTAzMyzigJxzaGlwbWVudElk4oCdOjMwMzg1LOKAnGFwaUlk4oCdOjMzLOKAnHJlZktleeKAnTrigJxTMjQwMTEyLTAwMDAwMDHigJ0s4oCcbGFiZWxSZXF1ZXN0SWTigJ06MTA1OTUs4oCcbGFiZWxSZXF1ZXN0U3RhdHVzQ29kZeKAnTrigJxzdWNjZXNz4oCdLOKAnHNlcnZpY2VUeXBl4oCdOuKAnFJFVFVSTl9FTkRJQ0lBX1VTUFNfR1JPVU5EX0FEVkFOVEFHRV9OSuKAnSzigJx0cmFja2luZ051bWJlcuKAnTrigJw5NDM0NjExODk5NTYyMDgyOTAxMTM3IizigJxsYWJlbFVybOKAnTrigJxodHRwczovL2xhYmVsLXNlcnZpY2UtZGV2LWZpbGVzLnJldHVybnNoZWxwZXIuY29tL2xhYmVsLzIwMjQwMS8xMDU5NS1TMjQwMTEyLTAwMDAwMDEtcHFrMnB2eWRneHAucGRm4oCdLOKAnGVycm9y4oCdOm51bGws4oCccXJjb2RlVXJs4oCdOm51bGws4oCccXJjb2RlRXJyb3LigJ06bnVsbCzigJxjb3JyZWxhdGlvbklk4oCdOm51bGws4oCcY2FuY2VsQ3V0b2ZmVGltZeKAnTrigJwyMDI0LTAyLTExVDA5OjIxOjI0LjA3OTUiLOKAnG1ldGHigJ06bnVsbH0s4oCcY2F0ZWdvcnnigJ064oCcbGFiZWxHZW5lcmF0ZWTigJ0s4oCcYWN0aW9u4oCdOuKAnGxhYmVsR2VuZXJhdGVk4oCdLOKAnGV2ZW50VGltZeKAnTrigJwyMDI0LTAxLTEyVDA5OjIzOjA4LjQ4NjI3NDNa4oCdfQ==
ステップ4 — HMAC-SHA256署名を計算する サンプルの署名キーを使用します(実際のキーは異なります):
PEnA0mzKb7fUlGfMgCGhXPjPmPGvW70UU8bkNKdG78WDrQRwzFa572e2JsFIE1e4PLaP9h/ZEvERSR0FBDYNlQ==
操作:
  1. string_to_sign(ステップ3)をBase64からバイト配列にデコードする
  2. 署名キーをBase64からバイト配列にデコードする
  3. 署名キーバイトを使用してstring_to_signバイトに対してHMAC-SHA256を計算する → 署名バイト配列
  4. 署名バイト配列をBase64エンコードする
期待される結果:
gXJRba6qE2rCQqJc8WEou2i8cCl0STp2AjH+y/R6ltw=
ステップ5 — 署名の比較 ステップ4で計算した署名とステップ1で抽出した署名を比較します。タイミング攻撃を防ぐため、定数時間文字列比較を使用してください。 追加のセキュリティ: eventTimeがシステムクロックと15分以上異なるイベントを拒否してください(リプレイ攻撃保護)。

サンプルコード

// Required imports (add at the top of your file):
//   import java.security.InvalidKeyException;
//   import java.security.NoSuchAlgorithmException;
//   import javax.crypto.Mac;
//   import javax.crypto.spec.SecretKeySpec;
//   import org.apache.commons.codec.binary.Base64;

class Main {
  private static final String CHARACTER_ENCODING = "UTF-8";
  final static String ALGORITHM = "HmacSHA256";

  public static void main(String[] args) throws Exception {
    String payload   = "<body JSON string>";
    String action    = "<action>";           // always "POST"
    String url       = "<url>";              // your notification endpoint
    String timestamp = "<timestamp>";        // from header

    String data = new String(
      Base64.encodeBase64((action + url + timestamp + payload).getBytes(CHARACTER_ENCODING))
    );

    String base64Key  = "<signing key>";
    String signature  = sign(data, base64Key);
    System.out.println(signature);
  }

  private static String sign(String data, String secretKey)
      throws NoSuchAlgorithmException, InvalidKeyException {
    Mac mac = Mac.getInstance(ALGORITHM);
    mac.init(new SecretKeySpec(Base64.decodeBase64(secretKey), ALGORITHM));
    byte[] signature = mac.doFinal(Base64.decodeBase64(data));
    return new String(Base64.encodeBase64(signature), CHARACTER_ENCODING);
  }
}

再試行メカニズム

受信を確認するために2xx HTTPステータスコードで応答してください。2xx以外のレスポンスは再試行をトリガーします。10回連続して失敗した後、エンドポイントへの通知配信は24時間停止されます。

共通ボディフィールド

すべての通知ボディはこれらのトップレベルフィールドを共有しています:
フィールドタイプ説明
categorystring通知カテゴリ(以下の表を参照)
actionstring特定のイベントアクション
eventTimestringイベントのISO 8601タイムスタンプ
versionstring通知スキーマバージョン
notificationIdstring一意の通知ID(新しい通知に存在)

通知イベントリファレンス

通知categoryaction説明
ラベル結果labelGeneratedlabelGeneratedラベル生成結果(成功または失敗)
倉庫配送到着(v2)rslmarkShipmentArrive倉庫での配送受領(現在のバージョン)
在庫作成済みnewInventoryCreatednewInventoryCreated新しい返品在庫(Return Inventory)が作成された
画像更新済みrrlichangeLineItemImageラインアイテム画像が追加、変更、または削除された
不明な配送が割り当てられたrslassignUnknown不明な配送が販売者に割り当てられた
リコールステータス更新recallrecallUpdateStatusリコール追跡または集荷ステータスが変更された
再送ステータス更新resendupdateResendStatus再送追跡またはステータスが変更された
VAS更新rrlivvasUpdated付加価値サービス(VAS)が完了または更新された
在庫処理完了rinvcompleteInventoryHandling処理指示が完了した
在庫再校正済みcompleteRecalibratecompleteRecalibrate倉庫が在庫の寸法/重量を更新した
在庫メタデータ更新済みupdateReturnInventoryMetaupdateReturnInventoryMeta倉庫またはユーザーがメタデータを追加/更新した
RMA更新済みnotifyUserRmaSwappednotifyUserRmaSwapped倉庫がRMAの割り当てを修正した
SKU更新済みuserUpdateReturnInventorySkuuserUpdateReturnInventorySku販売者が在庫のSKUを更新した
ラインアイテム分割lineItemVasReturnInventoryLineItemsplitLineItemVASが荷物を複数の在庫に分割した
倉庫備考更新済みwarehouseUpdateWarehouseRemarkswarehouseUpdateWarehouseRemarks倉庫が返品リクエストの備考を更新した
購入者返品ラベル生成済みbuyerReturnRrLabelbuyerReturnLabelGeneratedブランド返品ポータルのラベルが購入者向けに生成された
Shopify購入者返品作成済みshopifyBuyerCreateReturnshopifyBuyerCreateReturn購入者がShopify連携を通じて返品を作成した
統合配送コスト更新済みconsolidateShippingOrderShippingFeeUpdatedconsolidateShippingOrderShippingFeeUpdated統合配送注文のコストが更新された
統合配送すべて梱包済みconsolidateShippingOrderInventoryAllPackedconsolidateShippingOrderInventoryAllPacked統合注文のすべての在庫が梱包された
統合配送発送済みconsolidateShippingShipmentSentconsolidateShippingShipmentSent統合配送がキャリアに発送された
統合配送AWB更新済みconsolidateShippingShipmentShippedconsolidateShippingShipmentShipped統合配送のAWBが更新された
統合注文完了consolidateShippingOrderCompletedconsolidateShippingOrderCompleted統合注文のすべての配送が発送された
統合注文キャンセルconsolidateShippingOrderCancelledconsolidateShippingOrderCancelled統合注文が倉庫によって強制キャンセルされた

通知ペイロード

ラベル結果

返品ラベルリクエストが完了したとき(成功または失敗)に送信されます。
ラベルをシステム内の配送にマッチさせるには必ずshipmentIdを使用してください — labelIdを使用しないでください。まれにキャリアの障害により、同じshipmentIdに対して新しいラベル(新しいlabelId)が発行されることがあります。
category: labelGenerated / action: labelGenerated labelの主要フィールド:
フィールド説明
labelIdラベル識別子(マッチングには使用しない — 上記の警告を参照)
shipmentId配送識別子(マッチングにこれを使用する)
apiId販売者API ID
refKey配送参照キー
labelRequestStatusCode"success"または"fail"
serviceType使用されたキャリアサービスタイプ
trackingNumberキャリア追跡番号(成功時)
labelUrlラベルPDFのダウンロードURL(成功時)
errorエラーメッセージ(失敗時)
qrcodeUrlQRコードURL(該当する場合)
qrcodeErrorQRコードエラー(該当する場合)
shipmentInstruction配送指示
correlationIdリクエストトレース用の相関ID
cancelCutoffTimeこのラベルをキャンセルする期限
meta追加のメタデータ
regions地域コードから地域ラベルURLへのマップ
成功例:
{
  "label": {
    "labelId": 11345,
    "shipmentId": 10825,
    "apiId": 21,
    "refKey": "S210904-0000202",
    "labelRequestStatusCode": "success",
    "serviceType": "usps",
    "trackingNumber": "9201994884299101443342",
    "labelUrl": "https://example.com/label.pdf",
    "qrcodeUrl": "https://example.com/qrcode.png",
    "qrcodeError": null,
    "error": null,
    "correlationId": null,
    "meta": null
  },
  "category": "labelGenerated",
  "action": "labelGenerated",
  "eventTime": "2021-09-04T17:03:15.8888073Z"
}
失敗例:
{
  "label": {
    "labelId": 11352,
    "shipmentId": 10833,
    "apiId": 21,
    "refKey": "S210906-0000085",
    "labelRequestStatusCode": "fail",
    "serviceType": "ap",
    "trackingNumber": null,
    "labelUrl": null,
    "error": "Your combination of suburb, state & postcode doesn't match.",
    "qrcodeUrl": null,
    "qrcodeError": null
  },
  "category": "labelGenerated",
  "action": "labelGenerated",
  "eventTime": "2021-09-06T08:16:33.4674332Z"
}

倉庫配送到着(v2)

倉庫が配送を受領済みとしてマークしたときに送信されます。常に1つ以上の在庫作成済みイベントが続きます。 category: rsl / action: markShipmentArrive / version: 202407 shipmentの主要フィールド:
フィールド説明
shipmentId一意の配送識別子
returnRequestIdリンクされた返品リクエスト
trackingNumberキャリア追跡番号
sellerReferenceNumberあなたの参照番号
serviceType使用された配送サービス
customFieldMap元の配送からのカスタムフィールド
shipToWarehouseId受領倉庫
receiveDateISO 8601受領タイムスタンプ
{
  "shipment": {
    "shipmentId": "35732",
    "sellerReferenceNumber": "R240725-0000003",
    "returnRequestId": "66848",
    "trackingNumber": "TRACK123456",
    "referenceNumber": "R240725-0000003",
    "serviceType": "fedex",
    "customFieldMap": {
      "customerId": "buyer123"
    },
    "shipToWarehouseId": 2,
    "receiveDate": "2024-07-25T08:53:05.7827073Z"
  },
  "category": "rsl",
  "action": "markShipmentArrive",
  "eventTime": "2024-07-29T05:48:21.381658Z",
  "version": "202407"
}

在庫作成済み

配送が受領された後(またはVAS分割が発生した後)、新しい返品在庫(Return Inventory)レコードが作成されたことを通知するために送信されます。在庫アイテムごとに1つのイベントが送信されます — 同じラベルの下で複数の荷物が受領された場合、1つの配送で複数のイベントが生成される場合があります。 category: newInventoryCreated / action: newInventoryCreated returnInventoryの主要フィールド:
フィールド説明
returnInventoryId一意の在庫識別子 — 処理の割り当てにこれを使用する
warehouseId在庫が保管されている倉庫
rma倉庫が割り当てたRMA値
handlingCode現在の処理指示
handlingStatusCode現在の処理ステータス
imageList受領時にキャプチャされた画像
returnInventoryMetaList追加のメタデータ(例:配送からのカスタムフィールド)
{
  "returnInventory": {
    "returnInventoryId": "19973",
    "warehouseId": 2,
    "apiId": 21,
    "description": "Item description",
    "quantity": 1,
    "dimension1": 20,
    "dimension2": 20,
    "dimension3": 22,
    "dimensionUom": "cm",
    "weight": 300,
    "weightUom": "g",
    "valueCurrencyCode": "usd",
    "value": 10,
    "handlingCode": "tbc",
    "handlingStatusCode": "pending",
    "completeOn": null,
    "warehouseRemarks": null,
    "handlingUpdatedOn": "2024-07-15T03:29:53.889398",
    "sku": null,
    "rma": "USE-2-240715-D00003-30",
    "modifyOn": "2024-07-15T03:29:53.903982",
    "createOn": "2024-07-15T03:29:53.88968",
    "imageList": [
      {
        "imageUrl": "https://example.com/image1.jpg",
        "imageKey": "images/returns/202407/image1.jpg"
      }
    ],
    "returnInventoryMetaList": [
      {
        "metaType": "shipmentCustomField",
        "metaMap": {
          "customerId": "buyer123"
        }
      }
    ]
  },
  "shipment": {
    "shipmentId": "9999",
    "returnRequestId": "1234",
    "trackingNumber": "TRACK123456",
    "referenceNumber": "",
    "serviceType": "fedex",
    "customFieldMap": {},
    "shipToWarehouseId": 2,
    "receiveDate": "2024-07-15T03:29:00.000000"
  },
  "category": "newInventoryCreated",
  "action": "newInventoryCreated",
  "eventTime": "2024-07-15T03:30:05.1984163Z",
  "version": "202207"
}

画像更新済み

返品在庫(Return Inventory)ラインアイテムの画像が追加、変更、または削除されたときに送信されます。 category: rrli / action: changeLineItemImage トップレベルのペイロードフィールド:
フィールドタイプ説明
imageUrlList文字列の配列このラインアイテムの現在の画像URL
returnRequestLineItemobject影響を受けたラインアイテム(以下を参照)
returnRequestLineItemの主要フィールド:
フィールド説明
returnRequestLineItemIdラインアイテム識別子
apiId販売者API ID
returnRequestIdリンクされた返品リクエストID
sellerReferenceNumber販売者の参照番号
descriptionアイテムの説明
quantityアイテム数量
weight / weightUom重量と単位
valueCurrencyCode / value価値と通貨
handlingCode処理指示
isDeletedラインアイテムが削除されているかどうか
rmaRMA値
isFraudulent不正フラグ
fraudReasonCode不正理由コード(フラグが立っている場合)
customFieldMapカスタムフィールド
{
  "imageUrlList": [
    "https://example.com/return-image-1.png"
  ],
  "returnRequestLineItem": {
    "returnRequestLineItemId": 10759,
    "apiId": 21,
    "returnRequestId": 9237,
    "returnRequestLineItemNumber": "RL210706-0000020",
    "sellerReferenceNumber": "RL210706-0000020",
    "description": "Item description",
    "quantity": 1,
    "weight": 100.0,
    "weightUom": "g",
    "valueCurrencyCode": "usd",
    "value": 463.0,
    "handlingCode": 0,
    "isDeleted": false
  },
  "category": "rrli",
  "action": "changeLineItemImage",
  "eventTime": "2021-07-06T13:02:24.5575164Z"
}

不明な配送が割り当てられた

返品リクエストのない配送が識別され、販売者に割り当てられたときに送信されます。 category: rsl / action: assignUnknown / version: 202407 returnInventoryの主要フィールド:
フィールド説明
returnInventoryId一意の在庫識別子
warehouseId在庫が保管されている倉庫
apiId販売者API ID
descriptionアイテムの説明
quantityアイテム数量
dimension1 / dimension2 / dimension3測定された寸法
dimensionUom寸法の単位
weight測定された重量
weightUom重量の単位
valueCurrencyCode価値の通貨コード
value申告価値
handlingCode現在の処理指示
handlingStatusCode現在の処理ステータス
completeOn処理完了タイムスタンプ
warehouseRemarks倉庫の備考
handlingUpdatedOn最終処理更新タイムスタンプ
sku販売者が割り当てたSKU
rma倉庫が割り当てたRMA
modifyOn / createOn監査タイムスタンプ
imageList受領時にキャプチャされた画像
unknownShipmentの主要フィールド:
フィールド説明
unknownShipmentId一意の不明配送識別子
unknownShipmentNumber不明配送参照番号
description説明
unknownShipmentStatusCode現在のステータス
unknownShipmentCountryCode国コード
warehouseId受領倉庫
unknownShipmentServiceType配送サービスタイプ
trackingNumberキャリア追跡番号
totalWeight / totalWeightUom合計重量と単位
dimension1 / dimension2 / dimension3測定された寸法
dimensionUom寸法の単位
totalValue / totalValueCurrency申告価値と通貨
modifyOn最終変更タイムスタンプ

リコールステータス更新

リコール追跡番号が更新されるか、集荷ステータスが変更されたときに送信されます。 category: recall / action: recallUpdateStatus recallUpdateTypeStatusの値:
リコール在庫ステータス説明
updateTrackingNumberin-transit追跡番号が割り当てられた
readyToPickUpready-to-pick-upアイテムの集荷準備が完了
pickupBySelfpicked-up顧客が自分で集荷した
pickupByCourierpicked-upローカルクーリエが集荷した
pickupByOtherspicked-up別の当事者が集荷した
{
  "recall": {
    "apiId": 103,
    "recallId": 938,
    "recallNumber": "RCL240423-0000001",
    "recallStatusCode": "in-progress",
    "warehouseRemarks": null,
    "recallInventoryList": [
      {
        "recallInventoryId": 1145,
        "returnInventoryId": 18600,
        "recallInventoryStatusCode": "in-transit",
        "pickUpCode": "pending",
        "trackingNumber": "AWB-TRACKING-NUMBER",
        "listName": null,
        "weight": null,
        "amount": null,
        "pickUpOn": null,
        "courierTrackingNumber": null,
        "remarks": null,
        "recallServiceType": "dhl",
        "rma": "USE-1005-240523-D00001-25"
      }
    ]
  },
  "recallUpdateTypeStatus": "updateTrackingNumber",
  "category": "recall",
  "action": "recallUpdateStatus",
  "eventTime": "2024-04-23T07:50:49.2479819Z"
}

再送ステータス更新

再送追跡番号が更新されるか、再送が完了または失敗したときに送信されます。 category: resend / action: updateResendStatus トップレベルのペイロードフィールド:
フィールドタイプ説明
resendobject再送注文の詳細(以下を参照)
trackingNumberstring追跡番号(利用可能な場合)
failureReasonstring失敗理由(再送が失敗した場合)
resendの主要フィールド:
フィールド説明
resendId一意の再送注文識別子
apiId販売者API ID
resendNumber再送注文番号
resendStatusCode現在のステータス:1 — 保留中、2 — 処理中、3 — 完了、4 — 失敗
description注文の説明
remarks販売者の備考
warehouseRemarks倉庫の備考
resend.resendStatusCodeを確認してください:
  • 3 — 完了(trackingNumberを確認)
  • 4 — 失敗(failureReasonを確認)

VAS更新

付加価値サービス(VAS)が完了したときに送信されます。 category: rrliv / action: vasUpdated updateVasListの各アイテム:
フィールド説明
returnRequestLineItemVasIdVASレコード識別子
vasResultVAS結果の説明
weight / weightUomVAS後の重量と単位
dimension1 / dimension2 / dimension3VAS後の寸法
dimensionUom寸法の単位
vasStatusCodeVASステータスコード
imageUrlListVAS結果の画像
{
  "updateVasList": [
    {
      "returnRequestLineItemVasId": 1468,
      "vasResult": "VAS result details",
      "weight": 500.0,
      "weightUom": "g",
      "dimension1": 10.0,
      "dimension2": 20.0,
      "dimension3": 30.0,
      "dimensionUom": "cm",
      "vasStatusCode": 1,
      "imageUrlList": null
    }
  ],
  "category": "rrliv",
  "action": "vasUpdated",
  "eventTime": "2021-07-06T12:15:55.9038524Z"
}

在庫処理完了

処理指示(廃棄、再送、リコールなど)が倉庫によって完了されたときに送信されます。 category: rinv / action: completeInventoryHandling returnInventoryの主要フィールド:
フィールド説明
returnInventoryId一意の在庫識別子
warehouseId在庫が保管されている倉庫
returnRequestLineItemIdリンクされたラインアイテムID
apiId販売者API ID
returnRequestIdリンクされた返品リクエストID
sellerReferenceNumber販売者の参照番号
descriptionアイテムの説明
quantityアイテム数量
dimension1 / dimension2 / dimension3測定された寸法
dimensionUom寸法の単位
weight測定された重量
weightUom重量の単位
valueCurrencyCode価値の通貨コード
value申告価値
handlingCode処理指示(以下の表を参照)
handlingStatusCode処理ステータス(以下の表を参照)
completeBy処理を完了したユーザー
completeOn完了タイムスタンプ
warehouseRemarks倉庫の備考
handlingUpdatedOn最終処理更新タイムスタンプ
stopAgingOnエージング停止タイムスタンプ
sku販売者が割り当てたSKU
rma倉庫が割り当てたRMA
returnInventoryMetaList追加のメタデータリスト
handlingCodeの値:
IDコード説明
0tbc確認待ち
1rtnリコール
2dis廃棄
3rsd再送
4ohd保留
5othその他
handlingStatusCodeの値:
IDコード説明
0pending保留中
1inProgress処理中
2completed完了

在庫再校正済み

倉庫が返品在庫(Return Inventory)の測定された寸法または重量を更新したときに送信されます。 category: completeRecalibrate / action: completeRecalibrate recalibrateSupplementの主要フィールド:
フィールド説明
warehouseId再校正を実施した倉庫
returnInventoryId影響を受けた在庫ID
returnRequestLineItemIdリンクされたラインアイテムID
rmaRMA値
dimension1 / dimension2 / dimension3更新された寸法
weight更新された重量
recalibratedOn再校正タイムスタンプ
returnInventoryMetaList更新されたメタデータリスト(各エントリにはmetaTypemetaMapがある)
{
  "recalibrateSupplement": {
    "warehouseId": 8,
    "returnInventoryId": 18191,
    "returnRequestLineItemId": 38320,
    "rma": "USE-1005-240523-D00001-25",
    "dimension1": 20.0,
    "dimension2": 20.0,
    "dimension3": 20.0,
    "weight": 310.0,
    "recalibratedOn": "2024-04-04T00:42:11.1325135Z"
  },
  "category": "completeRecalibrate",
  "action": "completeRecalibrate",
  "eventTime": "2024-04-04T00:54:29.4337417Z"
}

在庫メタデータ更新済み

倉庫またはユーザーが返品在庫(Return Inventory)にメタデータを追加または更新したときに送信されます。 category: updateReturnInventoryMeta / action: updateReturnInventoryMeta ペイロードには、更新されたreturnInventoryMetaListを含む、在庫作成済みと同じ構造のreturnInventoryが含まれています。 metaTypeの値:
  • usr — ユーザーが提供したメタ
  • whs — 倉庫が提供したメタ

RMA更新済み

倉庫が誤ったRMAの割り当てを修正したときに送信されます。 category: notifyUserRmaSwapped / action: notifyUserRmaSwapped payloadの主要フィールド:
フィールド説明
userApiId販売者API ID
clientCodeクライアントコード
returnInventoryId影響を受けた在庫ID
oldRma以前のRMA値
newRma新しい修正されたRMA値
{
  "payload": {
    "userApiId": 21,
    "clientCode": "RH21",
    "returnInventoryId": "19029",
    "oldRma": "USE-2-240517-D00026-56",
    "newRma": "USE-2-240520-D00001-35"
  },
  "category": "notifyUserRmaSwapped",
  "action": "notifyUserRmaSwapped",
  "eventTime": "2024-05-23T06:26:43.4416977Z"
}

SKU更新済み

販売者が返品在庫(Return Inventory)のSKUを更新したときに送信されます。 category: userUpdateReturnInventorySku / action: userUpdateReturnInventorySku ペイロードにはreturnRequestreturnInventoryが含まれています。 returnRequestの主要フィールド:
フィールド説明
returnRequestId一意の返品リクエスト識別子
apiId販売者API ID
sellerReferenceNumber販売者の参照番号
returnStatusCode返品リクエストステータス
returnTitle返品タイトル
totalValue / totalValueCurrency合計申告価値と通貨
remarks備考
rmaRMA値
isArchivedリクエストがアーカイブされているかどうか
returnRequestSourceType返品リクエストのソースタイプ
returnInventoryオブジェクトは、更新されたskuフィールドを含む、在庫処理完了と同じ構造に従います。

ラインアイテム分割

VAS操作が荷物を複数の在庫に分割したときに送信されます。各結果の荷物の新しいラインアイテムと在庫レコードが含まれています。 category: lineItemVasReturnInventoryLineItem / action: splitLineItem トップレベルのペイロードフィールド:
フィールドタイプ説明
returnRequestIdintegerリンクされた返品リクエストID
returnRequestLineItemIdlong元のラインアイテムID
returnRequestLineItemVasIdlong分割をトリガーしたVASレコードID
vasStatusCodestringVASステータスコード
splitLineItemAndReturnInventoryListarray結果として分割されたアイテムのリスト(以下を参照)
splitLineItemAndReturnInventoryListの各アイテムには以下が含まれます:
フィールドタイプ説明
returnRequestLineItemobject新しいラインアイテムレコード(returnRequestLineItemIdsellerReferenceNumberdescriptionquantityweightweightUomvalueCurrencyCodevaluehandlingCodermacustomFieldMapを含む)
returnInventoryobject新しい在庫レコード(在庫処理完了と同じ構造)
returnRequestLineItemSupplementobject新しいラインアイテムの寸法と重量を含む補足

倉庫備考更新済み

倉庫が返品リクエストの備考を更新したときに送信されます。 category: warehouseUpdateWarehouseRemarks / action: warehouseUpdateWarehouseRemarks ペイロードには3つのオブジェクトが含まれています:
  • returnRequest — 返品リクエスト(SKU更新済み → returnRequestと同じ構造)
  • shipment — 完全な住所詳細、寸法、重量、コスト、customFieldMapを含む配送レコード
  • returnInventory — 影響を受けた在庫(在庫処理完了と同じ構造)、更新されたwarehouseRemarksフィールドを含む

購入者返品ラベル生成済み

購入者がブランド返品ポータルで返品を作成し、ラベルが生成されたときに送信されます。
Return Helperのブランド返品サービスに連携している顧客にのみ適用されます。
category: buyerReturnRrLabel / action: buyerReturnLabelGenerated buyerReturn.labelRequestStatusCode"success"または"fail"を確認してください。 buyerReturnの主要フィールド:
フィールド説明
buyerReturnId一意の購入者返品識別子
apiId販売者API ID
sellerReferenceNumber販売者の参照番号
returnRequestIdリンクされた返品リクエストID(作成された場合)
shipmentIdリンクされた配送ID(作成された場合)
returnRequestNumber返品リクエスト番号
shipmentNumber配送番号
totalValue / totalValueCurrency申告価値と通貨
remarks備考
labelIdラベルID
labelRequestStatusCode"success"または"fail"
trackingNumber追跡番号(成功時)
labelFilelabelUrllabelKeyを持つオブジェクト
shipmentInstruction配送指示
errorエラーメッセージ(失敗時)
warehouseId目的地の倉庫
shipmentServiceType配送サービスタイプ
shipmentCountryCode配送国
shipmentName / shipmentPhone / shipmentEmail連絡先詳細
shipmentStreet1 / shipmentStreet2 / shipmentStreet3住所行
shipmentCity / shipmentState / shipmentPostalCode住所詳細
costCurrencyCode / cost配送コスト
sellerCostCurrencyCode / sellerCost販売者コスト
buyerCostCurrencyCode / buyerCost購入者コスト
boxTypeボックスタイプ
weight / weightUom重量と単位
dimension1 / dimension2 / dimension3 / dimensionUom荷物の寸法
customFieldMapカスタムフィールド
buyerReturnLineItemListラインアイテムのリスト(以下を参照)
buyerReturnLineItemListの各アイテム:
フィールド説明
buyerReturnLineItemIdラインアイテムID
sellerReferenceNumber販売者の参照
descriptionアイテムの説明
quantity数量
weight / weightUom重量と単位
value / valueCurrencyCode価値と通貨
returnReasonCode / returnReason購入者が選択した返品理由
customFieldMapカスタムフィールド

Shopify購入者返品作成済み

購入者がShopify連携を通じて返品リクエストを作成したときに送信されます。 category: shopifyBuyerCreateReturn / action: shopifyBuyerCreateReturn shopifyReturnの主要フィールド:
フィールド説明
shopifyReturnId一意のShopify返品識別子
apiId販売者API ID
referenceNumber参照番号
returnRequestIdリンクされた返品リクエストID(作成された場合)
shipmentIdリンクされた配送ID(作成された場合)
returnRequestNumber / shipmentNumber返品と配送の番号
totalValue / totalValueCurrency申告価値と通貨
remarks備考
labelRequestStatusCodeラベルステータス:"success"または"fail"
trackingNumber追跡番号(成功時)
labelUrlラベルURL(成功時)
errorエラーメッセージ(失敗時)
warehouseId目的地の倉庫
shipmentServiceType / shipmentCountryCode配送サービスと国
shipmentName / shipmentPhone / shipmentEmail連絡先詳細
shipmentStreet1 / shipmentStreet2 / shipmentStreet3住所行
shipmentCity / shipmentState / shipmentPostalCode住所詳細
costCurrencyCode / cost配送コスト
boxTypeボックスタイプ
weight / weightUom重量と単位
dimension1 / dimension2 / dimension3 / dimensionUom荷物の寸法
shopifyShopIdShopifyショップ識別子
shopifyOrderId / shopifyOrderNumber / shopifyOrderNameShopify注文詳細
shopifyReturnStatusCodeShopify返品ステータス
requestParty返品を開始した当事者
customFieldMapカスタムフィールド
shopifyReturnLineItemListの各アイテム:
フィールド説明
shopifyReturnLineItemIdラインアイテムID
sellerReferenceNumber販売者の参照
descriptionアイテムの説明
quantity数量
sku商品SKU
weight / weightUom重量と単位
value / valueCurrencyCode価値と通貨
returnReasonCode / returnReason購入者が選択した返品理由
shopifyProductIdShopify商品ID
buyerNotes購入者のメモ
customFieldMapカスタムフィールド

統合配送コスト更新済み

統合配送注文の配送コストが更新されたときに送信されます。 category: consolidateShippingOrderShippingFeeUpdated / action: consolidateShippingOrderShippingFeeUpdated orderの主要フィールド:
フィールド説明
consolidateShippingOrderId注文識別子
consolidateShippingOrderNumber注文番号
consolidateShippingOrderStatus現在のステータス
outboundWarehouseId出荷倉庫
shippingMethod配送方法
shippingFee / currencyCode更新された配送料と通貨
shipToContactName / shipToPhone / shipToEmail配送先連絡先
shipToCompanyName配送先会社名
shipToStreet1 / shipToStreet2 / shipToStreet3配送先住所行
shipToCity / shipToState / shipToPostalCode / shipToCountry配送先住所
deliveryInstructions配送指示

統合配送すべて梱包済み

倉庫が統合注文のすべての在庫をボックスに梱包したときに送信されます。 category: consolidateShippingOrderInventoryAllPacked / action: consolidateShippingOrderInventoryAllPacked orderの主要フィールド:
フィールド説明
consolidateShippingOrderId注文識別子
consolidateShippingOrderNumber注文番号
consolidateShippingOrderStatus現在のステータス
outboundWarehouseId出荷倉庫
shippingFee / currencyCode配送料と通貨
shippingMethod配送方法
customFieldMapカスタムフィールド
deliveryInstructions配送指示
shipmentList配送のリスト(以下を参照)
shipmentListの各アイテム:
フィールド説明
consolidateShippingShipmentId配送識別子
consolidateShippingShipmentNumber配送番号
consolidateShippingShipmentStatus配送ステータス
awb航空貨物運送状番号
serviceProviderキャリアサービスプロバイダー
shipDate配送日
boxListこの配送のボックスリスト
boxListの各アイテム:
フィールド説明
consolidateShippingShipmentBoxIdボックス識別子
boxNumberボックス番号
consolidateShippingShipmentBoxStatusボックスステータス
consolidateShippingInventoryListこのボックスの在庫
consolidateShippingInventoryListの各アイテム:
フィールド説明
consolidateShippingInventoryId在庫識別子
returnInventoryIdリンクされた返品在庫(Return Inventory)ID
rmaRMA値
consolidateShippingInventoryStatus在庫ステータス

統合配送発送済み

倉庫が統合配送をキャリアに発送したときに送信されます。 category: consolidateShippingShipmentSent / action: consolidateShippingShipmentSent shipmentの主要フィールド:
フィールド説明
consolidateShippingShipmentId配送識別子
consolidateShippingShipmentNumber配送番号
consolidateShippingShipmentStatus現在のステータス
awb航空貨物運送状番号
serviceProviderキャリアサービスプロバイダー
shipDate配送日
boxListボックスリスト(すべて梱包済み → boxListと同じ構造)
consolidateShippingOrderId親注文識別子
consolidateShippingOrderNumber親注文番号
consolidateShippingOrderStatus親注文ステータス
outboundWarehouseId出荷倉庫
customFieldMapカスタムフィールド

統合配送AWB更新済み

統合配送の航空貨物運送状番号が更新されたときに送信されます。 category: consolidateShippingShipmentShipped / action: consolidateShippingShipmentShipped shipmentオブジェクトは、更新されたawbフィールドを含む、統合配送発送済みと同じ構造に従います。

統合注文完了

統合注文のすべての配送が発送されたときに送信されます。 category: consolidateShippingOrderCompleted / action: consolidateShippingOrderCompleted orderオブジェクトは、boxListと在庫詳細を含む完全なshipmentListを含む、統合配送すべて梱包済みと同じ構造に従います。

統合注文キャンセル

倉庫が統合配送注文を強制キャンセルしたときに送信されます。 category: consolidateShippingOrderCancelled / action: consolidateShippingOrderCancelled orderの主要フィールド:
フィールド説明
consolidateShippingOrderId注文識別子
consolidateShippingOrderNumber注文番号
consolidateShippingOrderStatus現在のステータス(キャンセル済み)
outboundWarehouseId出荷倉庫
shippingMethod配送方法
shippingFee配送料
deliveryInstructions配送指示
customFieldMapカスタムフィールド