APIエンドポイント.

Learn DXPR BuilderReferenceConfiguratie en API

このページではDXPR Builderがdxpr_builder.routing.ymlに登録する全ルートを 挙げます。HTTPメソッド、アクセス要件、リクエストパラメーター、レスポンス形状は コントローラーの実装通りです。AJAXエンドポイントの想定クライアントはエディターの JavaScriptです。このページに安定した公開APIはなく、パラメーター名はリリース間で 変わる場合があります。

アクセス要件

ルートは3種類の要件を使います。1つのルートが組み合わせることもあります。

Requirement Meaning
_permission ユーザーは指定のDrupal権限が必要です。DXPR Builderはadminister dxpr builder configuration、edit with dxpr builder、administer dxpr_builder_profileをdxpr_builder.permissions.ymlで定義します。view mediaとadminister site configurationはコア由来です。
_csrf_token リクエストはtokenクエリーパラメーターに有効なCSRFトークンを持つ必要があります。主要AJAXハンドラー向けに、エディターはトークン付きURLを/dxpr_builder/csrf (またはdxpr_builder_csrfオペレーション) から取得します。他ルート向けに、フィールドフォーマッターはトークン付きURLをdrupalSettings.dxprBuilderに置きます (例: fileUploadUrl、entityLinkSuggestionsUrl、userSettingsUrl、aiAgent.endpointUrl)。
_dxpr_builder_billable_user ユーザーは課金対象ユーザーである必要があります。定義は下記の通りです。

「課金対象ユーザー」の意味

DxprBuilderBillableUserAccessCheckは、現在の アカウントに DxprBuilderLicenseService::isBillableUser()がtrueを返す場合に アクセスを許可します。そのメソッドはブロック済みアカウントと dxpr_user_is_disavowedフィールド設定済みアカウント (管理者がUser Licenses ページで編集から除外したユーザー) にfalseを返します。それ以外ではユーザー1と edit with dxpr builder権限を持つ全アカウントにtrueを返します。要するに、 課金対象ユーザーとはDXPR Builderでの編集を許可された有効な非除外アカウントであり、 ライセンスサービスはこのアカウントをプロダクトキーに対して数えます。

HTTPメソッド

ルートがmethodsを宣言する場合、そのメソッドだけがルーティングされます。 宣言しない場合、ルートは任意のメソッドを受け付けます (Drupalの MethodFilterはメソッド宣言ルートだけを絞ります)。エディターの JavaScriptが実際に使うメソッドは、ソースで分かる場合に下の表に記載します。

エディターAJAXエンドポイント

CSRFトークンURL

Path /dxpr_builder/csrf
Route dxpr_builder.csrf_refresh
Methods Not declared (any method)。エディターはGETを送ります (backend-connect.js、fetchCsrfTokenUrl())。
Requirements Billable user
Controller AjaxController::ajaxRefresh()

リクエストはヘッダーX-Requested-With: XMLHttpRequestを持つ必要があります。 ない場合、コントローラーはJSON本文{"error": "Invalid request"}付きで HTTP 403を返します。

Parameter Source Required Notes
enterprise Query string Optional 設定値trueかつdxpr_builder_eモジュールありの場合、トークンはdxpr_builder_e.ajax_callbackルート用に生成されます。そのモジュールなしで設定値trueの場合、コントローラーは例外を投げます。

レスポンス: 主要AJAXハンドラーのURLとtokenクエリーパラメーターを持つ JSON文字列です。URLはサイトルートからのパスです (ベースパス含み、ホストなし)。 JavaScriptは全ビルダーオペレーションをこのURLにPOSTします。

主要AJAXハンドラー

Path /dxpr_builder/ajax
Route dxpr_builder.ajax_callback
Methods Not declared (any method)。コントローラーは全パラメーターをPOST本文から読み、エディターはPOSTを送ります。
Requirements Billable user、CSRF token
Controller AjaxController::ajaxCallback()

POST本文のフィールドactionがオペレーションを選びます。全オペレーションと パラメーターは主要AJAXハンドラーオペレーションに 挙げます。actionがないか不明な場合、コントローラーはコマンドなしの空Drupal AjaxResponseを返します。課金対象ユーザー状態を再確認する多くのオペレーションは、 確認失敗時に同じ空レスポンスを返します。表は2つの例外を注記します。

