Webhook 通知先システム
Webhook 通知のトリガー(発生契機)
サイバーポートで発行する Webhook 通知は以下の6種類です。
【Webhook 通知の種類】
No | 通知の種類 | 通知の内容 | コード定義 | |
---|---|---|---|---|
operationType | operationName | |||
1 | 取引の作成 | 取引が作成されたことを通知する。 | createDeal | Deal created. |
2 | 取引関係先の追加 | 取引関係先に貴社が追加されたことを通知する。 | addOrganization | Organization added. |
3 | 取引関係先の削除 | 取引関係先から貴社が削除されたことを通知する。 | deleteOrganization | Organization deleted. |
4 | 帳票の送信 | 貴社の参加する取引における参照可能な帳票が送信されたことを通知する。 | send | received. |
5 | 帳票の削除 | 貴社の参加する取引における参照可能な帳票が削除されたことを通知する。 | delete | deleted. |
6 | NACCS連携受信 | Cyber PortからNACCSへ要求電文送信後、NACCSから処理結果または出力情報を受信したことを依頼者に知らせる通知 | NaccsReceive | NACCS Data Received. |
Webhook 通知の内容
<通知の種類 No.1 ~5>
Webhook 通知の内容(構造) | 項目説明 |
---|---|
{ | |
“mailAddress” | 通知契機となる操作を行ったユーザー |
“userName” | 上記ユーザーの氏名 |
“data”:{ | |
“dealReportHistoryId” | 通知を一意に識別する ID |
“dateTime” | 当通知の発生日時 ※4 |
“operationType” | 当通知の発生契機となった操作 |
“operationName” | 通知の名称 |
“dealNo” | 通知対象取引の取引管理番号 |
“dealName” | 通知対象取引の取引名 |
“domesticNo” | 通知対象取引の社内管理番号 |
“bookingNo” | 通知対象取引のブッキング(船腹予約)番号 |
“blNumber” | 通知対象取引の B/L 番号 |
“scacCode” | 通知対象取引の船社コード |
“containerNo” | 通知対象帳票のコンテナ番号 ※1 |
“customId” | 通知対象帳票のカスタム ID※1 |
“equipmentInterchangeTypeInOut” | 通知対象帳票の機器受領種別※2 |
“fullOrEmpty” | 通知対象帳票のコンテナ状態※2 |
“containerTerminalCode” | 通知対象帳票のコンテナターミナルコード※2 |
“dealReportId” | 通知対象帳票を一意に識別するための取引・帳票 ID |
“businessTypeId” | 通知送信元組織の事業種別 ID |
“businessTypeName” | 通知送信元組織の事業種別名 |
“companyId” | 通知送信元組織の所属会社の会社 ID |
“companyName” | 通知送信元組織の所属会社の会社名 |
“organizationId” | 通知送信元組織の組織 ID |
“organizationName” | 通知送信元組織の組織名 |
“reportCode” | 通知対象帳票の帳票コード※1 |
“reportName” | 通知対象帳票の帳票名※1 |
“reportNo” | 通知対象帳票の帳票番号※1 |
“reportUrl” | 通知対象帳票の URL※1 |
“message” | 通知対象帳票の送信時メッセージ※1 |
“organizations”: [ | |
{ | |
“businessTypeId” | 通知送信先組織の事業種別 ID |
“businessTypeName” | 通知送信先組織の事業種別名 |
“inCharge” | 通知送信先組織が担当かどうかのフラグ |
“isPublic” | 通知送信先組織が取引内で公開組織かどうかのフラグ |
“companyId” | 通知送信先組織の所属会社の会社 ID |
“companyName” | 通知送信先組織の所属会社の会社名 |
“organizationId” | 通知送信先組織の組織 ID |
“organizationName” | 通知送信先組織の組織名 |
“parentBusinessTypeId” | 通知送信先組織を取引に追加した組織の事業種別 ID |
“parentOrganizationId” | 通知送信先組織を取引に追加した組織の組織 ID |
“writable” | 通知送信先組織の帳票 ReadWrite 権限※3 |
} | |
], | |
“reportHistoryVersions” | 未使用 |
} | |
} |
※1 通知の種類が 4.帳票の送信、5.帳票の削除 の場合のみ値が設定されます。 ※2 通知の種類が 4.帳票の送信、5.帳票の削除 かつ、帳票が機器受領書の場合のみ値が設定されます。 ※3 通知の種類が 4.帳票の送信 の場合のみ値が設定されます。 ※4 YYYY-MM-DDTHH:mm:ss.sssssss+00:00 形式の協定世界時 (UTC)(例:2022-07-11T01:10:07.2708729+00:00)※T、+00:00 は固定
<通知の種類 No.6>
Webhook 通知の内容(構造) | 項目説明 |
---|---|
{ | |
“mailAddress” | 通知契機となる操作を行ったユーザー |
“userName” | 上記ユーザーの氏名 |
“data”:{ | |
“dateTime” | Webhook 通知を行ったシステム日時(UTC) |
“operationType” | “NaccsReceive”NACCS 受信 固定 |
“operationName” | “NACCS Data Received.”固定 |
“dealNo” | NACCS へ送信依頼を行った帳票の属する取引の管理番号 |
“dealName” | 上記の取引の名称 |
“bookingNo” | 上記の取引のブッキング番号 |
“blNumber” | 上記の取引の B/L 番号 |
“scacCode” | 上記の取引の船社コード |
“dealReportId” | NACCS へ送信依頼を行った帳票の取引・帳票 ID |
“businessTypeId” | NACCS へ送信依頼を行った事業種別の ID |
“businessTypeName” | 上記事業種別の名称 |
“companyId” | NACCS へ送信依頼を行った利用者の属する会社の ID |
“companyName” | 上記会社の名称 |
“organizationId” | NACCS へ送信依頼を行った組織の ID |
“organizationName” | 上記組織の名称 |
“employeeId” | NACCS へ送信依頼を行った利用者の ID |
“employeeName” | 上記利用者の名称 |
“reportCode” | NACCS へ送信依頼を行った帳票のコード |
“reportName” | 上記帳票の名称 |
“reportNo” | 上記帳票の番号 |
“reportUrl” | 上記帳票の表示 |
“naccsBusinessCode” | NACCS へ送信依頼を行った業務コード |
“naccsOutputInfoCode” | NACCS へ送信依頼を行った結果、受信したデータの出力情報コード |
“naccsUserCode” | NACCS へ送信依頼を行った NACCS 利用者コード |
“inputInfoSpecificNo” | NACCS へ送信依頼を行った依頼と受信データを紐づける番号 |
“naccsReceiveDateTime” | NACCS から受信したデータの受信日時(UTC) |
“naccsRequestStatus” | Cyber Port 側の依頼の処理結果(09:正常終了 80 ~:異常終了)(UTC) |
“processResultCode” | NACCS から受信した電文が処理結果通知を含む際の処理結果コード(15 桁 ×5) |
} | |
} |
Webhook 通知のヘッダ | 項目説明 |
---|---|
x-cyberport-signature-256 | Webhook のボディ部と、Secret Token より算出したハッシュ値※5 |
Webhook 通知でのセキュリティ対策について
Webhook 通知先システム登録(編集)画面に Secret Token を設定することで、「Webhook 通知がサイバーポートから発行されたものであること」、「通知データの改ざんが行われていないこと」を通知受信側のシステム(自社システム)にて判別することが可能となります。
※Secret Token の設定と併せて、通知受信先である個社システム側で判別処理を組み込む必要があります。
通知受信側のシステムで判別処理を行わない場合は、Secret Token の設定は不要です。
サイバーポート側の Webhook 送信処理概要
ハッシュ署名を照合する
通知を受けるシステムやアプリケーション側では、Webhook 通知先システムに設定した同様のシークレットトークンを用いてハッシュ署名を作成し、そのハッシュ署名と CyberPort からの POST データのハッシュ署名(ヘッダ:x-cyberport-signature-256)が一致することを確認することで、不正な送信データではないことを判別できます。