メインコンテンツまでスキップ

非同期モードでの結果取得

概要

自己情報取得APIとの連携では、自己情報の取得結果を事業者サービスがどのように受け取るかを 自己情報取得結果の受け取りモード で選択できます。このモードはAPIサービスごとに設定でき、自己情報取得APIの設定から変更します。

モードには 同期モード非同期モード の2種類があります。

  • 同期モード(デフォルト)
    • エンドユーザーから自己情報取得の同意を得た後、MynaConnect上の待機ページでマイナポータルからの自己情報取得が完了するまで待ち、完了後に事業者サービスへリダイレクトします。事業者サービスがコールバックを受け取った時点で、すでに自己情報の取得は完了しています。
  • 非同期モード
    • エンドユーザーから自己情報取得の同意を得た後、自己情報の取得完了を待たずに即座に事業者サービスへリダイレクトします。自己情報の取得はMynaConnect側でバックグラウンドで進むため、事業者サービスは GetSelfPersonalDataRequestStatus をポーリングして取得完了を待ちます。

受け取りモードは、連携フローで説明している本人確認情報の取得・照合の有無(3種類のフロー)とは独立した設定です。どのフローを使う場合でも、このモードによる違いは最後の「結果取得・活用フェーズ」にのみ影響します。

注記

本人確認情報を照合する場合のフローでは、1回目(基本4情報取得)の後に一度事業者サービスへコールバックして本人確認を行う分岐がありますが、この分岐は受け取りモードの影響を受けません。受け取りモードが作用するのは、自己情報取得を要求した後の最終リダイレクトのみです。

使いどころ

非同期モードは、次のような場合に適しています。

  • ローディングUXを自社で制御したい — MynaConnectの待機ページを表示せず、事業者サービスの画面・ブランドで独自のローディング表示や進捗演出を行いたい場合。
  • モバイルアプリ/WebViewでの制御性 — iOS/Androidアプリで、外部の待機ページに留まらずアプリのネイティブ画面に戻してから状態をポーリングしたい場合。
  • ユーザーを待たせず即時に戻したい — 取得に時間がかかる可能性があるケースで、ユーザーを待機させずに事業者サービスへ戻し、結果取得は後続処理で行いたい場合。
  • 結果取得をサーバーサイドに寄せたい — ブラウザを拘束し続けず、サーバーサイドのジョブやバッチで状態のポーリングと結果取得を行いたい場合。

フロー図

以下は、本人確認情報を取得しない場合のフローを非同期モードで実行した場合の例です。本人確認情報を照合しない場合・照合する場合のフローでも、「結果取得・活用フェーズ」の違いは同様です。

ステータス遷移と異常時の対応

非同期モードでは、事業者サービスへのコールバック後に GetSelfPersonalDataRequestStatus を一定間隔でポーリングし、ステータスが SUCCESS になってから GetSelfPersonalDataRequestResult で自己情報を取得します。

ポーリング中に返りうる主なステータスは以下です。

  • PENDING / FETCHING — まだ取得処理中です。一定間隔をおいて再度 GetSelfPersonalDataRequestStatus を呼び出してください。
  • SUCCESS — 取得が完了しています。GetSelfPersonalDataRequestResult で自己情報を取得してください。
  • ERROR — 取得処理が失敗しました。ポーリングを打ち切り、エラーとして処理してください。
  • EXPIRED — セッションの有効期限が切れています。ポーリングを打ち切り、必要に応じて CreateSelfPersonalDataRequestSession でセッションを作成し直してください。

有効期限との関係

セッションの有効期限で説明している2つの有効期限は、非同期モードでも同様に適用されます。