AIチャット

Path /dxpr_builder/ajax/ai/chat
Route dxpr_builder.ai_chat
Methods POST
Requirements edit with dxpr builder、billable user、CSRF token
Controller AiChatController::chat()

リクエスト本文はJSONです。コントローラーはリクエストをDrupal aiモジュールの dxprプロバイダーに代理するので、APIキーはブラウザーに届きません。呼び出し前に、 ai_output_allowed_domains設定のドメインをaiモジュールのホスト名フィルターに 統合します (そのサービスがある場合)。値*はフィルターを完全信頼にします。 フィルターは後で元に戻します。

Parameter Source Required Notes
messages JSON body Required オブジェクトの配列です。roleとcontentを持ちます。
stream JSON body Optional 真偽値です。既定はtrueです。
model JSON body Optional 既定はkavya-m1です。
prediction JSON body Optional 配列としてプロバイダー設定に渡します。
providers JSON body Optional プロバイダー設定にそのまま渡します。
allowed_html_tags JSON body Optional プロバイダー設定にそのまま渡します。
allowed_html_classes JSON body Optional プロバイダー設定にそのまま渡します。
web_search JSON body Optional 値falseだけが転送されます。他の値は無視します。
response_format JSON body Optional 配列としてプロバイダー設定に渡します。

レスポンス:

Case Status Body
Streamed (stream true and the provider streams) 200、Content-Type: text/event-stream サーバー送信イベントです。各イベントはdata: <JSON>で、JSONはchoices[0].delta.contentを持ち、プロバイダーが提供する場合はid、object、created、model、original_model、usageを持ちます。ストリームはdata: [DONE]で終わります。
Non-streamed 200、application/json {"choices": [{"message": {"role": "assistant", "content": "<text>"}}]}
Body is not JSON, or messages is missing or empty 400、plain text Invalid request: messages required
model not in the allowed_models list of ai_provider_dxpr.settings (only checked when the ai_provider_dxpr module is installed and the list is set) 403、application/json {"error": {"code": "model_not_allowed", "message": "The selected model is not allowed. Please refresh the page to update your model options."}}
Provider exception 500、application/json {"error": {"message": "The request could not be completed."}}

AI画像生成

Path /dxpr_builder/ajax/ai/image
Route dxpr_builder.ai_image
Methods POST
Requirements edit with dxpr builder、billable user、CSRF token
Controller AiImageController::generate()
Parameter Source Required Notes
prompt JSON body Required テキストプロンプトです。
model JSON body Optional 既定はkavya-imageです。
size JSON body Optional 空でない場合にプロバイダー設定へ転送します。
quality JSON body Optional 空でない場合にプロバイダー設定へ転送します。
background JSON body Optional 空でない場合にプロバイダー設定へ転送します。

レスポンス:

Case Status Body
Success 200 {"data": [{"b64_json": "<base64 image>"}]} (生成画像の最初の1点だけを返します)
Body is not JSON, or prompt is missing 400 {"error": {"message": "Invalid request: prompt required"}}
Provider returned no image 500 {"error": {"message": "No image was generated"}}
Provider exception 500 {"error": {"message": "Image generation failed. Please try again."}}

AI画像編集

Path /dxpr_builder/ajax/ai/image/edit
Route dxpr_builder.ai_image_edit
Methods POST
Requirements edit with dxpr builder、billable user、CSRF token
Controller AiImageController::edit()
Parameter Source Required Notes
prompt JSON body Required 編集指示です。
image JSON body Required Base64エンコードの元画像 (厳密デコード) です。
mimeType JSON body Optional 既定はimage/pngです。サブタイプがプロバイダーに渡すファイル拡張子になります。
model JSON body Optional 既定はkavya-imageです。
size、quality、background JSON body Optional 空でない場合にプロバイダー設定へ転送します。

レスポンス:

Case Status Body
Success 200 {"data": [{"b64_json": "<base64 image>"}]}
Body is not JSON, or prompt or image is missing 400 {"error": {"message": "Invalid request: prompt and image required"}}
image is not valid base64 400 {"error": {"message": "Invalid image data: base64 decode failed"}}
Provider returned no image 500 {"error": {"message": "No image was generated"}}
Provider exception 500 {"error": {"message": "Image editing failed. Please try again."}}

