# 失効情報通知API

<br>

## **概要**

失効情報通知APIは、事前に通知設定を行うことで利用者の電子証明書に失効があった場合に失効情報を通知するAPIです。
    プラットフォーム事業者は、J-LISから電子証明書の失効情報の一覧を1日1回提供を受け、利用者の電子証明書の発行番号と照合することで、電子証明書の有効性を確認します。
    これにより、利用者の電子証明書の有効性を速やかに把握し、失効の場合は、基本4情報提供APIを利用することで、利用者の基本4情報（氏名・住所・生年月日・性別）を取得し、利用者の情報を最新に保つことが可能になります。

## **処理の流れ**

<Tabs>
    <Tab title="失効情報通知の登録">
        <Steps>
            <Step title="失効情報通知先の登録要求（サービスプロバイダ事業者）">
                サービスプロバイダ事業者は、失効情報通知を受信するための通知先URL（Webhook URL）を指定して、APIでリクエストを送信します。
            </Step>
            <Step title="失効情報通知先の登録処理（プラットフォーム事業者）">
                受信した登録要求に基づき、プラットフォーム事業者は通知先URLの情報をデータベースに登録します。
            </Step>
            <Step title="登録結果の返却（プラットフォーム事業者）">
                失効情報通知先の登録処理が正常に完了した場合は、設定内容を含むレスポンスを返却します。
            </Step>
        </Steps>
    </Tab>
    <Tab title="失効情報通知">
        ※新規で失効情報がある場合のみ通知されます。
        <Steps>
            <Step title="電子証明書の失効情報一覧の取得（プラットフォーム事業者）">
                バッチ処理により、1日1回、J-LISの認証局（CA）から電子証明書の失効情報一覧を取得します。
            </Step>
            <Step title="証明書の失効状態確認（プラットフォーム事業者）">
                取得した失効情報一覧と、プラットフォーム事業者が管理するサービス利用者の電子証明書発行番号を照合し、失効状態を確認します。
            </Step>
            <Step title="失効情報の通知（プラットフォーム事業者）">
                新たに失効が確認された利用者が存在する場合、当該利用者の失効情報を、失効通知設定を有効にしているサービスプロバイダ事業者へ通知します。
            </Step>
        </Steps>
    </Tab>
    <Tab title="失効情報通知の解除">
        <Steps>
            <Step title="失効情報通知先の解除要求（SP）">
                サービスプロバイダ事業者は、登録済みの失効情報通知先（Webhook URL）の解除を行うため、APIでリクエストを送信します。
            </Step>
            <Step title="失効情報通知先の解除処理（PF）">
                受信した解除要求に基づき、プラットフォーム事業者は対応する通知先URLの情報をデータベースから削除します。
            </Step>
            <Step title="解除結果の返却（PF）">
                失効情報通知先の解除処理が正常に完了した場合は、解除結果を返却します。
            </Step>
        </Steps>
    </Tab>
</Tabs>

## **シーケンス図**

<Tabs>
    <Tab title="失効情報通知の登録">
```mermaid
    %%{init: {'theme': 'natural'}}%%
    sequenceDiagram
    participant 利用者
    participant SDK
    participant サービスプロバイダ事業者
    participant プラットフォーム事業者
    participant J-LIS

    サービスプロバイダ事業者->>プラットフォーム事業者: 失効情報通知の登録要求 
    プラットフォーム事業者->>プラットフォーム事業者: 失効情報通知の登録
    プラットフォーム事業者->>サービスプロバイダ事業者: 登録結果の返却
```
    </Tab>
    <Tab title="失効情報通知">
```mermaid
    %%{init:{'theme':'natural'}}%%
    sequenceDiagram
    participant 利用者
    participant SDK
    participant サービスプロバイダ事業者
    participant プラットフォーム事業者
    participant J-LIS

    プラットフォーム事業者->>J-LIS: CRL取得のリクエスト
    J-LIS->>プラットフォーム事業者: CRLの返却
    プラットフォーム事業者->>プラットフォーム事業者: 電子証明書の有効性確認
    alt 新規に失効情報がある場合
        プラットフォーム事業者->>サービスプロバイダ事業者: 失効情報の送信
    end
```
    </Tab>
    <Tab title="失効情報通知の解除">
```mermaid
    %%{init:{'theme':'natural'}}%%
    sequenceDiagram
    participant 利用者
    participant SDK
    participant サービスプロバイダ事業者
    participant プラットフォーム事業者
    participant J-LIS

    サービスプロバイダ事業者->>プラットフォーム事業者: 失効情報通知の解除要求    
    プラットフォーム事業者->>プラットフォーム事業者: 失効情報通知の削除
    プラットフォーム事業者->>サービスプロバイダ事業者: 解除結果の返却
```
    </Tab>
</Tabs>

<br>

