Nesta página

Visão geral da API

Como fazer chamadas de API para a ProcessMind

Este guia apresenta exemplos e boas práticas para chamar a API da ProcessMind, recuperar dados, enviar informações ou automatizar fluxos de trabalho.

Para consultar a documentação completa dos endpoints, com formatos de requisição e resposta, veja a Referência da API.

Para ver mais exemplos e bibliotecas de cliente, acesse a Documentação da API no GitHub.

URL base da API

Todas as requisições à API devem ser feitas para:

https://api.processmind.com

Todas as rotas são versionadas em /v1. A especificação completa da API em formato legível por máquina, OpenAPI 3.1, está disponível em:

GET https://api.processmind.com/v1/openapi.json

Autenticação

Todas as requisições à API exigem sua chave de API no cabeçalho x-api-key:

x-api-key: your-api-key-here

A chave de API pode ser obtida nas configurações da sua conta ProcessMind. Consulte Como obter sua chave de API para ver as instruções.

Códigos de status

A API da ProcessMind segue os códigos de status HTTP padrão:

Status Significado
200 OK Requisição concluída com sucesso
201 Created Recurso criado
204 No Content Requisição concluída com sucesso, sem corpo de resposta
400 Bad Request Requisição inválida ou parâmetros ausentes ou inválidos
401 Unauthorized Chave de API ausente ou inválida
403 Forbidden Autenticado, mas sem permissão para executar a ação
404 Not Found O recurso não existe
500 Internal Server Error Erro inesperado do servidor

Conceitos principais

  • apiKey: seu token de autenticação para todas as requisições à API.
  • tenantId: identifica o contexto do seu espaço de trabalho ou organização. Está disponível nas configurações da sua conta.
  • datatableId: identifica uma tabela de dados específica para operações com dados. Está disponível na opção Obter ID da tabela de dados, no menu de configurações do conjunto de dados dentro da ProcessMind.

O que você pode fazer

A API da ProcessMind permite que você:

  • Gerencie ambientes: recupere informações do ambiente, atualize configurações e veja estatísticas
  • Gerencie usuários: adicione, atualize ou remova usuários de ambientes e organizações
  • Gerencie processos: crie processos, carregue modelos BPMN e organize-os em pastas
  • Conecte dados: mapeie tabelas de dados para processos para análise
  • Carregue dados: carregue arquivos CSV/XLSX diretamente nas tabelas de dados
  • Gerencie conjuntos de dados: liste, inspecione e exclua conjuntos de dados e tabelas de dados

Exemplos comuns

A seguir, veja exemplos práticos de como executar operações comuns com a API da ProcessMind.

Obtendo uma URL de carregamento pré-assinada

Para carregar um arquivo em uma tabela de dados, primeiro obtenha uma URL pré-assinada:

const presignedUrl = await getPresignedUploadUrl({
	apiKey,
	tenantId: "tenant-123",
	datatableId: "table-456"
});
console.log(presignedUrl); // https://s3.amazonaws.com/…?X-Amz-Signature=…

Listando conjuntos de dados

Recupere todos os conjuntos de dados do seu ambiente:

const datasets = await getDatasets({
	apiKey,
	tenantId: "tenant-123"
});
console.log(datasets);

Obtendo informações do ambiente

Recupere os detalhes do seu ambiente:

const tenantInfo = await getTenant({
	apiKey,
	tenantId: "tenant-123"
});
console.log(tenantInfo);

Criando um processo

Crie um novo processo no seu ambiente:

const process = await createProcess({
	apiKey,
	tenantId: "tenant-123",
	displayName: "Order to Cash"
});
console.log(process.id); // Use this ID for subsequent operations

Carregando um modelo BPMN

Carregue um arquivo BPMN para definir seu modelo de processo:

const fs = require("fs");
const bpmnXml = fs.readFileSync("./my-process.bpmn", "utf8");

await uploadBpmn({
	apiKey,
	tenantId: "tenant-123",
	processId: "process-456",
	bpmnXml
});

Mapeando dados para um processo

Conecte uma tabela de dados a um processo para análise:

const mapping = await createProcessMapping({
	apiKey,
	tenantId: "tenant-123",
	processId: "process-456",
	dataTableId: "datatable-789",
	displayName: "Sales Data 2024",
	showByDefault: true
});

Adicionando um usuário a um ambiente

Adicione um usuário ao seu ambiente:

const result = await addTenantUser({
	apiKey,
	tenantId: "tenant-123",
	id: "user-456",
	email: "colleague@example.com",
	isAdminInTenant: false,
	isActiveInTenant: true,
	sendInvitationEmail: true
});