ファイルアップロード

Path /dxpr_builder/ajax/file_upload
Route dxpr_builder.ajax_file_upload_callback
Methods POST、DELETE (ルーティングで宣言。コントローラーは単一のアップロードハンドラーで、個別の削除分岐なし)
Requirements Billable user、CSRF token
Controller UploadFileController::fileUpload()
Parameter Source Required Notes
upload マルチパートフォームのファイル。upload[] Required 1点以上のアップロードファイルです。

コントローラーは各ファイルをクライアントMIMEタイプの前半で振り分けます。 <default scheme>://dxpr_builder_images、 dxpr_builder_videos、dxpr_builder_filesのいずれかです。 画像はMIMEタイプimage/gif、jpg、jpeg、png、 webp、avif、svgの拡張子が必要です。動画はvideo/webm、 ogv、ogg、mp4、quicktimeのいずれかです (例: .mov)。 サイズ上限はPHPのアップロード上限です。同名かつ同一SHA-256内容の既存管理ファイルで ユーザーが閲覧できるものがある場合、再保存せず再利用します。 mediaモジュールがあり、image、media_image、video、 media_videoのいずれかのメディアタイプがある場合、ファイルの公開メディア エンティティーを作成 (または再利用) します。ファイル利用はdxpr_builder モジュール下に記録します。

レスポンス:

Case Status Body
Success 201 JSON配列です。ファイルごとに1オブジェクト。url (絶対ファイルURL)、uuidとid (メディアエンティティーがある場合はそのID、なければファイルID)、fid (ファイルID)、entity_type (mediaまたはfile)。
No upload files 400 {"message": "No files were uploaded."}
Invalid upload, unwritable destination or save failure 500 {"message": "<reason>"}
Validation failure (extension or size) 422 {"message": "<violation messages>"}
Filename already locked by another request 503 {"message": "File \"<name>\" is already locked for writing."}

メディアライブラリーダイアログ

Path /dxpr_builder/media-library
Route dxpr_builder.media_library
Methods Not declared (any method)。パラメーターはクエリー文字列から読みます。
Requirements view media。admin route
Controller AjaxController::openImageMediaLibrary()
Parameter Source Required Notes
media_type Query string Optional image (既定) またはvideoです。
remaining_slots Query string Optional 開き手が受け付ける件数です。既定は1です。
uuid Query string Optional 開き手にはopener_parameters.uuidとして渡します。

提供するメディアタイプはmedia_browser設定に依存します。 media_libraryはimageまたはvideoメディアタイプを直接使い、 media_library_acquia_damはそのメディアタイプがある場合に acquia_dam_image_assetまたはacquia_dam_video_assetを使います。

レスポンス:

Case Result
Success 描画配列はMediaLibraryUiBuilder::buildUi()で作ります。開き手はmedia_library.opener.dxpr_builderです。Drupalはiframe向けHTMLページとして描画します。
media_library module not installed 403、plain text Media Library is not enabled. Please enable it to access this feature.
Unsupported media_type 400、plain text Unsupported media type "<value>".
media_browser setting has no usable media type 400、plain text The "<setting>" settings is not supported.
Path /dxpr_builder/ajax/help_link_validator
Route dxpr_builder.ajax_help_link_validator
Methods Not declared (any method)。開発スクリプトdxpr_builder_dev.jsはフォームエンコード本文でPOSTを送ります。
Requirements Billable user
Controller AjaxController::validateHelpLink()
Parameter Source Required Notes
help_link POST body Required for a meaningful answer 確認対象はhttpまたはhttpsのURLで、ホストdxpr.com、パス先頭/documentation/のものだけです。

レスポンスはJSON配列です。リンクへのHEADリクエスト (リダイレクト追従なし) が 200を返す場合に[true]、HTTPクライアントが例外の場合に[false]、 それ以外の場合 (パラメーターなし、URL不一致、非200ステータス含む) に[]です。

