Recruit API Reference
A Recruit API é uma REST API que permite acesso programático a todas as funcionalidades da plataforma Eu Nerd: recrutamento, CRM, ticketing, contratos, financeiro, conteúdo e mais. Projetada para integrações com agentes de IA, automações e sistemas externos.
Ctrl+K para buscar rapidamente por endpoints, campos ou palavras-chave.
Base URL
https://wzcftlekhxlsavsjgfhb.supabase.co/functions/v1/openclaw-api
Todas as requisições devem usar HTTPS. HTTP não é suportado.
Recursos Disponíveis (21)
Referência rápida de todos os recursos e métodos HTTP suportados:
| Recurso | Métodos | Descrição |
|---|---|---|
candidates | GET POST PATCH | Banco de talentos (técnicos de TI) |
vacancies | GET POST PATCH | Vagas de emprego |
vacancy-applications | GET | Candidaturas por vaga |
vacancy-requests | GET POST PATCH | Solicitações de vaga (clientes) |
allocations | GET | Alocações de técnicos |
scheduling | GET POST | Links de agendamento |
companies | GET POST PATCH | Empresas clientes B2B |
deal-pipelines | GET | Pipelines de vendas CRM |
deals | GET POST PATCH | Oportunidades comerciais |
deal-activities | GET POST | Atividades do CRM |
proposals | GET POST PATCH | Propostas comerciais |
service-orders | GET POST PATCH | Ordens de serviço de campo |
tickets | GET POST PATCH | Helpdesk / chamados |
leads | GET | Leads (formulários, diagnóstico, CRM) |
contracts | GET | Contratos digitais |
document-signatures | GET POST | Assinatura digital |
invoice-batches | GET POST | Lotes de pagamento |
employee-invoices | GET PATCH | Faturas de colaboradores |
provider-invoices | GET PATCH | Faturas de prestadores |
employees | GET POST | Colaboradores |
whatsapp | POST | Mensagens WhatsApp |
articles | GET POST PATCH DEL | Blog / Knowledge Base |
metrics | GET | Métricas da plataforma |
Authentication
Autentique suas requisições incluindo o header Authorization com o valor Bearer {RECRUIT_API_KEY}.
curl -H "Authorization: Bearer ocl_sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
https://wzcftlekhxlsavsjgfhb.supabase.co/functions/v1/openclaw-api/candidates
| Header | Valor | Obrigatório |
|---|---|---|
Authorization | Bearer {RECRUIT_API_KEY} | Sim |
Content-Type | application/json | Para POST/PATCH |
Pagination & Search
Todos os endpoints de listagem suportam paginação via query parameters:
| Parâmetro | Tipo | Default | Descrição |
|---|---|---|---|
limit | integer | 50 | Registros por página (máx: 500) |
offset | integer | 0 | Posição inicial |
search | string | — | Busca textual nos campos relevantes do recurso |
Exemplo de resposta paginada
{
"data": [...],
"total": 342,
"limit": 50,
"offset": 0
}
Para navegar páginas, incremente o offset pelo valor de limit:
# Página 1
GET /candidates?limit=50&offset=0
# Página 2
GET /candidates?limit=50&offset=50
# Página 3
GET /candidates?limit=50&offset=100
Rate Limits
A API implementa dois tipos de limitação:
| Tipo | Limite | Janela | Código |
|---|---|---|---|
| Requisições | 200 requests | 1 minuto | 429 |
| Volume de dados | 5.000 registros | 1 hora | 429 |
Ao exceder o limite, a API retorna 429 Too Many Requests. Implemente exponential backoff para lidar com limites temporários.
Error Handling
A API usa códigos HTTP padrão. Respostas de erro incluem um campo error com descrição legível:
{
"error": "Candidate not found"
}
| Código | Significado |
|---|---|
200 | Sucesso |
201 | Recurso criado com sucesso |
400 | Parâmetros inválidos ou campos obrigatórios ausentes |
401 | API key ausente ou inválida |
404 | Recurso não encontrado |
405 | Método HTTP não suportado para este recurso |
409 | Conflito (ex: slug duplicado) |
429 | Rate limit excedido |
500 | Erro interno do servidor |
Candidates
Gerencie o banco de talentos de técnicos de TI. Candidatos possuem geolocalização, certificações, perfil técnico e podem ser movidos por etapas de recrutamento (triagem → entrevista → proposta → contratado → arquivado).
List candidates
| Parâmetro | Tipo | Descrição |
|---|---|---|
etapa | string | Filtrar por etapa: triagem, entrevista, proposta, contratado, arquivado |
cidade | string | Filtrar por cidade (busca parcial) |
search | string | Busca por nome, email ou cidade |
curl -H "Authorization: Bearer $KEY" \
"$BASE/candidates?etapa=contratado&cidade=São Paulo&limit=10"
Response example
{
"data": [
{
"id": "uuid",
"nome": "João Silva",
"email": "joao@email.com",
"telefone": "11999999999",
"cidade": "São Paulo",
"estado": "SP",
"nivel_senioridade": "pleno",
"etapa": "contratado",
"status": "adequado",
"cnpj": "12.345.678/0001-90",
"created_at": "2024-01-15T10:00:00Z",
"total_jobs_completed": 42
}
],
"total": 1,
"limit": 10,
"offset": 0
}
Get candidate
Retorna dados detalhados incluindo perfil técnico, categorias de trabalho e disponibilidade.
Create candidate
| Campo | Tipo | Descrição | |
|---|---|---|---|
nome | string | obrigatório | Nome completo |
email | string | obrigatório | |
telefone | string | obrigatório | Telefone com DDD |
cidade | string | obrigatório | Cidade |
estado | string | obrigatório | UF (2 letras) |
certificacoes | string[] | opcional | Lista de certificações |
nivel_senioridade | string | opcional | junior, pleno, senior |
nivel_ingles | string | opcional | basico, intermediario, avancado, fluente |
observacoes | string | opcional | Notas internas |
curl -X POST -H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{
"nome": "Maria Souza",
"email": "maria@email.com",
"telefone": "21988887777",
"cidade": "Rio de Janeiro",
"estado": "RJ",
"nivel_senioridade": "pleno",
"certificacoes": ["ITIL", "Azure"]
}' "$BASE/candidates"
Update candidate
Campos atualizáveis: nome, email, telefone, cidade, estado, bairro, etapa, status, certificacoes, nivel_senioridade, nivel_ingles, observacoes, cnpj, cpf, disponibilidade_inicio, service_radius_km.
curl -X PATCH -H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"etapa": "entrevista", "status": "adequado"}' \
"$BASE/candidates/{id}"
Vacancies
Gerencie vagas de emprego com suporte a publicação multi-canal.
List vacancies
Filtros: status (open, closed, draft), search (título, cliente).
Get vacancy
Create vacancy
| Campo | Tipo | Descrição | |
|---|---|---|---|
title | string | obrigatório | Título da vaga |
client_name | string | opcional | Empresa contratante |
description | string | opcional | Descrição da vaga |
location | string | opcional | Localização |
work_mode | string | opcional | presencial, remoto, hibrido |
contract_type | string | opcional | pj, clt, freelancer |
job_area | string | opcional | Área de atuação |
salary_range_min | number | opcional | Salário mínimo |
salary_range_max | number | opcional | Salário máximo |
Update vacancy
Campos atualizáveis: title, description, client_name, location, status, work_mode, contract_type, job_area, requirements, salary_range_min, salary_range_max, published_at.
Vacancy Applications
Lista as candidaturas de uma vaga específica, incluindo dados do candidato.
Filtros: status (new, reviewed, shortlisted, rejected).
curl -H "Authorization: Bearer $KEY" \
"$BASE/vacancy-applications/{vacancy_id}?status=new"
Response example
{
"vacancy": { "id": "uuid", "title": "Técnico de Redes" },
"data": [
{
"id": "uuid",
"candidate_id": "uuid",
"candidate_name": "João Silva",
"candidate_email": "joao@email.com",
"candidate_phone": "11999999999",
"candidate_city": "São Paulo",
"candidate_state": "SP",
"form_answers": {},
"status": "new",
"created_at": "2024-01-15T10:00:00Z"
}
],
"total": 1, "limit": 50, "offset": 0
}
Vacancy Requests
Solicitações de vagas enviadas por clientes através do portal. Podem ser aprovadas e convertidas em vagas.
List vacancy requests
Filtros: status (pending, approved, rejected), client_name.
Get vacancy request
Create vacancy request
| Campo | Tipo | Descrição | |
|---|---|---|---|
client_name | string | obrigatório | Nome do cliente |
client_user_id | uuid | obrigatório | ID do usuário do cliente |
job_title | string | opcional | Título do cargo |
job_description | string | opcional | Descrição do cargo |
request_type | string | opcional | outsourcing (default), field_service |
positions_count | integer | opcional | Número de posições (default: 1) |
work_mode | string | opcional | Modo de trabalho |
Update vacancy request
Campos atualizáveis: status, admin_notes, reviewed_by, reviewed_at, converted_vacancy_id, job_title, job_description, work_mode, contract_type, positions_count.
approved, o campo reviewed_at é preenchido automaticamente.
Allocations
Alocações ativas de técnicos em clientes. Inclui dados de billing e período.
List allocations
Get allocation
Retorna dados da alocação incluindo o candidato associado (nome, email, cidade, estado).
Scheduling
Gerencie links de agendamento de entrevistas para candidatos.
List scheduling links
Filtros: candidate_id, vacancy_id.
Create scheduling link
| Campo | Tipo | Descrição | |
|---|---|---|---|
candidate_id | uuid | obrigatório | ID do candidato |
created_by | uuid | obrigatório | ID do usuário criador |
vacancy_id | uuid | opcional | Vaga associada |
curl -X POST -H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"candidate_id":"uuid","created_by":"uuid"}' \
"$BASE/scheduling"
Response example
{
"data": {
"id": "uuid",
"candidate_id": "uuid",
"vacancy_id": null,
"token": "uuid-token",
"expires_at": "2024-01-22T10:00:00Z",
"created_at": "2024-01-15T10:00:00Z",
"scheduling_url": "https://encontreumnerd.com.br/agendar/uuid-token"
}
}
Companies
Gerencie empresas clientes B2B.
List companies
Get company
Create company
| Campo | Tipo | |
|---|---|---|
name | string | obrigatório |
cnpj | string | opcional |
email | string | opcional |
phone | string | opcional |
city | string | opcional |
state | string | opcional |
segment | string | opcional |
Update company
Campos: name, cnpj, email, phone, city, state, segment, is_active, contract_type, monthly_value, status.
Deal Pipelines
Lista os pipelines de vendas ativos com seus estágios configurados.
curl -H "Authorization: Bearer $KEY" "$BASE/deal-pipelines"
Deals
Gerencie oportunidades comerciais no CRM. Mudanças de estágio são automaticamente registradas como atividades.
List deals
Filtros: pipeline_id, stage, search.
Get deal
Inclui company_name resolvido da tabela de empresas.
Create deal
| Campo | Tipo | Descrição | |
|---|---|---|---|
pipeline_id | uuid | obrigatório | Pipeline de destino |
company_name | string | opcional | Empresa (resolve company_id automaticamente) |
contact_name | string | opcional | Nome do contato |
contact_email | string | opcional | Email do contato |
contact_phone | string | opcional | Telefone do contato |
description | string | opcional | Descrição (salvo em notes) |
stage | string | opcional | Estágio inicial (default: lead) |
Update deal
Campos: stage, value, priority, contact_name, contact_email, contact_phone, notes, owner_id.
stage, uma atividade é registrada automaticamente em deal_activities com tipo stage_change.
curl -X PATCH -H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"stage": "proposta", "value": 5000}' \
"$BASE/deals/{id}"
Deal Activities
Histórico de atividades de um deal: notas, mudanças de estágio, emails, etc.
List activities
Filtros: deal_id obrigatório, type (note, stage_change, email, call, meeting).
Create activity
| Campo | Tipo | |
|---|---|---|
deal_id | uuid | obrigatório |
type | string | obrigatório |
content | string | obrigatório |
metadata | object | opcional |
Proposals
Propostas comerciais com workflow de envio, tracking de visualização e aceitação via link público.
List proposals
Filtros: status (rascunho, ativa, aceita, expirada), client_name (busca parcial), proposal_type, search (título ou cliente).
Retorna: id, title, slug, client_name, proposal_type, status, sent_at, accepted_at, expires_at, created_at.
Get proposal
Retorna TODOS os campos incluindo content (seções), metadata, signing_token, original_content, client_logo_url, source_file_url, vacancy_request_id, created_by, accepted_by.
Get proposal tracking
Retorna dados de tracking: signing_token (para URL pública /proposta/{token}), sent_at, accepted_at, accepted_by, expires_at, metadata.
Create proposal
Cria proposta em status rascunho. Auto-gera slug e signing_token (UUID).
| Campo | Tipo | Descrição | |
|---|---|---|---|
title | string | obrigatório | Título da proposta |
client_name | string | obrigatório | Nome da empresa/cliente |
proposal_type | string | opcional | custom, field_service, outsourcing, projeto (default: custom) |
recipient_name | string | opcional | Nome do destinatário |
recipient_email | string | opcional | Email do destinatário |
content | object | opcional | { sections: [{ title, html, order }] } |
metadata | object | opcional | Investimento, escopo, brief answers, dados livres |
expires_at | string (ISO) | opcional | Data de expiração |
slug | string | opcional | Slug customizado (auto-gerado se omitido) |
Update proposal
Campos permitidos: status, title, client_name, content, metadata, expires_at, recipient_name, recipient_email, proposal_type, client_logo_url, source_file_url.
ativa, o campo sent_at é preenchido automaticamente. Ao mudar para aceita, o campo accepted_at é preenchido. Ciclo: rascunho → ativa → aceita/expirada.
content segue o formato { sections: [{ title: string, html: string, order: number }] }. Cada seção é um bloco visual da proposta (ex: Escopo, Investimento, Cronograma).
/proposta/{signing_token}. O signing_token é retornado no POST de criação e no GET de tracking.
Service Orders
Ordens de serviço de campo (OS). Códigos auto-gerados no formato OS-YYYY-XXXXX.
List service orders
Get service order
Create service order
| Campo | Tipo | |
|---|---|---|
company_name | string | obrigatório |
description | string | obrigatório |
category | string | opcional |
priority | string | opcional (default: medium) |
scheduled_date | string | opcional |
candidate_id | uuid | opcional |
contact_name | string | opcional |
contact_phone | string | opcional |
city | string | opcional |
state | string | opcional |
address | string | opcional |
Update service order
Campos: status, priority, category, candidate_id, scheduled_date, completion_notes, rating, description.
completed, o campo completed_at é preenchido.
Tickets
Sistema de helpdesk. Tickets são auto-numerados no formato TK-YYYYMMDD-XXXX.
List tickets
Filtros: status (open, in_progress, resolved, closed).
Get ticket
Inclui client_ticket_messages associadas.
Create ticket
| Campo | Tipo | |
|---|---|---|
subject | string | obrigatório |
sender_email | string | obrigatório |
client_name | string | opcional |
category | string | opcional |
priority | string | opcional (default: medium) |
sender_name | string | opcional |
Update ticket
Campos: status, priority, category, assigned_to, resolution_notes.
resolved ou closed, o campo resolved_at é preenchido automaticamente.
Leads
Leads originados de formulários de diagnóstico, formulários de contato, website e deals de CRM. Subset filtrado da tabela client_tickets por source.
List leads
Filtros: status, source (diagnostic-form, diagnostic-form-partial, contact-form, website, crm-deal).
Busca: sender_email, sender_name, subject, client_name.
Get lead
Retorna registro completo incluindo parsed_data com:
| Campo (parsed_data) | Tipo | Descrição |
|---|---|---|
score | number | Score de maturidade (0-100) |
maturityLevel | string | Nível de maturidade (baixo, médio, alto) |
cnpj | string | CNPJ da empresa |
telefone | string | Telefone de contato |
company | string | Nome da empresa |
recommendations | string[] | Recomendações da análise |
recommendedModules | string[] | Módulos recomendados |
wizardAnswers | object | Respostas do formulário de diagnóstico |
Contracts
Contratos digitais com assinaturas. Somente leitura via API.
List contracts
List contracts
Cada contrato inclui um objeto candidate com id, nome e curriculo_url.
Get contract
Inclui contract_signatures associadas e um objeto candidate com id, nome, email, telefone, curriculo_url e curriculo_mime_type.
Document Signatures
Crie e gerencie solicitações de assinatura digital de documentos. Suporta upload de URLs externas, envio de emails automático e download de documentos assinados.
List signature requests
Filtros: status (sent, partially_signed, completed, cancelled).
Get signature request
Inclui todos os document_signature_recipients.
Get signature status
Resumo: total, assinados, pendentes. Inclui signing_url para pendentes.
Download document
Query: format=url (default, retorna signed URL válida por 1h) ou format=binary (retorna o PDF).
Create signature request
| Campo | Tipo | Descrição | |
|---|---|---|---|
title | string | obrigatório | Título do documento |
file_url | string | obrigatório | URL do arquivo (PDF). URLs externas são baixadas automaticamente. |
file_name | string | obrigatório | Nome do arquivo |
recipients | array | obrigatório | Lista de signatários com name e email |
message | string | opcional | Mensagem no email de assinatura |
file_type | string | opcional | MIME type (default: application/pdf) |
created_by | uuid | opcional | UUID do criador (fallback: master_admin) |
curl -X POST -H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Contrato de Prestação",
"file_url": "https://example.com/contrato.pdf",
"file_name": "contrato-prestacao.pdf",
"recipients": [
{ "name": "João Silva", "email": "joao@email.com" },
{ "name": "Maria Souza", "email": "maria@email.com" }
],
"message": "Por favor assine o contrato anexo."
}' "$BASE/document-signatures"
Resend signing email
Reenvia email de assinatura para destinatários pendentes. Opcionalmente passe recipient_id para reenviar apenas para um.
Cancel signature request
Cancela a solicitação e todos os destinatários pendentes.
Invoice Batches
Lotes de pagamento de colaboradores via Transfeera (PIX/TED). O fluxo é: criar batch → processar (cria transferências) → fechar (executa pagamentos).
List batches
Filtros: status. Resposta enriquecida com estatísticas de faturas.
Get batch detail
Inclui faturas, transações de pagamento e estatísticas agregadas.
Check payment status
Retorna status de cada transação Transfeera com resumo (pending, processing, completed, failed, returned).
Process batch
Cria transferências na Transfeera para todas as faturas aprovadas. Inclui anti-duplicação, split automático de valores acima de R$15.000 e resolução de chaves PIX.
Close batch
Fecha o lote na Transfeera, disparando os pagamentos efetivos.
Employee Invoices
Faturas individuais de colaboradores dentro de um batch de pagamento.
List invoices
Filtros: status, batch_id, employee_id.
Get invoice
Inclui dados do colaborador (nome, email, cnpj, cargo, departamento).
Update invoice
Campos: status, paid_at, notes, final_value, rejection_reason.
paid, o campo paid_at é preenchido automaticamente.
curl -X PATCH -H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"status":"paid","notes":"Pago via Omie"}' \
"$BASE/employee-invoices/{id}"
Provider Invoices
Notas fiscais de prestadores de serviço (candidatos contratados).
List provider invoices
Filtros: status, candidate_id.
Get provider invoice
Inclui dados do candidato (nome, email, cnpj).
Update provider invoice
Campos: status, notes, rejection_reason, estimated_payment_date, paid_at.
approved, preenche reviewed_at. Ao mudar para paid, preenche paid_at.
Employees
Cadastro e consulta de colaboradores internos.
List employees
Filtros: status, departamento, tipo_contrato, search (nome, email, cargo).
Get employee
Retorna todos os campos do colaborador incluindo dados bancarios.
Create employee
| Campo | Tipo | Descricao | |
|---|---|---|---|
nome | string | obrigatorio | Nome completo |
email | string | obrigatorio | E-mail do colaborador |
cargo | string | opcional | Cargo (default: Colaborador) |
departamento | string | opcional | Departamento (default: Geral) |
tipo_contrato | string | opcional | pj | clt | estagio (default: pj) |
data_admissao | date | opcional | Data de admissao (default: hoje) |
telefone | string | opcional | Telefone |
cpf | string | opcional | CPF |
cnpj | string | opcional | CNPJ (PJ) |
cidade | string | opcional | Cidade |
estado | string | opcional | Estado (UF) |
salario | number | opcional | Salario/valor mensal |
pix_key | string | opcional | Chave PIX |
banco | string | opcional | Banco |
agencia | string | opcional | Agencia |
conta | string | opcional | Conta |
curl -X POST -H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{
"nome": "Maria Silva",
"email": "maria@empresa.com",
"cargo": "Analista de TI",
"departamento": "Tecnologia",
"tipo_contrato": "pj"
}' "$BASE/employees"
Response example
{
"data": {
"id": "uuid",
"nome": "Maria Silva",
"email": "maria@empresa.com",
"cargo": "Analista de TI",
"departamento": "Tecnologia",
"tipo_contrato": "pj",
"status": "ativo",
"data_admissao": "2026-03-19",
"created_at": "2026-03-19T14:00:00Z"
}
}
cargo=Colaborador, departamento=Geral, tipo_contrato=pj quando nao informados.
Envie mensagens via Meta Cloud API usando templates aprovados.
| Campo | Tipo | Descrição | |
|---|---|---|---|
template_id | uuid | obrigatório | ID do template WhatsApp |
phone | string | obrigatório | Telefone (aceita formatos variados: +55, DDD+9, etc.) |
variables | object | opcional | Variáveis do template. Chaves devem corresponder ao variables_schema do template. |
curl -X POST -H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{
"template_id": "uuid",
"phone": "11999999999",
"variables": { "nome": "João", "empresa": "ACME" }
}' "$BASE/whatsapp"
Response example
{
"success": true,
"meta_status": 200,
"wamid": "wamid.xxxxx",
"provider_response": { ... }
}
Articles
CRUD completo para o blog/knowledge base. Suporta lookup por UUID ou slug. Auto-geração de slug e preenchimento de campos SEO.
List articles
Filtros: status (draft, published, archived), category.
Get article
Aceita UUID ou slug como identificador.
Create article
| Campo | Tipo | Descrição | |
|---|---|---|---|
title | string | obrigatório | Título do artigo |
slug | string | auto | Slug URL (auto-gerado se omitido) |
content_html | string | opcional | Conteúdo HTML |
content_markdown | string | opcional | Conteúdo Markdown |
category | string | opcional | Categoria |
status | string | opcional | draft (default), published, archived |
tags | string[] | opcional | Tags do artigo |
meta_title | string | opcional | Meta título SEO |
meta_description | string | opcional | Meta descrição SEO |
featured_image_url | string | opcional | URL da imagem de capa |
excerpt | string | opcional | Resumo |
author_name | string | opcional | Nome do autor |
schema_markup | object | opcional | JSON-LD structured data |
status: "published", o published_at é preenchido automaticamente. Slugs duplicados retornam 409 Conflict.
Update article
Aceita UUID ou slug. Todos os campos do POST são atualizáveis.
Delete article
Remove permanentemente o artigo.
Metrics
Métricas agregadas da plataforma em tempo real.
Response example
{
"candidates": {
"total": 3200,
"triagem": 450,
"entrevista": 89,
"proposta": 23,
"contratado": 1800,
"arquivado": 838,
"withCnpj": 1200,
"profileComplete": 950
},
"total_vacancies": 45,
"open_tickets": 12,
"active_service_orders": 8
}
Payables (Contas a Pagar)
Gerenciamento de contas a pagar com filtros por status, período e busca.
Returns detail with joined category, company, and bank_account.
Create payable
{
"description": "Aluguel escritório",
"amount": 5000.00,
"due_date": "2026-05-10",
"category_id": "uuid",
"company_id": "uuid",
"notes": "Contrato mensal"
}
Update payable
Allowed: description, amount, due_date, status, paid_date, paid_amount, notes, category_id, bank_account_id.
Receivables (Contas a Receber)
Gerenciamento de contas a receber com filtros por status, período e busca.
Detail with joined category, company, and bank_account.
Create receivable
Update receivable
Allowed: description, amount, due_date, status, received_date, received_amount, notes, category_id, bank_account_id.
Cashflow (Fluxo de Caixa)
Projeção diária do fluxo de caixa com saldos brutos e ajustados.
Response example
{
"totals": {
"total_payables_pending": 125000,
"total_payables_overdue": 8500,
"total_receivables_pending": 340000,
"total_receivables_overdue": 15000
},
"daily": [
{
"date": "2026-04-14",
"payables_due": 5000,
"payables_paid": 5000,
"receivables_due": 12000,
"receivables_received": 0,
"receivables_adjusted": 11040,
"balance": 7000,
"balance_adjusted": 6040
}
],
"settings": {
"default_rate": 0.03,
"variable_cost_pct": 0.05
}
}
Finance Settings
Configurações financeiras globais para projeções de caixa.
Allowed: default_default_rate, default_variable_cost_pct, payout_batch_day, horizon_days.
Recurring Rules (Regras Recorrentes)
Regras para geração automática de contas a pagar/receber recorrentes.
Required: type, description, amount, recurrence, start_date.
Categories (Categorias Financeiras)
Categorias para classificação de contas a pagar e receber. Suporta upsert via omie_code.
{
"name": "Infraestrutura",
"type": "payable",
"omie_code": "1.01.03",
"is_active": true
}
Bank Accounts (Contas Bancárias)
Consulta de contas bancárias com saldo atual e dados de identificação.
Interview Bookings
Gerenciamento de agendamentos de entrevista com suporte a marcação de conduzida e avaliação.
Detail with joined slot, candidate, and vacancy data.
Update booking
{
"conducted": true,
"conduct_notes": "Candidato demonstrou boa experiência",
"conduct_rating": 4
}
Google Drive
Operações de pasta e upload no Google Drive. Três ações disponíveis via sub-recurso.
Resolve folder
{
"clientName": "Acme Corp",
"parentFolderId": "1abc..."
}
Upload files
Max 10 files, 10MB each. Content must be base64-encoded.
Save (resolve + upload)
{
"clientName": "Acme Corp",
"parentFolderId": "1abc...",
"files": [{ "name": "proposta.pdf", "mimeType": "application/pdf", "content": "base64..." }],
"overwrite": true,
"dealId": "uuid",
"generatedBy": "crm-agent"
}