Faça a gestão de páginas com a API

Na maioria dos casos, usa a consola para gerir páginas. Em cenários avançados, pode querer usar a API para gerir páginas. Este guia descreve como criar, listar e eliminar páginas através da API.

Crie a página

Para criar uma página para o seu agente, chame o método create no tipo Page.

Selecione um protocolo e uma versão para a Referência da página:

Protocolo V3 V3beta1
REST Recurso de página Recurso de página
RPC Interface de página Interface de página
C++ PagesClient Não disponível
C# PagesClient Não disponível
Ir PagesClient Não disponível
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP Não disponível Não disponível
Python PagesClient PagesClient
Ruby Não disponível Não disponível

Java

Para se autenticar no Dialogflow, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento 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 se autenticar no Dialogflow, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento 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 se autenticar no Dialogflow, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento 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

Páginas de listas

Para listar as páginas do seu agente, chame o método list no tipo Page.

Selecione um protocolo e uma versão para a Referência da página:

Protocolo V3 V3beta1
REST Recurso de página Recurso de página
RPC Interface de página Interface de página
C++ PagesClient Não disponível
C# PagesClient Não disponível
Ir PagesClient Não disponível
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP Não disponível Não disponível
Python PagesClient PagesClient
Ruby Não disponível Não disponível

Java

Para se autenticar no Dialogflow, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento 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 se autenticar no Dialogflow, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento 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 se autenticar no Dialogflow, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento 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

Elimine páginas

Para eliminar uma página do seu agente, chame o método delete no tipo Page.

Selecione um protocolo e uma versão para a Referência da página:

Protocolo V3 V3beta1
REST Recurso de página Recurso de página
RPC Interface de página Interface de página
C++ PagesClient Não disponível
C# PagesClient Não disponível
Ir PagesClient Não disponível
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP Não disponível Não disponível
Python PagesClient PagesClient
Ruby Não disponível Não disponível

Java

Para se autenticar no Dialogflow, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento 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 se autenticar no Dialogflow, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento 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 se autenticar no Dialogflow, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento 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