Provider Configs
Gerencie configurações de provedores de IA para extração de dados.
Endpoints
| Método | Endpoint | Descrição |
|---|---|---|
POST | /api/v1/data-extraction/provider-configs | Criar configuração |
GET | /api/v1/data-extraction/provider-configs | Listar configurações |
GET | /api/v1/data-extraction/provider-configs/:id | Obter configuração |
PATCH | /api/v1/data-extraction/provider-configs/:id | Atualizar configuração |
DELETE | /api/v1/data-extraction/provider-configs/:id | Excluir configuração |
POST | /api/v1/data-extraction/provider-configs/:id/test | Testar conexão |
Criar Configuração
POST https://data-extraction.stg.catalisa.app/api/v1/data-extraction/provider-configs
Authorization: Bearer {token}
Content-Type: application/json
Request Body
{
"data": {
"type": "extraction-provider-config",
"attributes": {
"name": "OpenAI Produção",
"providerType": "OPENAI",
"credentials": {
"apiKey": "sk-..."
},
"isDefault": true,
"isActive": true,
"settings": {
"model": "gpt-4o",
"maxTokens": 4096,
"temperature": 0.1
}
}
}
}
Atributos
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Sim | Nome identificador da configuração |
providerType | enum | Sim | Tipo do provedor: OPENAI, ANTHROPIC, GOOGLE_GEMINI |
credentials | object | Sim | Credenciais do provedor (criptografadas) |
isDefault | boolean | Não | Se é o provedor padrão (default: false) |
isActive | boolean | Não | Se está ativo (default: true) |
settings | object | Não | Configurações adicionais do provedor |
Response (201 Created)
{
"data": {
"type": "extraction-provider-config",
"id": "550e8400-e29b-41d4-a716-446655440000",
"links": {
"self": "/api/v1/data-extraction/provider-configs/550e8400-e29b-41d4-a716-446655440000"
},
"attributes": {
"name": "OpenAI Produção",
"providerType": "OPENAI",
"isDefault": true,
"isActive": true,
"settings": {
"model": "gpt-4o",
"maxTokens": 4096,
"temperature": 0.1
},
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
}
}
Credenciais
As credenciais são criptografadas antes de serem armazenadas e nunca são retornadas nas respostas da API.
Configuração por Provedor
OpenAI
{
"providerType": "OPENAI",
"credentials": {
"apiKey": "sk-..."
},
"settings": {
"model": "gpt-4o",
"maxTokens": 4096,
"temperature": 0.1
}
}
| Modelo | Descrição | Uso Recomendado |
|---|---|---|
gpt-4o | Modelo mais recente e rápido | Documentos complexos, alta precisão |
gpt-4-turbo | Modelo turbo | Documentos complexos |
gpt-4o-mini | Modelo econômico | Documentos simples, alto volume |
Anthropic
{
"providerType": "ANTHROPIC",
"credentials": {
"apiKey": "sk-ant-..."
},
"settings": {
"model": "claude-3-5-sonnet-20241022",
"maxTokens": 4096
}
}
| Modelo | Descrição | Uso Recomendado |
|---|---|---|
claude-3-5-sonnet-20241022 | Sonnet 3.5 | Melhor custo-benefício |
claude-3-opus-20240229 | Opus 3 | Máxima precisão |
claude-3-haiku-20240307 | Haiku 3 | Alta velocidade, baixo custo |
Google Gemini
{
"providerType": "GOOGLE_GEMINI",
"credentials": {
"apiKey": "AIza..."
},
"settings": {
"model": "gemini-1.5-pro",
"maxOutputTokens": 4096
}
}
| Modelo | Descrição | Uso Recomendado |
|---|---|---|
gemini-1.5-pro | Pro 1.5 | Documentos complexos |
gemini-1.5-flash | Flash 1.5 | Alta velocidade |
Listar Configurações
GET https://data-extraction.stg.catalisa.app/api/v1/data-extraction/provider-configs
Authorization: Bearer {token}
Query Parameters
| Parâmetro | Tipo | Descrição |
|---|---|---|
page[number] | integer | Número da página (default: 1) |
page[size] | integer | Itens por página (default: 20, max: 100) |
Response (200 OK)
{
"links": {
"self": "/api/v1/data-extraction/provider-configs?page[number]=1&page[size]=20",
"first": "/api/v1/data-extraction/provider-configs?page[number]=1&page[size]=20",
"last": "/api/v1/data-extraction/provider-configs?page[number]=1&page[size]=20"
},
"meta": {
"totalItems": 2,
"totalPages": 1,
"currentPage": 1,
"pageSize": 20
},
"data": [
{
"type": "extraction-provider-config",
"id": "550e8400-e29b-41d4-a716-446655440000",
"attributes": {
"name": "OpenAI Produção",
"providerType": "OPENAI",
"isDefault": true,
"isActive": true,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
}
]
}
Testar Conexão
Testa a conectividade com o provedor usando as credenciais configuradas.
POST https://data-extraction.stg.catalisa.app/api/v1/data-extraction/provider-configs/:id/test
Authorization: Bearer {token}
Response (200 OK)
{
"success": true,
"message": "Connection successful"
}
Response (400 Bad Request)
{
"success": false,
"message": "Invalid API key"
}
Atualizar Configuração
PATCH https://data-extraction.stg.catalisa.app/api/v1/data-extraction/provider-configs/:id
Authorization: Bearer {token}
Content-Type: application/json
Request Body
{
"data": {
"type": "extraction-provider-config",
"attributes": {
"name": "OpenAI Produção v2",
"isDefault": true,
"settings": {
"model": "gpt-4o",
"maxTokens": 8192
}
}
}
}
Atualização de Credenciais
Para atualizar credenciais, inclua o campo credentials no request. Se não incluído, as credenciais existentes são mantidas.
Excluir Configuração
DELETE https://data-extraction.stg.catalisa.app/api/v1/data-extraction/provider-configs/:id
Authorization: Bearer {token}
Response (204 No Content)
Sem corpo de resposta.
Configuração em Uso
Não é possível excluir uma configuração que está sendo utilizada por extrações em andamento.
Erros Comuns
| Código | Erro | Descrição |
|---|---|---|
| 400 | VALIDATION_ERROR | Dados inválidos no request |
| 401 | UNAUTHORIZED | Token inválido ou expirado |
| 403 | FORBIDDEN | Sem permissão para a operação |
| 404 | NOT_FOUND | Configuração não encontrada |
| 409 | CONFLICT | Já existe uma configuração com este nome |