Administra páginas con la API

Por lo general, usarás la consola para administrar las páginas. En situaciones avanzadas, es posible que desees usar la API para administrar páginas. En esta guía, se describe cómo crear, enumerar y borrar páginas con la API.

Crear página

Si quieres crear una página para tu agente, llama al método create en el tipo Page.

Selecciona un protocolo y una versión para la Referencia de la página:

Protocolo V3 V3beta1
REST Recurso de la página Recurso de la página
RPC Interfaz de la página Interfaz de la página
C++ PagesClient No disponible
C# PagesClient No disponible
Go PagesClient No disponible
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP No disponible No disponible
Python PagesClient PagesClient
Ruby No disponible No disponible

Java

Para autenticarte en Dialogflow, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import com.google.cloud.dialogflow.cx.v3.CreatePageRequest;
import com.google.cloud.dialogflow.cx.v3.Page;
import com.google.cloud.dialogflow.cx.v3.PagesClient;
import java.io.IOException;

public class CreateSimplePage {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project-id";
    String agentId = "my-agent-id";
    String flowId = "my-flow-id";
    String location = "my-location";
    String displayName = "my-display-name";

    createPage(projectId, agentId, flowId, location, displayName);
  }

  // DialogFlow API Create Page Sample.
  // Creates a page from the provided parameters
  public static Page createPage(
      String projectId, String agentId, String flowId, String location, String displayName)
      throws IOException {
    Page response;
    CreatePageRequest.Builder createRequestBuilder = CreatePageRequest.newBuilder();
    Page.Builder pageBuilder = Page.newBuilder();

    pageBuilder.setDisplayName(displayName);

    createRequestBuilder
        .setParent(
            "projects/"
                + projectId
                + "/locations/"
                + location
                + "/agents/"
                + agentId
                + "/flows/"
                + flowId)
        .setPage(pageBuilder);

    // Make API request to create page
    // Note: close() needs to be called on the PagesClient object to clean up resources
    // such as threads. In the example below, try-with-resources is used,
    // which automatically calls close().
    try (PagesClient client = PagesClient.create()) {
      response = client.createPage(createRequestBuilder.build());
      System.out.println("Successfully created page!");
      return response;
    }
  }

Node.js

Para autenticarte en Dialogflow, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

async function createPage(projectId, agentId, flowId, location, displayName) {
  const pagesClient = new PagesClient();

  const createPageRequest = {
    parent: `projects/${projectId}/locations/${location}/agents/${agentId}/flows/${flowId}`,
    page: {
      displayName: displayName,
    },
  };

  const response = await pagesClient.createPage(createPageRequest);
  console.log(response);
}

Python

Para autenticarte en Dialogflow, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

async def create_page(project_id, agent_id, flow_id, location, displayName):
    pages_client = PagesAsyncClient()

    page = Page()
    page.display_name = displayName

    request = CreatePageRequest()
    request.parent = (
        "projects/"
        + project_id
        + "/locations/"
        + location
        + "/agents/"
        + agent_id
        + "/flows/"
        + flow_id
    )
    request.page = page

    response = await pages_client.create_page(request=request)
    return response

Enumerar páginas

Para enumerar las páginas de tu agente, llama al método list en el tipo Page.

Selecciona un protocolo y una versión para la Referencia de la página:

Protocolo V3 V3beta1
REST Recurso de la página Recurso de la página
RPC Interfaz de la página Interfaz de la página
C++ PagesClient No disponible
C# PagesClient No disponible
Go PagesClient No disponible
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP No disponible No disponible
Python PagesClient PagesClient
Ruby No disponible No disponible

Java

Para autenticarte en Dialogflow, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import com.google.cloud.dialogflow.cx.v3.ListPagesRequest;
import com.google.cloud.dialogflow.cx.v3.ListPagesRequest.Builder;
import com.google.cloud.dialogflow.cx.v3.Page;
import com.google.cloud.dialogflow.cx.v3.PagesClient;
import java.io.IOException;

public class ListPages {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project-id";
    String agentId = "my-agent-id";
    String flowId = "my-flow-id";
    String location = "my-location";