Observação: Os campos de função no corpo (isAdminInTenant, access, isDashboardViewer) são considerados exatamente como enviados. Os endpoints de gerenciamento de usuários oferecem uma superfície completa de administração do ambiente, portanto emita chaves de API com escopo de gravação somente para pessoas em quem você confia para exercer controle administrativo. A System API não envia e-mail de convite; você é responsável por integrar o usuário.

Carregando arquivos

O fluxo geral para carregar um arquivo na ProcessMind é:

  1. Obtenha uma URL pré-assinada usando a chamada getPresignedUploadUrl.
  2. Faça uma requisição PUT para essa URL com o conteúdo do arquivo.
  3. A URL pré-assinada autoriza o carregamento diretamente no armazenamento em nuvem; não são necessárias credenciais adicionais.

Veja um exemplo simplificado usando fetch:

async function uploadFile({ apiKey, tenantId, datatableId, file }) {
	// Step 1: Obtain a presigned URL
	const uploadUrl = await getPresignedUploadUrl({ apiKey, tenantId, datatableId });
	
	// Step 2: Upload the file via PUT
	await fetch(uploadUrl, {
		method: "PUT",
		headers: {
			"Content-Type": file.type
		},
		body: file
	});
}

info

  • As URLs pré-assinadas expiram depois de um período definido, geralmente alguns minutos. Use a URL logo depois de obtê-la.
  • Se um carregamento falhar, por exemplo, por uma interrupção de rede, solicite uma nova URL pré-assinada antes de tentar novamente.
  • Mantenha sempre sua apiKey segura e não a exponha no lado do cliente, por exemplo, em um front-end público.

Exemplos completos

A seguir, veja exemplos completos, prontos para copiar e colar, em diferentes linguagens.

Exemplo em Bash: carregando um arquivo

Script Bash mínimo para carregar um arquivo na ProcessMind usando duas chamadas curl, com placeholders para todos os valores

Baixar exemplo em BASH

Exemplo em Node.js: carregando um arquivo CSV local

Carrega um arquivo CSV local na ProcessMind usando uma URL pré-assinada.

Etapas:

  1. Obtenha uma URL de carregamento pré-assinada da API.
  2. Leia o arquivo local do disco.
  3. Carregue o arquivo na URL pré-assinada usando HTTP PUT.

Configuração:

  • Informe sua chave de API, tenantId, datatableId e filePath ao chamar uploadFile().
  • A URL base da API está definida como https://api.processmind.com
Baixar exemplo em NodeJS

Exemplo em Python: carregando um arquivo CSV local

Carrega um arquivo CSV local em uma API remota usando uma URL pré-assinada.

Etapas:

  1. Obtenha uma URL de carregamento pré-assinada da API.
  2. Leia o arquivo local do disco.
  3. Carregue o arquivo na URL pré-assinada usando HTTP PUT.

Configuração:

  • Atualize api_key, tenant_id, datatable_id e file_path conforme necessário.
Baixar exemplo em Python

Paginação

Os endpoints de listagem aceitam os parâmetros de consulta limit e offset e retornam um array JSON simples, sem envelope e sem contagem total:

Parâmetro Tipo Padrão Máximo
limit inteiro 100 1.000
offset inteiro 0 Nenhum
GET /v1/tenant/{tenantId}/processes?limit=50&offset=100

Para paginar todos os resultados, continue fazendo requisições com offset += limit até que o array de resposta seja menor que o limit solicitado ou esteja vazio. Valores acima do máximo são rejeitados com 400. Os endpoints de dados versionados, conjuntos de dados, tabelas de dados, versões e webhooks, seguem a mesma convenção.

Versionamento e descontinuação

  • Todas as rotas são versionadas em /v1; mudanças incompatíveis são lançadas em uma nova versão em vez de alterar silenciosamente /v1.
  • As descontinuações são anunciadas no changelog e nesta página pelo menos 6 meses antes da remoção de uma rota, e as rotas descontinuadas continuam funcionando durante esse período.
  • As respostas das rotas descontinuadas incluem um cabeçalho Sunset com a data de remoção, e Deprecation: true.
  • As principais mudanças visíveis para o cliente são sempre listadas no changelog; assine as atualizações ou consulte a página novamente antes de atualizar clientes da API com versões fixadas.

Próximos passos

info

Se você tiver dúvidas ou precisar de ajuda com a API, entre em contato com a equipe de suporte ou abra uma issue no repositório de exemplos da API.