Path /dxpr_builder/entity-link-suggestions
Route dxpr_builder.entity_link_suggestions
Methods GET
Requirements edit with dxpr builder、CSRF token。no_cache route option
Controller EntityLinkSuggestionsController::suggestions()
Parameter Source Required Notes
q Query string Required for results 検索テキストです。小文字化します。/node/123のような値はそのエンティティーを直接読み込みます。
langcode Query string Optional ホストエンティティーの言語です。既定は現在の言語です。この言語で利用できるエンティティーだけを返します。

バンドルはバンドル情報でckeditor5_link_suggestions有効のものです。 設定がない場合は全ノードバンドルを検索します。エンティティータイプごとに最大 100エンティティーを、コアのエンティティー参照選択プラグインによる CONTAINS検索で照合します。

レスポンス: {"suggestions": [...]}です。非公開キャッシュ可能性と最大 300秒です。各候補はdescription、entity_type_id、entity_uuid、 group、label、pathを持ちます。qが何にも一致しない場合、 配列はdescription、label (小文字化した入力) 、path (有効URLの場合は入力、それ以外は空文字列) を持つ手動リンク候補1点を持ちます。 qが空の場合、suggestionsは空配列です。

ユーザーエディター設定

Path /dxpr_builder/user-settings
Route dxpr_builder.user_settings
Methods POST
Requirements edit with dxpr builder、CSRF token。no_cache route option
Controller UserSettingsController::save()

ユーザーが自分のエディター設定を変える場合にエディターがこのリクエストを送ります (例: Editor settings下)。値はuser.dataにユーザーアカウントと共に 格納します。モジュールはdxpr_builderです。

Parameter Source Required Notes
controls_layout JSON body Required (the only setting) element、breadcrumb、defaultのいずれか。defaultはユーザーの選択を削除し、プロファイルまたはサイト設定が適用されます。

レスポンス:

Case Status Body
Saved 200 {"settings": {"controls_layout": "<value>"}}。保存後の全設定です。選択の格納がないユーザーにはdefaultです。
Body is not a non-empty JSON object, or a name or value is invalid 400 {"error": "Invalid setting or value."}。何も格納しません。

主要AJAXハンドラーオペレーション

全オペレーションは/dxpr_builder/csrfから得たトークンクエリーパラメーター付きで /dxpr_builder/ajaxに行きます。オペレーション名はPOST本文のフィールド actionで送ります。他の全パラメーターは別記なき限りPOST本文のフィールドです。 「Re-checks billable」カラムはスイッチ内でisBillableUser()を再呼び出しする オペレーションを示します。確認失敗時は行の別記なき限り上記の空 AjaxResponseを返します。

セッションとアクセス

Operation Parameters Re-checks billable Returns
dxpr_login None No JSON真偽値です。現在のユーザーが課金対象かどうかです。
dxpr_builder_csrf None Yes JSON文字列です。トークン (token) クエリーパラメーター付きハンドラーURLです。/dxpr_builder/csrfと同じですが、enterprise選択肢はありません。

コンテナー (DXPR Builderフォーマッターで描画するフィールド)

Operation Parameters Re-checks billable Returns
dxpr_get_container_types None Yes JSONオブジェクトはentity_type|bundleをキー、entity_type - bundleを値とします。既定ビューディスプレイが最低1フィールドにdxpr_builder_textフォーマッターを使うバンドルごとに1項目です。
dxpr_get_container_names container_type (required、entity_type|bundle) Yes (returns an empty JSON string instead of the empty response) JSONオブジェクトはentity_id|field_name (翻訳可能エンティティーではentity_id|field_name|langcode) をキー、entity label|field labelを値とします。container_typeがない場合や課金確認の失敗時は空JSON文字列のレスポンスです。
dxpr_save_container type (required、entity_type|bundle)。name (required、entity_id|field_nameまたはentity_id|revision_id|field_name)。htmlContent (required、encoded markup)。lang (optional、defaults to the site default language) Yes 成功時はJSON空文字列です。htmlContentが文字列でない場合や言語が非翻訳可能エンティティーに適用されない場合はJSONメッセージ付きHTTP 400、要求翻訳がない場合は404、エンティティーを読み込めない場合は500です。

