Skip to main content
エンタープライズ組織では、認証用の写真と証明書を公開 CDN の外に置くことができます。アップロードはプライベートバケットに保存され、読み取りは CloudFront の署名付き URL を返します。公開シェアページには写真は表示されません。 サービスリクエストの作成・読み取り・提出は、これまでと同じパートナー API です。変わるのはアップロード経路とメディア URL の形だけです。 組織が公開 CDN を利用している場合は、通常の ワークフロー のアップロード経路(GET /intent)を使用してください。

必要なスコープ

API キーには sr:v2:createsr:v2:read に加えて media:v2:private-read が必要です。組織でプライベートメディアが有効になると、Legitmark がこのスコープを付与します。 以下のすべての呼び出しで同じ leo_ キーを送信してください。
media:v2:private-read がない場合、プライベート CDN 組織では GET /api/v2/sr/{sr_uuid}media_url は空配列、certificate_url は null になります。

統合ステップ

公開パートナー API と同じ流れです。違いは 2 点です。/intent を呼ばないこと、すべてのメディア URL を短命として扱うことです。
1

サービスリクエストを作成

通常のボディで POST /api/v2/sr?sides=true&item=trueleo_ キー付きで呼び出します。sides=true&item=true を付けると、必須 / 任意の写真リストがレスポンスに含まれるため、アップロード前に再度取得する必要はありません。API リファレンス: POST /api/v2/sr
2

写真をアップロード

すべてのサイドに対して POST /api/media/signed-urls/{sr_uuid} を 1 回呼び、返ってきた signed_url に画像を PUT します。GET /intent は呼び出さないでください。
3

写真を読み取る

同じキーで GET /api/v2/sr/{sr_uuid}?item=true&sides=true を呼び出します。media_urlsummary=true の場合は summary.thumbnail も)は、約 15 分間有効な署名付きプライベート CDN リンクです。
4

証明書を読み取る

最新の Get Full SR の certificate_url を使います。Access Denied または 403 が返ったら再取得してください。ダッシュボードの Download certificate からも再発行できます。

写真のアップロード

GET https://asset.legitmark.com/intent(および開発・ステージングのアセットホスト)は呼び出さないでください。この経路は公開バケットに書き込み、プライベート組織のアップロードをルーティングできません。 すべてのサイドのアップロード URL を 1 回の呼び出しで取得し、各 URL に画像バイトを PUT します。 API リファレンス: POST /api/media/signed-urls/{sr_uuid}
リクエストボディ レスポンス
signed_url への PUTAuthorization ヘッダーを送信しないでください。URL はすでに署名されているため、Authorization ヘッダーがあると S3 は 400 で拒否します。API キーで認証されるのは POST /api/media/signed-urls/{sr_uuid} のみです。
TypeScript SDK は現在も GET /intent を使用します。プライベート CDN の組織は、SDK が更新されるまで HTTP で POST /api/media/signed-urls/{sr_uuid} を呼び出してください。

ブラウザからのアップロード(CORS)

倉庫アプリや Web アプリがブラウザから画像を PUT する場合、S3 がそのページのオリジンを許可している必要があります。アップロードオリジンをすべて Legitmark に共有してください(完全一致のオリジンと https://*.example.com ワイルドカード)。組織で既に許可されているオリジンはそのまま使えます。PUT で CORS エラーが出た場合は新しいオリジンの追加が必要です。/intent にフォールバックしないでください。

写真の読み取り

同じ API キーでサービスリクエストを取得します。media_url はプライベート CDN ホスト上の CloudFront 署名付きリンクです。 API リファレンス: GET /api/v2/sr/{sr_uuid}
署名付き読み取り URL は次の形です(クエリ値は省略しています)。
  • ExpiresKey-Pair-IdSignature を URL から外さないでください。クエリ文字列を削除すると 403 になります。
  • summary=true のときの summary.thumbnail も同じ方法で署名されます。
  • 以前のテストで使った公開の cdn.legitmark.com リンクでは、これらの写真は配信されません。

証明書

最新の GET /api/v2/sr/{sr_uuid}certificate_url は、同じプライベートホスト上の署名付き PDF リンクです。その URL を使用してください。Access Denied または 403 が返った場合は署名の期限切れです。もう一度 GET して新しい URL を使ってください。 ダッシュボード(https://app.legitmark.com または開発・ステージングのアプリホスト)の Download certificate からも新しいリンクを再発行できます。 以前保存した証明書リンクを再利用しないでください。

URL の有効期限

署名付き読み取り URL は発行時点から 15 分 有効です(expires_in のデフォルトは 900 秒)。
  • 署名付き URL をデータベースに保存したり、キャッシュしたりしないでください。
  • 署名付き URL を恒久的な共有リンクとしてログや転送に使わないでください。URL を持っている人は期限までオブジェクトを取得できます。
  • 写真や証明書を表示・ダウンロードするたびに、GET /api/v2/sr/{sr_uuid} を再実行してください。
  • 期限切れまたは署名なしの URL は 403 を返します。これは想定どおりの動作です。新しい URL を取得してください。
Webhook のペイロードにメディア URL は含まれません。state_change を受け取ったら、写真や証明書が必要な場合は SR を取得してください。

公開シェアページ

公開シェアページには、プライベート CDN 組織の写真は表示されません。これは意図した動作です。写真と証明書は、API キー付きのパートナー API 経由でのみ利用できます。

環境

{org} は Legitmark が組織向けにプロビジョニングしたホスト名に置き換えてください。CDN ホストを自分で組み立てず、API が返す URL を使用してください。

画像要件

公開ワークフローと同じです。
  • 形式: JPG/JPEG/PNG
  • サイズ: 最小 600 x 600 ピクセル
  • ファイルサイズ: 画像あたり最大 5 MB
  • 品質: 鮮明で、十分な照明、ピントが合った画像