外部コンシューマーが DfE ログインと対話するための API
以下の API のいずれかを使用するには、リクエストのヘッダーにベアラー トークンを指定する必要があります。このベアラー トークンは、シークレットを使用して署名された単純なペイロードを持つ単純な JWT (https://jwt.io を参照) です。 DfE サインインだけで済みます。
選択したテクノロジに付属する標準 JWT ライブラリを使用して、呼び出し側アプリケーションの使用時点で JWT を作成する必要があります。
トークン本体には、次のように発行者 (サービス クライアント ID) と対象者が必要です。
{
"iss": "REPLACE_WITH_YOUR_CLIENT_ID",
"aud": "signin.education.gov.uk"
}
トークンは、API_SECRET を使用して HS256 アルゴリズムを使用して署名する必要があります。 DfE サインインとの統合の時点で、API_SECRET (CLIENT_SECRET と間違えないよう注意してください) が与えられています。これをお持ちでない場合は、DfE サインイン チームに連絡してください。API_SECRET を再生成します (これらはサービス/環境固有。)
Postman は、API の構築と実行に使用される API プラットフォーム ツールです。 Postman は API ライフサイクルの各ステップを簡素化し、DfE サインイン パブリック API の開発とドキュメントで広く使用されています。
Postman コレクションとそれに関連する実行環境のスイートは、パブリック API を介した DfE サインイン プラットフォームとの統合の学習、テスト、デバッグに役立つように提供されています。
Postman API プラットフォーム ツールは、https://www.postman.com/api-platform/api-client/ で、デスクトップ クライアント、ホスト型 Web アプリケーション、およびコマンド ライン インターフェイス (CLI) として利用できます。
DfE サインイン パブリック API Postman コレクションと環境は、https://github.com/DFE-Digital/login.dfe.public-api/tree/develop/Postman/ で入手できます。
DfE サインインに組み込まれたサービスとして、API を使用してユーザーをサービスに招待できます。
リクエストは次のようになります
POST https://environment-url/services/{service-id}/invitations Authorization: bearer {jwt-token} { "sourceId": "user_id_in_your_service", "given_name": "John", "family_name": "Smith", "email": "[email protected]", "callback": "https://me.service.url/users/signup-complete" }
可変データ項目は次のとおりです。
名前 | 位置 | 必須 | 説明 |
---|---|---|---|
サービスID | URL | Y | ユーザーを招待しているサービスの DfE サインイン識別子 |
jwtトークン | ヘッダ | Y | 認可用の JWT トークンは、提供される API シークレットを使用して署名する必要があります。 |
ソースID | 体 | Y | システム内のユーザーの識別子。バックチャネル応答に含まれます |
名 | 体 | Y | ユーザーが指定した名前 |
苗字 | 体 | Y | ユーザーの姓 |
電子メール | 体 | Y | ユーザーの電子メール アドレス。これは、DfE サインインにおけるユーザーの一意の識別子でもあります。 |
組織 | 体 | ユーザーを関連付ける必要がある DfE サインイン識別子 | |
折り返し電話 | 体 | バックチャネル応答の送信先となる URL。バックチャネル応答の詳細については、以下をご覧ください。 | |
ユーザーリダイレクト | 体 | ユーザーがオンボーディングを行う場合、完了時に戻る必要がある URL。省略した場合、クライアントのデフォルトのリダイレクトが使用されます。 | |
InvitationSubjectOverride | 体 | 招待メールの件名を上書きします | |
招待ボディオーバーライド | 体 | 招待メールの内容を上書きします |
考えられる応答コードは次のとおりです。
HTTPステータスコード | 理由 |
---|---|
202 | あなたのリクエストは受け入れられました |
400 | あなたのリクエストは無効です。追加の詳細は応答本文に記載されます |
401 | JWT が見つからないか無効です。 |
404 | URI のサービス ID が存在しません |
500 | サーバーでエラーが発生しました。シークレット、API キー、トークンなどのシークレットが正しく構成されていることを確認してください。問題が解決しない場合は、サポート チームにお問い合わせください。 |
リクエストが行われるとき、ユーザーはシステムに存在する場合もあれば存在しない場合もあります。また、必要な組織とサービスのマッピングが要求される場合もあれば、要求されない場合もあります。このため、すべてのユーザーの詳細はバック チャネル応答を通じて送信されます。これは、ユーザーが DfE サインインで (電子メールで) 見つかった場合に即座に発生する可能性があります。または、ユーザーが送信される招待メールを受け入れた場合。
バック チャネルの応答は次のようになります。
POST https://callback.url/from/request Authorization: bearer {jwt-token} { "sub": "some-uuid", "sourceId: "source-id-from-request" }
リクエスト内のデータ項目は次のとおりです。
名前 | 位置 | 説明 |
---|---|---|
jwtトークン | ヘッダ | リクエストと同じシークレットで署名された jwt トークン |
サブ | 体 | DfE ユーザーのサインイン識別子。これは変更されず、サブクレームとして OIDC 応答に含まれます。 |
ソースID | 体 | 元のリクエストで使用されたsourceId |
組織のお知らせは公開することも非公開にすることもできます。
お知らせは次の方法で公開できます。
POST https://environment-url/organisations/announcements Authorization: bearer {jwt-token} { "messageId": "your-unique-idenitifer", "urn": "12345", "type": 1, "title": "Title of announcement", "summary": "summary of announcement", "body": "body of announcement", "publishedAt": "2019-01-31T20:30:40Z", "expiresAt": "2020-01-31T20:30:40Z" }
アナウンスの構成は次のとおりです。
属性 | 必須 | 説明 | タイプ |
---|---|---|---|
メッセージID | Y | 発信元システムのメッセージの識別子。一意である必要があります | UUID |
骨壷 | Y (または uid) | 設立URN | 数値 |
UID | Y (または骨壷) | グループUID | UUID |
タイプ | Y | メッセージの数値タイプ コード (以下を参照) | 整数 |
タイトル | Y | 発表のタイトル。最大文字数制限 255 | テキストまたはHTML |
まとめ | Y | 発表の概要。最大文字数 340文字以内 | テキストまたはHTML |
体 | Y | お知らせの本文。最大文字数 5000 文字制限 | テキストまたはHTML |
公開日 | Y | 発表日時の発表 | ISO8601 |
期限切れ | 日付/時刻のアナウンスの有効期限は次のとおりです。 | ISO8601 |
考えられる応答コードは次のとおりです。
HTTPステータスコード | 理由 |
---|---|
202 | あなたのリクエストは受け入れられました |
400 | あなたのリクエストは無効です。追加の詳細は応答本文に記載されます |
401 | JWT が見つからないか無効です。 |
500 | サーバーでエラーが発生しました。シークレット、API キー、トークンなどのシークレットが正しく構成されていることを確認してください。問題が解決しない場合は、サポート チームにお問い合わせください。 |
有効なアナウンスの種類は次のとおりです。
コード | 意味 |
---|---|
1 | 設立実績に関する注意事項 |
2 | 設立記録の問題 |
4 | ガバナンス記録に関する警告 |
5 | ガバナンス記録に問題がある |
その後、次の方法でお知らせを非公開にすることができます。
DELETE https://environment-url/organisations/announcements/your-unique-idenitifer Authorization: bearer {jwt-token}
ここで、 your-unique-idenitifer
メッセージの公開時に送信された messageId です。
考えられる応答コードは次のとおりです。
HTTPステータスコード | 理由 |
---|---|
204 | お知らせは非公開になりました |
401 | JWT が見つからないか無効です。 |
404 | URI のメッセージ ID が存在しません |
500 | サーバーでエラーが発生しました。シークレット、API キー、トークンなどのシークレットが正しく構成されていることを確認してください。問題が解決しない場合は、サポート チームにお問い合わせください。 |
アプリケーションが有効になっている場合は、API を通じて子アプリケーションを作成できます。これらの子アプリケーションは、OIDC 同意フローを使用してユーザーのコンテキストでアプリケーション内の API を呼び出せるようにするサードパーティ アプリケーションがある場合に使用することを目的としています。
子アプリケーションは次の方法で作成できます。
POST https://environment-url/services Authorization: bearer {jwt-token} { "name": "The display name of the application", "description": "A description of what the application does", "consentTitle": "Override for the content at the top of the Consent Screen", "consentBody": "Override for the content of the Consent Screen", "redirectUris": [ "https://endpoint.one/auth/cb", "https://endpoint.two/login/callback" ] }
同意テンプレートの上書きに関する注意事項
2 つのパラメータにより、同意画面でユーザーに表示されるコンテンツ、タイトルと本文をオーバーライドできます (現在のフォーム設計に従って他のものはすべて静的です)。 オーバーライド値は、2 つの (オプションの) 動的値を含む文字列です。例: consentTitle="Do you want to allow {{applicationName}} to send data to us for {{roleScope}}"
アプリケーションの構造は次のとおりです。
属性 | 必須 | 説明 |
---|---|---|
名前 | Y | アプリケーションのわかりやすい名前。これは、ユーザーに同意を求めるときに使用されます |
説明 | N | アプリケーションの説明 |
リダイレクトUris | Y | OIDC ログイン/同意フロー中に使用できるリダイレクト URI の配列 |
考えられる応答コードは次のとおりです。
HTTPステータスコード | 理由 |
---|---|
201 | 子アプリケーションが作成されました |
400 | あなたのリクエストは無効です。追加の詳細は応答本文に記載されます |
403 | あなたのアプリケーションには子アプリケーションを作成する権限がありません |
子アプリケーションの作成が成功すると、次のような応答が返されます。
{ "name": "The display name of the application", "description": "A description of what the application does", "clientId": "child-application-clientid", "clientSecret": "child-application-clientsecret", "redirectUris": [ "https://endpoint.one/auth/cb", "https://endpoint.two/login/callback" ] }
name
、 description
、およびredirectUris
リクエストから受け取ったものを確認するものです。 clientId
とclientSecret
子アプリケーションが OIDC プロセスを実行するときに使用する必要があるものです。 clientId
、後でアプリケーションを管理する場合にも必要になります。
子アプリケーションのシークレットが侵害された場合は、次の方法でシークレットの再生成をリクエストできます。
POST https://environment-url/services/client-id-of-child-application/regenerate-secret Authorization: bearer {jwt-token}
考えられる応答コードは次のとおりです。
HTTPステータスコード | 理由 |
---|---|
200 | シークレットが再生されました |
403 | 指定されたクライアント ID はアプリケーションの子ではありません |
404 | 指定されたクライアント ID のアプリケーションが見つかりません |
シークレットの再生成が成功すると、次のような応答が返されます。
{ "clientSecret": "regenerated-client-secret" }
子アプリケーションは、子アプリケーションの所有者が当社が提供する発行されたトークンのライフサイクルを管理できるようにするために、最終的に有効期間の短いアクセス トークンと有効期間の長いリフレッシュ トークンと交換できる承認コード (グラント) を生成する明示的な同意フローに従います。 goven 子アプリケーションの許可とトークンの問題を一覧表示する便利な API。
これらのトークンは、標準のオープン ID 接続エンドポイント (イントロペクションと取り消し) を使用して検査および取り消しできます。
特定の子サービスの許可のリストを取得するには:
GET https://environment-url/services/{service-id}/grants
特定の子サービス付与に対して発行されたトークンのリストを取得するには、次のようにします。
GET https://environment-url/services/{service-id}/grants/{grant-id}/tokens
この API を使用すると、ユーザーが組織のサービスにアクセスできるようになります。リクエストは次のようになります
GET https://environment-url/services/{service-id}/organisations/{organisation-id}/users/{user-id} Authorization: bearer {jwt-token}
可変データ項目は次のとおりです。
名前 | 位置 | 必須 | 説明 |
---|---|---|---|
サービスID | URL | Y | サービスの DfE サインイン識別子 |
組織ID | URL | Y | 組織の DfE サインイン識別子 |
ユーザーID | URL | Y | ユーザーの DfE サインイン識別子 |
jwtトークン | ヘッダ | Y | 認可用の JWT トークンは、提供される API シークレットを使用して署名する必要があります。 |
これにより、次の形式で応答が返されます
{ "userId": "user-id", "serviceId": "service-id", "organisationId": "organisation-id", "roles": [ { "id": "role-id", "name": "The name of the role", "code": "The code of the role", "numericId": "9999", "status": { "id": 1 } } ], "identifiers": [ { "key": "identifier-key", "value": "identifier-value" } ] }
注: ユーザーが指定されたサービスを持っていない場合、または指定された組織に属していない場合は、ステータス コード404 (Not Found)が返されます。
この API を使用して、ユーザーに関連付けられた組織を取得できます。リクエストは次のようになります。
GET https://environment-url/users/{user-id}/organisations Authorization: bearer {jwt-token}
可変データ項目は次のとおりです。
名前 | 位置 | 必須 | 説明 |
---|---|---|---|
ユーザーID | URL | Y | ユーザーの DfE サインイン識別子 |
jwtトークン | ヘッダ | Y | 認可用の JWT トークンは、提供される API シークレットを使用して署名する必要があります。 |
これにより、次の形式で応答が返されます
[ { "id": "org-id", "name": "Organisation name", "category": { "id": "004", "name": "Early Year Setting" }, "urn": "org-urn", "uid": null, "ukprn": null, "establishmentNumber": null, "status": { "id": 1, "name": "Open" }, "closedOn": null, "address": null, "telephone": null, "statutoryLowAge": null, "statutoryHighAge": null, "legacyId": "legacy-id", "companyRegistrationNumber": null }, ]
この API エンドポイントを使用して、サービスまたは子サービスの 1 つに関連付けられたロールを取得できます。リクエストは次のようになります。
GET https://environment-url/services/{client-id}/roles Authorization: bearer {jwt-token}
可変データ項目は次のとおりです。
名前 | 位置 | 必須 | 説明 |
---|---|---|---|
クライアントID | URL | Y | サービスの DfE サインイン クライアント ID |
jwtトークン | ヘッダ | Y | 認可用の JWT トークンは、提供される API シークレットを使用して署名する必要があります。 |
考えられる応答コードは次のとおりです。
HTTPステータスコード | 理由 |
---|---|
200 | 要求されたクライアント ID のロールの (空の可能性がある) リストが正常に取得されました。 |
403 | 指定されたクライアント ID は、サービスまたはサービスの子ではありません。 |
404 | 指定されたクライアント ID のサービスが見つかりません。 |
これにより、次の形式で応答が返されます。
[ { "name": "Role 1 Name", "code": "Role1Code", "status": "Active" }, { "name": "Role 2 Name", "code": "Role2Code", "status": "Inactive" } ]
ロールが見つからなかった場合は次のようになります。
[]
この API を使用して、ユーザーに関連付けられた組織を取得できます。リクエストは次のようになります。
GET https://environment-url/users/{user-id}/v2/organisations Authorization: bearer {jwt-token}
可変データ項目は次のとおりです。
名前 | 位置 | 必須 | 説明 |
---|---|---|---|
ユーザーID | URL | Y | ユーザーの DfE サインイン識別子 |
jwtトークン | ヘッダ | Y | 認可用の JWT トークンは、提供される API シークレットを使用して署名する必要があります。 |
これにより、次の形式で応答が返されます
[ { "id": "org-id", "name": "Organisation name", "category": { "id": "001", "name": "Establishment" }, "urn": null, "uid": null, "upin": "111111", "ukprn": "21133510", "establishmentNumber": null, "status": { "id": 1, "name": "Open" }, "closedOn": null, "address": "Organisation address", "telephone": null, "statutoryLowAge": null, "statutoryHighAge": null, "legacyId": "1111", "companyRegistrationNumber": null, "DistrictAdministrativeCode": null, "DistrictAdministrative_code": null, "providerTypeName": "Commercial and Charitable Provider", "ProviderProfileID": "7777777", "OpenedOn": null, "SourceSystem": "PIMS", "GIASProviderType": null, "PIMSProviderType": "Private Limited Company", "PIMSProviderTypeCode": 11, "PIMSStatus": "1", "masteringCode": null, "PIMSStatusName": "", "GIASStatus": null, "GIASStatusName": null, "MasterProviderStatusCode": 1, "MasterProviderStatusName": "Active", "LegalName": "Org Legal Name" }, ]
認可トークン (iss 属性) で定義されているフィルターなしでユーザーのリストを取得できます。
リクエストは次のようになります。
GET https://environment-url/users?page=1&pageSize=25 Authorization: bearer {jwt-token}
page 変数と pageSize 変数はオプションで、デフォルトはそれぞれ 1 と 25 です。これらの変数を使用すると、呼び出し元は結果のページを反復処理できます (応答本文の属性を使用してレコードとページの数を計算します)。
応答本文には次の属性が含まれます (以下の応答例)。
名前 | 説明 |
---|---|
ユーザー | ユーザー詳細の配列 (子組織オブジェクトを含む) |
レコード数 | 報告されたレコードの総数 |
ページ | 現在のページ番号 |
ページ数 | 総ページ数 |
応答例
{ "ユーザー": [ { "approvedAt": "2019-06-19T15:09:58.683Z", "updatedAt": "2019-06-19T15:09:58.683Z", "organisation": { "id": "13F20E54-79EA-4146-8E39-18197576F023"、"名前": "教育省"、"カテゴリ": "002"、"タイプ": null、"URN": null、"UID": null、"UKPRN" ": null、"設立番号": "001"、"ステータス": 1、"閉店": null、 "住所": null、"phaseOfEducation": null、"statutoryLowAge": null、"statutoryHighAge": null、"telephone": null、"regionCode": null、"legacyId": "1031237"、"companyRegistrationNumber": "1234567 "、"プロバイダープロファイルID": ""、"UPIN": ""、 "PIMSProviderType": "中央政府部"、"PIMSStatus": ""、"DistrictAdministrativeName": ""、"OpenedOn": "2007-09-01T00:00:00.0000000Z"、"SourceSystem": ""、"ProviderTypeName" ": "政府機関", "GIASProviderType": "", "PIMSProviderTypeCode": ""、"createdAt": "2019-02-20T14:27:59.020Z"、"updatedAt": "2019-02-20T14:28:38.223Z" }, "roleName": "承認者"、"roleId": 10000、"userId": "21D62132-6570-4E63-9DCB-137CC35E7543"、"userStatus": 1、"email": "[email protected]"、 "familyName": "ジョンソン"、"givenName": "ロジャー" } ]、"レコード数": 1、"ページ": 1、"ページ数": 1}
認可トークン (iss 属性) で定義されているフィルターを使用してユーザーのリストを取得できます。
リクエストは次のようになります。
GET https://environment-url/users?page=1&pageSize=25&status=0&from=2021%2F02%2F11%2002%3A22%3A06&to=2021%2F11%2F03%2002%3A22%3A06 Authorization: bearer {jwt-token}
page 変数と pageSize 変数はオプションで、デフォルトはそれぞれ 1 と 25 です。これらの変数を使用すると、呼び出し元は結果のページを反復処理できます (応答本文の属性を使用してレコードとページの数を計算します)。ステータス、from および to はオプションであり、現時点では 0 を受け入れます。日付範囲は 7 日のみを受け入れます。例に示すように、日付は URL エンコード形式である必要があります
日付範囲の検証日付範囲が 7 日を超える場合、エラー メッセージを送信します。フィルタ内の開始日のみ、開始日から 7 日後にユーザーが更新されます。フィルター内の「to date」のみで、ユーザーは「to date」の 7 日前に更新されます。日付が指定されていない場合は、現在から 7 日前までのユーザーの更新情報を取得します。
応答本文には次の属性が含まれます (以下の応答例)。
名前 | 説明 |
---|---|
ユーザー | ユーザー詳細の配列 (子組織オブジェクトを含む) |
レコード数 | 報告されたレコードの総数 |
ページ | 現在のページ番号 |
ページ数 | 総ページ数 |
警告 (オプション) | 7 日分のユーザーのみを取得する場合にのみ表示されます |
応答例
{ "ユーザー": [ { "approvedAt": "2019-06-19T15:09:58.683Z", "updatedAt": "2019-06-19T15:09:58.683Z", "organisation": { "id": "13F20E54-79EA-4146-8E39-18197576F023"、"名前": "教育省"、"カテゴリ": "002"、"タイプ": null、"URN": null、"UID": null、"UKPRN" ": null、"設立番号": "001"、"ステータス": 1、"閉店": null、 "住所": null、"phaseOfEducation": null、"statutoryLowAge": null、"statutoryHighAge": null、"telephone": null、"regionCode": null、"legacyId": "1031237"、"companyRegistrationNumber": "1234567 "、"プロバイダープロファイルID": ""、"UPIN": ""、 "PIMSProviderType": "中央政府部"、"PIMSStatus": ""、"DistrictAdministrativeName": ""、"OpenedOn": "2007-09-01T00:00:00.0000000Z"、"SourceSystem": ""、"ProviderTypeName" ": "政府機関", "GIASProviderType": "", "PIMSProviderTypeCode": ""、"createdAt": "2019-02-20T14:27:59.020Z"、"updatedAt": "2019-02-20T14:28:38.223Z" }, "roleName": "承認者"、"roleId": 10000、"userId": "21D62132-6570-4E63-9DCB-137CC35E7543"、"userStatus": 1、"email": "[email protected]"、 "familyName": "ジョンソン"、"givenName": "ロジャー" } ], "numberOfRecords": 1, "page": 1, "numberOfPages": 1, "warning": "7 日間のデータのみを取得できます"}
カテゴリ ID を解釈するには、ここを参照してください。
サービスに許可がある場合は、(ロール ポリシーの条件に基づいて) サービスのスコープ内にある組織の承認者のリストを取得できます。
リクエストは次のようになります。
GET https://environment-url/users/approvers?page=1&pageSize=25 Authorization: bearer {jwt-token}
page 変数と pageSize 変数はオプションで、デフォルトはそれぞれ 1 と 25 です。これらの変数を使用すると、呼び出し元は結果のページを反復処理できます (応答本文の属性を使用してレコードとページの数を計算します)。
応答本文には次の属性が含まれます (以下の応答例)。
名前 | 説明 |
---|---|
ユーザー | ユーザー詳細の配列 (子組織オブジェクトを含む) |
レコード数 | 報告されたレコードの総数 |
ページ | 現在のページ番号 |
ページ数 | 総ページ数 |
応答例
考えられる応答コードは次のとおりです。
HTTPステータスコード | 理由 |
---|---|
200 | あなたのリクエストは受け入れられました |
400 | あなたのリクエストは無効です。追加の詳細は応答本文に記載されます |
401 | JWT が見つからないか無効です。 |
403 | アプリケーションには組織の承認者を取得する権限がありません |
500 | サーバーでエラーが発生しました。シークレット、API キー、トークンなどのシークレットが正しく構成されていることを確認してください。問題が解決しない場合は、サポート チームにお問い合わせください。 |
{ "ユーザー": [ { "組織": { "id": "13F20E54-79EA-4146-8E39-18197576F023", "名前": "教育省", "カテゴリ": { "id": "002", "名前": "地方自治体」 }, "urn": null, "uid": null, "ukprn": null, "establishmentNumber": "001", "status": { "id": 1, "name": "Open" }, "closedOn": null、"address": null、"telephone": null、"statutoryLowAge": null、"statutoryHighAge": null、"legacyId": "1031237"、"companyRegistrationNumber": "1234567"、"ProviderProfileID ": ""、"UPIN": ""、"PIMSProviderType": "中央政府Department"、"PIMSStatus": ""、"DistrictAdministrativeName": ""、"OpenedOn": "2007-09-01T00:00:00.0000000Z"、"SourceSystem": ""、"ProviderTypeName": "政府機関"、 "GIASProviderType": ""、"PIMSProviderTypeCode": "" }、"roleId": 10000、"roleName": "承認者"、"userId": "21D62132-6570-4E63-9DCB-137CC35E7543"、"userStatus": 1、"email": "[email protected]"、 "familyName": "ジョンソン"、"givenName": "ロジャー" } ]、"レコード数": 1、"ページ": 1、"ページ数": 1}
この API を使用すると、組織ユーザーをロールでフィルタリングして取得できます。リクエストは次のようになります。
GET https://environment-url/organisations/{UKPRN}/users?roles=role1,role2 Authorization: bearer {jwt-token}
可変データ項目は次のとおりです。
名前 | 位置 | 必須 | 説明 |
---|---|---|---|
英国PRN | URL | Y | 組織の UKPRN |
役割 | URL | N | 組織ユーザーのリストをフィルタリングするためのユーザー役割コード |
jwtトークン | ヘッダ | Y | 認可用の JWT トークンは、提供される API シークレットを使用して署名する必要があります。 |
考えられる応答コードは次のとおりです。
HTTPステータスコード | 理由 |
---|---|
200 | 要求された組織のロールが正常に取得されました |
400 | あなたのリクエストは無効です。追加の詳細は応答本文に記載されます |
401 | JWT が見つからないか無効です |
403 | アプリケーションには、この組織のユーザーを取得する権限がありません |
404 | 要求された組織に対して指定されたロールを持つユーザーが見つからなかったため、空の配列が返されました |
500 | サーバーでエラーが発生しました。シークレット、API キー、トークンなどのシークレットが正しく構成されていることを確認してください。問題が解決しない場合は、サポート チームにお問い合わせください。 |
これにより、次の形式で応答が返されます
{ "ukprn": "organisation-ukprn-id", "users": [ { "email": "[email protected]", "firstName": "user1", "lastName": "test", "userStatus": 1, "roles": [ "role1" ] }, { "email": "[email protected]", "firstName": "user2", "lastName": "test", "roles": [ "role1", "role2" ] } ] }
フィルタリングされた基準による組織ユーザーの取得
上記の API を使用して、電子メール アドレスや userId などのフィルターされた条件に基づいて組織ユーザーを取得することもできます。リクエストは次のようになります
GET https://environment-url/organisations/{UKPRN}/[email protected] Authorization: bearer {jwt-token}
可変データ項目は次のとおりです。
名前 | 位置 | 必須 | 説明 |
---|---|---|---|
英国PRN | URL | Y | 組織の UKPRN |
電子メール | URL | N | フィルタリング対象のユーザーのメールアドレス |
jwtトークン | ヘッダ | Y | 認可用の JWT トークンは、提供される API シークレットを使用して署名する必要があります。 |
応答形式は以前の API 呼び出しと同じであるため、特定の基準によるフィルタリングが可能です。
この API を使用すると、組織ユーザーをロールでフィルタリングして取得できます。リクエストは次のようになります。
GET https://environment-url/organisations/{UPIN}/users?roles=role1,role2 Authorization: bearer {jwt-token}
可変データ項目は次のとおりです。
名前 | 位置 | 必須 | 説明 |
---|---|---|---|
ウピン | URL | Y | 組織の UPIN |
役割 | URL | N | 組織ユーザーのリストをフィルタリングするためのユーザー役割コード |
jwtトークン | ヘッダ | Y | 認可用の JWT トークンは、提供される API シークレットを使用して署名する必要があります。 |
考えられる応答コードは次のとおりです。
HTTPステータスコード | 理由 |
---|---|
200 | 要求された組織のロールが正常に取得されました |
400 | あなたのリクエストは無効です。追加の詳細は応答本文に記載されます |
401 | JWT が見つからないか無効です |
403 | アプリケーションには、この組織のユーザーを取得する権限がありません |
404 | 要求された組織に対して指定されたロールを持つユーザーが見つからなかったため、空の配列が返されました |
500 | サーバーでエラーが発生しました。シークレット、API キー、トークンなどのシークレットが正しく構成されていることを確認してください。問題が解決しない場合は、サポート チームにお問い合わせください。 |
これにより、次の形式で応答が返されます
{ "upin": "organisation-upin-id", "users": [ { "email": "[email protected]", "firstName": "user1", "lastName": "test", "userStatus": 1, "roles": [ "role1" ] }, { "email": "[email protected]", "firstName": "user2", "lastName": "test", "roles": [ "role1", "role2" ] } ] }
フィルタリングされた条件による組織ユーザーの取得
上記の API を使用して、電子メール アドレスや userId などのフィルターされた基準に基づいて組織ユーザーを取得することもできます。リクエストは次のようになります
GET https://environment-url/organisations/{UPIN}/[email protected] Authorization: bearer {jwt-token}
可変データ項目は次のとおりです。
名前 | 位置 | 必須 | 説明 |
---|---|---|---|
ウピン | URL | Y | 組織の UPIN |
電子メール | URL | N | フィルタリング対象のユーザーのメールアドレス |
jwtトークン | ヘッダ | Y | 認可用の JWT トークンは、提供される API シークレットを使用して署名する必要があります。 |
応答形式は以前の API 呼び出しと同じであるため、特定の基準によるフィルタリングが可能です。
ID | 説明 |
---|---|
001 | 施設(以下の施設タイプを参照) |
002 | 地方自治体 |
003 | その他の従来の組織 |
004 | 初期の年の設定 |
008 | その他の関係者 |
009 | トレーニングプロバイダー |
010 | マルチアカデミートラスト |
011 | 政府 |
012 | その他の GIAS 関係者 |
013 | 単一アカデミー信託 |
050 | ソフトウェアサプライヤー |
051 | さらなる教育 |