dxpr_save_containerは次を行います。

  1. 復号対象はhtmlContentです。各バイトを7でXORし、URLデコードします。
  2. 結果を指定フィールドの最初のデルタに書き込みます。
  3. エンティティータイプがリビジョン対応の場合、ログメッセージSaved with DXPR builder付きで新しい既定リビジョンを作ります。
  4. エンティティーのコンテンツロックを削除します。
  5. 保存したインラインブロックを参照するLayout Builderセクションのblock_revision_idを更新します。
  6. 状態値dxpr_builder.saves_countを増やします。

保存はユーザーがエンティティーへのupdateアクセスを持つ場合だけ行います。 ない場合も、オペレーションは空文字列の成功レスポンスを返します。

CMSエレメント (ブロックとビュー)

Operation Parameters Re-checks billable Returns
dxpr_builder_get_cms_element_names None Yes JSONオブジェクトはDxprBuilderService::getCmsElementNames()由来です。キーlist、disallowed、blockCategoriesです。
dxpr_get_cms_element_settings name (required)。view-<view_id>-<display_id>またはblock-<plugin_id>。ajax_page_state[libraries] (optional、comma-separated libraries already loaded) Yes JSONオブジェクトはcss、js、settings、dataを持ちます。ビューの場合、dataは描画済み公開フィルターウィジェットです。ブロックの場合、dataは<form>タグで包んだブロック設定フォームです。provider、admin_label、label、label_display、context_mappingの各エレメントを除き、全detailsエレメントを開きます。
dxpr_builder_load_cms_element name (required、parsed by parseStringForCmsElementInfo())。settings (required)。data (required、array)。ajax_page_state[libraries] (optional) No JSONオブジェクトはcss、js、settings、dataを持ちます。dataは描画済みブロックまたはビューディスプレイです。

両方のsettings返却オペレーションで、cssとjsはページにまだない 描画済みアセットタグであり、settingsは復号済みdrupalSettings オブジェクトです。ない場合は空文字列です。

ページテンプレート

Operation Parameters Re-checks billable Returns
dxpr_get_page_templates None Yes 有効ページテンプレートのJSON配列です。各項目はtitle、uuid、module (常にnull。エンティティーは格納しません)、category、date、weight (整数)、image (data: URL、またはモジュールのnot-found.png URL) を持ちます。
dxpr_load_page_template uuid (required) Yes 基本トークン置換済みテンプレートマークアップを含むHTMLレスポンスです。一致する有効テンプレートがない場合は空です。

ユーザーテンプレート

Operation Parameters Re-checks billable Returns
dxpr_get_templates None Yes 現在のユーザーが所有するテンプレートまたはグローバル指定のテンプレートのJSON配列です。作者アカウントがもうないテンプレートは除きます。各項目はid、uuid、name、global、current_user_is_author、author_id、author_name、typeを持ち、格納時はimage (data: URL) を持ちます。
dxpr_load_template uuid (required) Yes 基本トークン置換済みテンプレートマークアップを含むHTMLレスポンスです。一致する有効テンプレートがない場合は空です。
dxpr_save_template name (required)。template (required、markup)。type (optional、defaults to custom)。global (optional、cast to boolean)。image (optional。POST本文のbase64文字列またはdata:image URL、またはimage名のマルチパートファイルフィールド) Yes JSONオブジェクトはmessageとcodeを持ちます。成功時はcode 200、同マシン名のテンプレートがある場合はcode 409 (HTTPステータス200)、画像が有効な画像データでない場合はHTTP 400でcode 400です。
dxpr_delete_template name (required) Yes JSON空文字列です。

マシン名はnameを小文字化し、a-z0-9_外の文字の連続をアンダー スコアに置き換えて作ります。格納済みテンプレートにタイプがない場合、 typeはマークアップのdata-azb属性にフォールバックします。

画像