    listPages(projectId, agentId, flowId, location);
  }

  // DialogFlow API List Pages Sample.
  // Lists all pages from the provided parameters
  public static void listPages(String projectId, String agentId, String flowId, String location)
      throws IOException {
    // Note: close() needs to be called on the PagesClient object to clean up resources
    // such as threads. In the example below, try-with-resources is used,
    // which automatically calls close().
    try (PagesClient client = PagesClient.create()) {
      Builder listRequestBuilder = ListPagesRequest.newBuilder();

      String parentPath =
          String.format(
              "projects/%s/locations/%s/agents/%s/flows/%s", projectId, location, agentId, flowId);
      listRequestBuilder.setParent(parentPath);
      listRequestBuilder.setLanguageCode("en");

      // Make API request to list all pages in the project
      for (Page element : client.listPages(listRequestBuilder.build()).iterateAll()) {
        System.out.println(element);
      }
    }
  }

Node.js

Para autenticarte en Dialogflow, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

async function listPages(projectId, agentId, flowId, location) {
  const pagesClient = new PagesClient();
  const listPageRequest = {
    parent: `projects/${projectId}/locations/${location}/agents/${agentId}/flows/${flowId}`,
    languageCode: 'en',
  };

  const response = await pagesClient.listPages(listPageRequest);
  console.log(response);
}

Python

Para autenticarte en Dialogflow, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

async def list_page(project_id, agent_id, flow_id, location):
    pages_client = PagesAsyncClient()

    request = ListPagesRequest()
    request.parent = (
        f"projects/{project_id}/locations/{location}/agents/{agent_id}/flows/{flow_id}"
    )

    request.language_code = "en"

    response = await pages_client.list_pages(request=request)
    return response

Borrar páginas

A fin de borrar una página para tu agente, llama al método delete en el tipo Page.

Selecciona un protocolo y una versión para la Referencia de la página:

Protocolo V3 V3beta1
REST Recurso de la página Recurso de la página
RPC Interfaz de la página Interfaz de la página
C++ PagesClient No disponible
C# PagesClient No disponible
Go PagesClient No disponible
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP No disponible No disponible
Python PagesClient PagesClient
Ruby No disponible No disponible

Java

Para autenticarte en Dialogflow, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import com.google.cloud.dialogflow.cx.v3.DeletePageRequest;
import com.google.cloud.dialogflow.cx.v3.DeletePageRequest.Builder;
import com.google.cloud.dialogflow.cx.v3.PagesClient;
import java.io.IOException;

public class DeletePage {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project-id";
    String agentId = "my-agent-id";
    String flowId = "my-flow-id";
    String pageId = "my-page-id";
    String location = "my-location";

    deletePage(projectId, agentId, flowId, pageId, location);
  }

  // DialogFlow API Delete Page Sample.
  // Deletes a page from the provided parameters
  public static void deletePage(
      String projectId, String agentId, String flowId, String pageId, String location)
      throws IOException {

    // Note: close() needs to be called on the PagesClient object to clean up resources
    // such as threads. In the example below, try-with-resources is used,
    // which automatically calls close().
    try (PagesClient client = PagesClient.create()) {
      Builder deleteRequestBuilder = DeletePageRequest.newBuilder();

      deleteRequestBuilder.setName(
          "projects/"
              + projectId
              + "/locations/"
              + location
              + "/agents/"
              + agentId
              + "/flows/"
              + flowId
              + "/pages/"
              + pageId);

      // Make API request to delete page
      client.deletePage(deleteRequestBuilder.build());
      System.out.println("Successfully deleted page!");
    }
  }

Node.js

Para autenticarte en Dialogflow, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

async function deletePage(projectId, agentId, flowId, pageId, location) {
  const pagesClient = new PagesClient();

  const req = {
    name: `projects/${projectId}/locations/${location}/agents/${agentId}/flows/${flowId}/pages/${pageId}`,
  };

  const response = await pagesClient.deletePage(req);
  console.log(response);
}

Python

Para autenticarte en Dialogflow, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

async def delete_page(project_id, agent_id, flow_id, page_id, location):
    pages_client = PagesAsyncClient()

    request = DeletePageRequest()
    request.name = f"projects/{project_id}/locations/{location}/agents/{agent_id}/flows/{flow_id}/pages/{page_id}"

    response = await pages_client.delete_page(request=request)
    return response