API Ferramentas Ninja

Integre nossas ferramentas de conversão e compactação em seus projetos. API REST simples, rápida e confiável para desenvolvedores.

Início Rápido

Comece em 5 minutos

Nossa API REST permite integrar facilmente as funcionalidades do Ferramentas Ninja em qualquer aplicação. Suporte a múltiplos formatos e processamento em lote.

  • RESTful API com JSON
  • Autenticação via API Key
  • Rate limiting inteligente
  • Webhooks para notificações

Exemplo de Requisição

curl -X POST "https://api.ferramentasninja.com/v1/convert" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F "file=@documento.pdf" \
  -F "to=jpg" \
  -F "quality=high"

Endpoints Principais

POST

/v1/convert

Converte arquivos entre diferentes formatos

Parâmetros:
  • file - Arquivo para conversão
  • to - Formato de destino
  • quality - Qualidade (opcional)
POST

/v1/compress

Compacta arquivos mantendo qualidade

Parâmetros:
  • file - Arquivo para compactação
  • level - Nível de compressão
  • preserve_quality - Manter qualidade
POST

/v1/merge

Une múltiplos arquivos PDF em um só

Parâmetros:
  • files[] - Array de arquivos PDF
  • order - Ordem dos arquivos
  • bookmarks - Criar marcadores
POST

/v1/split

Divide arquivos PDF em páginas

Parâmetros:
  • file - Arquivo PDF
  • pages - Páginas a extrair
  • ranges - Intervalos de páginas
POST

/v1/ocr

Extrai texto de imagens usando OCR

Parâmetros:
  • file - Imagem ou PDF
  • language - Idioma (pt, en, es)
  • format - Formato de saída
GET

/v1/status/{job_id}

Verifica status de processamento

Resposta:
  • status - pending, processing, completed
  • progress - Porcentagem (0-100)
  • download_url - URL de download

Autenticação

API Key

Use sua API Key no header Authorization de todas as requisições:

Authorization: Bearer YOUR_API_KEY

Para obter sua API Key gratuita, faça login e acesse o painel de desenvolvedor.

Limites de Uso

Plano Gratuito: 1000 requests/mês
Arquivo máximo: 50MB por request
Rate limit: 10 requests/minuto
Retenção: 5 minutos

Exemplos de Código

JavaScript / Node.js

// Conversão de PDF para JPG
const formData = new FormData();
formData.append('file', fileInput.files[0]);
formData.append('to', 'jpg');
formData.append('quality', 'high');

fetch('https://api.ferramentasninja.com/v1/convert', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  body: formData
})
.then(response => response.json())
.then(data => {
  console.log('Job ID:', data.job_id);
  // Verificar status periodicamente
  checkStatus(data.job_id);
});

Python

import requests

# Comprimir PDF
url = "https://api.ferramentasninja.com/v1/compress"
headers = {"Authorization": "Bearer YOUR_API_KEY"}

with open("documento.pdf", "rb") as file:
    files = {"file": file}
    data = {"level": "medium", "preserve_quality": "true"}
    
    response = requests.post(url, headers=headers, files=files, data=data)
    result = response.json()
    
    print(f"Job ID: {result['job_id']}")
    print(f"Status: {result['status']}")

PHP

<?php
// OCR de imagem
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://api.ferramentasninja.com/v1/ocr",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer YOUR_API_KEY"
    ],
    CURLOPT_POSTFIELDS => [
        'file' => new CURLFile('imagem.jpg'),
        'language' => 'pt',
        'format' => 'txt'
    ]
]);

$response = curl_exec($curl);
$result = json_decode($response, true);

echo "Job ID: " . $result['job_id'];
curl_close($curl);
?>

cURL

# Juntar múltiplos PDFs
curl -X POST "https://api.ferramentasninja.com/v1/merge" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "files[]=@arquivo1.pdf" \
  -F "files[]=@arquivo2.pdf" \
  -F "files[]=@arquivo3.pdf" \
  -F "order=1,2,3" \
  -F "bookmarks=true"

# Verificar status
curl -X GET "https://api.ferramentasninja.com/v1/status/JOB_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"

SDKs e Bibliotecas

JavaScript SDK

Biblioteca oficial para JavaScript/Node.js com suporte completo à API

npm install @ferramentasninja/sdk

Python SDK

Pacote Python com funções assíncronas e gerenciamento automático de jobs

pip install ferramentasninja

PHP SDK

Composer package para integração rápida em projetos PHP e WordPress

composer require ferramentasninja/sdk

Código Fonte

Todas as bibliotecas são open source e estão disponíveis no GitHub

Ver no GitHub

Perguntas Frequentes sobre a API

A API é realmente gratuita?

Sim! Oferecemos 1000 requisições gratuitas por mês para cada API Key. Para volumes maiores, entre em contato para planos personalizados.

Qual o tempo de processamento médio?

Varia conforme o tipo e tamanho do arquivo: PDFs simples (5-15s), imagens (3-10s), OCR (10-30s), documentos Office (15-45s).

Como funciona o processamento assíncrono?

Você envia o arquivo e recebe um job_id. Use esse ID para verificar o status. Quando completed, o download_url estará disponível por 5 minutos.

Posso usar webhooks para notificações?

Sim! Configure uma URL de webhook no painel e receba notificações POST quando o processamento for concluído.

A API suporta processamento em lote?

Sim! Você pode enviar até 5 arquivos por requisição. Cada arquivo será processado e você receberá job_ids individuais.

Como obter uma API Key?

Faça login gratuito, acesse o painel de desenvolvedor e clique em "Gerar Nova API Key". A key é gerada instantaneamente.