Operation Parameters Re-checks billable Returns
dxpr_builder_get_image_urls entityIDs (required、array)。imageStyle (required。original for the unstyled file)。entityType (required。media resolves media items、any other value is used as the entity type of the IDs) Yes テキスト本文です。カンマ区切り画像URL。fidクエリーパラメーター付きルート相対URLをファイルが与えます。image/videoタイプのメディアアイテムは元ファイルに解決します。acquia_dam_image_assetアイテムはmid、acquiaDamAsset、imageStyle付きDAM URLを与えます。他のメディアアイテムは飛ばします。entityIDsが空の場合や解決できるメディアアイテムがない場合は本文なしHTTP 204です。
dxpr_builder_get_image_style_url imageStyle (required)。entityId (required)。entityTypeId (required、fileまたはmedia) Yes テキスト本文です。ファイルの場合: 画像スタイル経由のルート相対URL (SVGファイルとoriginalはスタイルを飛ばします) でfidクエリーパラメーター付き。acquia_dam_image_assetメディアアイテムの場合: DAM URL。他の全エンティティーやエンティティー未検出の場合は本文なしHTTP 204です。
dxpr_builder_get_image_metadata entityId (required)。entityType (required、fileまたはmedia) Yes (returns 403 JSON instead of the empty response) {"data": {"alt": "...", "title": "..."}}はメディアアイテムの画像ソースフィールド由来です (Acquia DAMアセットはDAM代替テキストと空タイトルを与えます)。ファイルの場合、値はそのファイルをfield_media_imageで参照する最初のメディアアイテム由来です。エンティティーがファイルでもメディアアイテムでもない場合や、ファイルを参照するメディアがない場合、dataは空配列です。エラー: 400 {"error": "Missing required parameters"}、404 {"error": "Entity not found"}、500 {"error": "Failed to load entity"}、403 {"error": "Access denied"}。

コンテンツロック

Operation Parameters Re-checks billable Returns
dxpr_content_lock_status entity_id、revision_id、entity_type、langcode (all required) No JSONオブジェクトはstatus (真偽値) とlabel (エンティティーラベル) を持ちます。ロック時はentity_lock_author_idとentity_lock_author_nameも持ちます。
dxpr_toggle_content_lock entity_id、revision_id、entity_type、langcode、toggle_action (all required。lockはロックを作り、他値は解除します) No JSONオブジェクトはlabelとstatus (ロック後はtrue、解除後はfalse) を持ちます。エンティティーを読み込めない場合やユーザーにupdateアクセスがない場合は空JSON配列 ([]) です。

管理ページ

これらの全ルートは任意のメソッドを受け付けます (methodsキーなし)。 {...}を含むパスは設定エンティティーIDを取ります。{migration_id}は 移行IDです。

