> ## Documentation Index
> Fetch the complete documentation index at: https://developer.box.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 21 CFR Part 11リクエスト

> Box Sign APIでrequest_flowをcfr11に設定してGxP署名リクエストを送信し、追加の検証ルールに対処します。

export const MultiRelatedLinks = ({sections = []}) => {
  if (!sections || sections.length === 0) {
    return null;
  }
  return <div className="space-y-8">
      {sections.map((section, index) => <RelatedLinks key={index} title={section.title} items={section.items} />)}
    </div>;
};

export const RelatedLinks = ({title, items = []}) => {
  const getBadgeClass = badge => {
    if (!badge) return "badge-default";
    const badgeType = badge.toLowerCase().replace(/\s+/g, "-");
    return `badge-${badge === "ガイド" ? "guide" : badgeType}`;
  };
  if (!items || items.length === 0) {
    return null;
  }
  return <div className="my-8">
      {}
      <h3 className="text-sm font-bold uppercase tracking-wider mb-4">{title}</h3>

      {}
      <div className="flex flex-col gap-3">
        {items.map((item, index) => <a key={index} href={item.href} className="py-2 px-3 rounded related_link hover:bg-[#f2f2f2] dark:hover:bg-[#111827] flex items-center gap-3 group no-underline hover:no-underline border-b-0">
            {}
            <span className={`px-2 py-1 rounded-full text-xs font-semibold uppercase tracking-wide flex-shrink-0 ${getBadgeClass(item.badge)}`}>
              {item.badge}
            </span>

            {}
            <span className="text-base">{item.label}</span>
          </a>)}
      </div>
    </div>;
};

[21 CFR Part 11][cfr]は、電子記録と電子サインに関する米国FDA規制です (多くの場合、GxPと呼ばれます)。`cfr11`リクエストと`standard`リクエストの両方を、BoxウェブアプリだけでなくAPI、Box Automate、Box for Salesforceを介して送信できます。

<Note>
  Box Signでの21 CFR Part 11には、GxP Validationが必要です。ユーザーが`cfr11`リクエストを作成する前に、企業の管理者がその特定のユーザーおよびグループに対してGxP Validationを有効にする必要もあります。詳細については、[21 CFR Part 11コンプライアンスのサポート][cfr]を参照してください。
</Note>

## リクエストフローの選択

| 値 | 説明 |
| - | - |
| `cfr11` | 21 CFR Part 11要件を適用します。 |
| `standard` | デフォルトのBox Signフロー。 |

`request_flow`は省略可です。省略した場合、Box Signでは企業の管理者がデフォルトで使用されます。アカウントで使用できない値を指定すると、`403 Forbidden`エラーが返されます。リクエストやテンプレートの作成、取得、またはリストの取得を行ったときに、このフィールドも返されます。

`request_flow`が`cfr11`の場合:

* 各署名者がログインする必要があります (`login_required`が常に`true`)。これを`false`に設定すると、`400 Bad Request`エラーが返されます。
* `signature_color`を`red`にすることはできません。`blue`または`black`を使用してください。
* 各受信者は、署名プロパティを1つも持たないか、必須の署名フィールドまたはイニシャルフィールドを1つ以上持つ必要があります。テキストフィールドのみのリクエストは失敗します。

## テンプレートから作成

`template_id`と`request_flow: "cfr11"`を渡します。リクエストを作成したときに、Box Signによってテンプレートの署名およびイニシャルプレースホルダが検証されます。

```sh theme={null}
curl -i -X POST "https://api.box.com/2.0/sign_requests" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -H "content-type: application/json" \
     -d '{
       "request_flow": "cfr11",
       "template_id": "123075213-af2c8822-3ef2-4952-8557-52d69c2fe9cb",
       "signers": [
         {
           "role": "signer",
           "email": "signer@example.com"
         }
       ],
       "parent_folder": {
         "type": "folder",
         "id": "0987654321"
       }
     }'
```

テンプレートに署名以外のフィールドしかない場合は、`400 Bad Request`エラーが返されます。

## ソースファイルから作成

Box Signは変換中に[ドキュメントタグ][tags]を抽出するため、リクエスト時にプレースホルダを検証することはできません。`source_files`からの`cfr11`リクエストの場合は、`is_document_preparation_needed`を`true`にする必要があります。

| `is_document_preparation_needed` | 検証が実行されるタイミング |
| - | - |
| `true` | 準備ページで、リクエストが送信される前。Box Signは署名およびイニシャルプレースホルダを調整でき、サイズ変更が行われる場合はユーザーに警告します。 |
| `false` | 送信後の変換中。検証に失敗し、ステータスが`error`かつ`error_code` `cfr11_validation_failed`になると、Box Signからリクエスト送信者にメールが送信されます。ファイルを修正した後に新しいリクエストを作成してください。 |

`template_id`と`source_files`の両方を渡すと、テンプレートドキュメントの代わりにソースファイルが使用されます。検証にソースファイルのルールが適用されることになるため、`is_document_preparation_needed`を`true`に設定する必要があります。

## CFR Part 11フィールドの確認

| フィールド | 説明 |
| - | - |
| `request_flow` | `cfr11`または`standard`。 |
| `signers[].login_required` | `cfr11`の場合は常に`true`。 |
| `signers[].signature_fields[].reason` | 該当する`cfr11`署名フィールドの署名の理由。それ以外の場合は`null`。 |
| `signers[].signature_fields[].is_validated` | 再認証後は`true`、フィールドが入力されたものの、まだ再認証を行っていない場合は`false`、該当しない場合は`null`。 |

アカウントに対して21 CFR Part 11が有効になっていない場合でも、`cfr11`リクエストの取得、リスト取得、キャンセル、再送信を行うことができます。Boxでテンプレートの権限が確認されるのは、テンプレートからリクエストを作成したときであり、テンプレートを取得したときではありません。

APIが21 CFR Part 11サポートを実装する前に作成されたリクエストやテンプレートでも、ユーザーの権限に基づいた`request_flow`が返されます。

## エラーレスポンス

| シナリオ | ステータス | 理由 |
| - | - | - |
| `cfr11`リクエストの`login_required`が`false`になっている | `400` | `invalid_parameter` |
| `cfr11`リクエストの`signature_color`が`red`になっている | `400` | `invalid_parameter` |
| `cfr11`リクエストに、署名以外のフィールドのみが含まれている | `400` | `invalid_template` |
| `template_id`が存在しないか使用できない | `404` | `not_found` |
| 指定された`request_flow`を使用できない | `403` | `forbidden_by_policy` |

ソースファイルリクエストのタグエラーは、作成時には返されません。[署名ログ][log]に`error` / `cfr11_validation_failed`と表示されます。

[cfr]: https://docs.box.com/ja/box-sign/sending-a-document-for-signature/21-cfr-part-11-compliance-support

[tags]: https://docs.box.com/ja/box-sign/templates/creating-templates-using-tags

[log]: https://support.box.com/hc/ja/articles/4404095202579-署名ログの確認

<RelatedLinks
  title="関連するAPI"
  items={[
{ label: translate("Create Box Sign request"), href: "/reference/post-sign-requests", badge: "POST" }
]}
/>

<RelatedLinks
  title="関連するガイド"
  items={[
{ label: translate("Create Box Sign request"), href: "/guides/box-sign/create-sign-request", badge: "GUIDE" },
{ label: translate("Verify signer identity"), href: "/guides/box-sign/signer-verification", badge: "GUIDE" },
{ label: translate("Create a sign request with a template"), href: "/guides/box-sign/document-types/sign-templates", badge: "GUIDE" }
]}
/>