Path Route Permission Purpose
/admin/dxpr_studio dxpr_builder.admin.studio administer dxpr builder configuration DXPR Studio概要です。子ページを挙げるコアの管理メニューブロックページです。
/admin/dxpr_studio/dxpr_builder dxpr_builder.admin.studio.builder administer dxpr builder configuration DXPR Builder概要です。コアの管理メニューブロックページです。
/admin/dxpr_studio/dxpr_builder/settings dxpr_builder.settings administer dxpr builder configuration DxprBuilderSettingsForm。モジュール設定フォームです。
/admin/dxpr_studio/dxpr_builder/ai_settings dxpr_builder.ai_settings administer dxpr builder configuration DxprBuilderAiSettingsForm。AI設定フォームです。
/admin/dxpr_studio/dxpr_builder/user_templates entity.dxpr_builder_user_template.collection administer site configuration 設定エンティティーdxpr_builder_user_templateの一覧です。
/admin/dxpr_studio/dxpr_builder/user_templates/add entity.dxpr_builder_user_template.add_form administer site configuration ユーザーテンプレートを追加します。
/admin/dxpr_studio/dxpr_builder/user_templates/{dxpr_builder_user_template} entity.dxpr_builder_user_template.edit_form administer site configuration ユーザーテンプレートを編集します。
/admin/dxpr_studio/dxpr_builder/user_templates/{dxpr_builder_user_template}/delete entity.dxpr_builder_user_template.delete_form administer site configuration ユーザーテンプレートを削除します (確認フォーム)。
/admin/dxpr_studio/dxpr_builder/page_template entity.dxpr_builder_page_template.collection administer site configuration 設定エンティティーdxpr_builder_page_templateの一覧です。
/admin/dxpr_studio/dxpr_builder/page_template/add entity.dxpr_builder_page_template.add_form administer site configuration ページテンプレートを追加します。
/admin/dxpr_studio/dxpr_builder/page_template/create dxpr_builder.create_page_template administer dxpr builder configuration PageController::createPageTemplate()。uuidクエリーパラメーターで指定した有効ユーザーテンプレートを、同IDとカテゴリーDXPRの新しいページテンプレートに複写します。ステータスまたはエラーメッセージを設定し、ユーザーテンプレート一覧へリダイレクトします。
/admin/dxpr_studio/dxpr_builder/page_template/{dxpr_builder_page_template} entity.dxpr_builder_page_template.edit_form administer site configuration ページテンプレートを編集します。
/admin/dxpr_studio/dxpr_builder/page_template/{dxpr_builder_page_template}/delete entity.dxpr_builder_page_template.delete_form administer site configuration ページテンプレートを削除します (確認フォーム)。
/admin/dxpr_studio/dxpr_builder/profile entity.dxpr_builder_profile.collection administer dxpr_builder_profile 設定エンティティーdxpr_builder_profileの一覧です。
/admin/dxpr_studio/dxpr_builder/profile/add entity.dxpr_builder_profile.add_form administer dxpr_builder_profile プロファイルを追加します。
/admin/dxpr_studio/dxpr_builder/profile/{dxpr_builder_profile} entity.dxpr_builder_profile.edit_form administer dxpr_builder_profile プロファイルを編集します。
/admin/dxpr_studio/dxpr_builder/profile/{dxpr_builder_profile}/delete entity.dxpr_builder_profile.delete_form administer dxpr_builder_profile プロファイルを削除します (確認フォーム)。
/admin/dxpr_studio/dxpr_builder/user_licenses dxpr_builder.user_licenses administer dxpr builder configuration PageController::userLicensesPage()。ライセンス済みユーザーの非キャッシュ表です (カラムUser、Roles、Sites、Assigned、Operations)。その上に、ライセンス情報がある場合は独自ライセンス概要カード (dxpr-license-info) を描画し、解放済みライセンスが30日待ちの間は「Next license available on」通知を出します。このルートではLicense infoブロックは何も描画しないので、概要が二重に出ることはありません。
/admin/dxpr_studio/dxpr_builder/user_licenses/sites dxpr_builder.user_licenses.sites administer dxpr builder configuration PageController::userLicensesSitesPage()。mailリクエストパラメーター指定ユーザーの記録済みドメインの項目一覧です。ライセンス表からモーダルで開きます。
/admin/dxpr_studio/dxpr_builder/content dxpr_builder.licensed_content administer dxpr builder configuration PageController::licensedContentPage()。DXPR Builderで編集したコンテンツアイテムのページ付き表 (20件ごと) です。コンテンツアイテムライセンス概要付きです。needs_migration=1クエリーパラメーターはコンテンツ移行が必要な項目だけを表示します。ライセンス情報がない場合は空です。
/admin/dxpr_studio/dxpr_builder/migration-status dxpr_builder.migration_status administer dxpr builder configuration MigrationStatusController::statusPage()。登録済みコンテンツ移行と保留項目の非キャッシュ表です。各保留移行にはRun nowリンクがあり、保留があればRun all pending migrationsボタンが現れます。
/admin/dxpr_studio/dxpr_builder/migration-run/{migration_id} dxpr_builder.migration_run_confirm administer dxpr builder configuration MigrationRunConfirmForm。確認して1つの移行をバッチ実行し、ステータスページに戻ります。
/admin/dxpr_studio/dxpr_builder/migration-run-all dxpr_builder.migration_run_all_confirm administer dxpr builder configuration MigrationRunAllConfirmForm。確認して登録済み全移行を1バッチ実行し、ステータスページに戻ります。
/dxpr-builder/disavow-user dxpr_builder.disavow_user_confirm administer dxpr builder configuration DisavowUserConfirmForm。uidクエリーパラメーター指定ユーザーのDXPR Builder編集からの除外を確認します。
/dxpr-builder/delete-stale-user dxpr_builder.delete_stale_user_confirm administer dxpr builder configuration DeleteStaleUserConfirmForm。emailクエリーパラメーター指定メールアドレスのライセンスデータ削除を確認します。

次はこちら

  • 設定リファレンス。これらの エンドポイントが使うメディアブラウザーとAI動作を制御する設定です。
  • PHP API。コントローラーが 呼び出すサービスです。
  • フックAPI。他モジュールが ビルダー動作を変更するフックです。