Início Rápido

Comece a usar a API Juspilot em 5 minutos

Início Rápido

Este guia mostra como fazer sua primeira integração com a API Juspilot. Ao final, você terá criado um cliente e um processo via API.

Pré-requisitos

Obtenha sua API Key

  1. Acesse o painel do Juspilot
  2. Navegue até ConfiguraçõesAPI Keys
  3. Clique em Criar Nova Chave
  4. Copie sua chave (formato: jp_live_...)

Guarde sua API Key em segurança. Ela não será exibida novamente!

Crie seu primeiro cliente

Crie um cliente Pessoa Física:

curl -X POST https://api.juspilot.co/v1/clients \
  -H "Authorization: Bearer jp_live_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "PF",
    "name": "João da Silva",
    "email": "joao.silva@email.com",
    "cpf": "123.456.789-00",
    "phone": "+55 11 99999-8888",
    "segment": "premium"
  }'
const response = await fetch('https://api.juspilot.co/v1/clients', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.JUSPILOT_API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    type: 'PF',
    name: 'João da Silva',
    email: 'joao.silva@email.com',
    cpf: '123.456.789-00',
    phone: '+55 11 99999-8888',
    segment: 'premium'
  })
});

const data = await response.json();
console.log('Cliente criado:', data.data.id);
import requests
import os

response = requests.post(
    'https://api.juspilot.co/v1/clients',
    headers={
        'Authorization': f'Bearer {os.environ["JUSPILOT_API_KEY"]}',
        'Content-Type': 'application/json'
    },
    json={
        'type': 'PF',
        'name': 'João da Silva',
        'email': 'joao.silva@email.com',
        'cpf': '123.456.789-00',
        'phone': '+55 11 99999-8888',
        'segment': 'premium'
    }
)

data = response.json()
print(f"Cliente criado: {data['data']['id']}")

Resposta:

{
  "success": true,
  "data": {
    "id": "cli_abc123def456",
    "type": "PF",
    "name": "João da Silva",
    "email": "joao.silva@email.com",
    "cpf": "123.456.789-00",
    "phone": "+55 11 99999-8888",
    "segment": "premium",
    "status": "active",
    "created_at": "2026-02-04T10:30:00Z"
  }
}

Crie um processo jurídico

Agora crie um processo vinculado ao cliente:

curl -X POST https://api.juspilot.co/v1/cases \
  -H "Authorization: Bearer jp_live_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Ação de Cobrança - Contrato de Prestação de Serviços",
    "number": "0001234-56.2026.8.26.0100",
    "area": "Cível",
    "subject": "Cobrança",
    "phase": "recebido",
    "priority": "alta",
    "client_id": "cli_abc123def456",
    "sla_date": "2026-03-15"
  }'

Resposta:

{
  "success": true,
  "data": {
    "id": "case_xyz789ghi012",
    "title": "Ação de Cobrança - Contrato de Prestação de Serviços",
    "number": "0001234-56.2026.8.26.0100",
    "area": "Cível",
    "subject": "Cobrança",
    "phase": "recebido",
    "priority": "alta",
    "status": "ativo",
    "client_id": "cli_abc123def456",
    "sla_date": "2026-03-15",
    "created_at": "2026-02-04T10:31:00Z"
  }
}

Adicione uma atividade

Registre uma tarefa no processo:

curl -X POST https://api.juspilot.co/v1/activities \
  -H "Authorization: Bearer jp_live_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "case_id": "case_xyz789ghi012",
    "type": "task",
    "title": "Elaborar petição inicial",
    "description": "Redigir petição inicial com todos os documentos anexos",
    "priority": "alta",
    "due_date": "2026-02-10"
  }'

Resposta:

{
  "success": true,
  "data": {
    "id": "act_123abc456def",
    "type": "task",
    "title": "Elaborar petição inicial",
    "description": "Redigir petição inicial com todos os documentos anexos",
    "priority": "alta",
    "status": "pending",
    "due_date": "2026-02-10",
    "case_id": "case_xyz789ghi012",
    "created_at": "2026-02-04T10:32:00Z"
  }
}

Liste seus processos

Verifique os processos criados:

curl -X GET "https://api.juspilot.co/v1/cases?status=ativo" \
  -H "Authorization: Bearer jp_live_sua_chave_aqui"

Resposta:

{
  "success": true,
  "data": [
    {
      "id": "case_xyz789ghi012",
      "title": "Ação de Cobrança - Contrato de Prestação de Serviços",
      "number": "0001234-56.2026.8.26.0100",
      "area": "Cível",
      "phase": "recebido",
      "priority": "alta",
      "status": "ativo",
      "client": {
        "id": "cli_abc123def456",
        "name": "João da Silva"
      },
      "activities_count": 1,
      "sla_date": "2026-03-15"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1,
    "pages": 1
  }
}

Próximos Passos

Agora que você fez sua primeira integração, explore mais recursos:

  • Processos - Documentação completa de gestão de casos
  • Clientes - Gerenciar clientes PF e PJ
  • Atividades - Criar e gerenciar tarefas
  • Negócios - Pipeline de oportunidades
  • Webhooks - Receber notificações em tempo real

Exemplo Completo

Aqui está um exemplo de integração em JavaScript:

// juspilot-client.js
class JuspilotClient {
  constructor(apiKey) {
    this.apiKey = apiKey;
    this.baseUrl = 'https://api.juspilot.co/v1';
  }

  async request(endpoint, options = {}) {
    const response = await fetch(`${this.baseUrl}${endpoint}`, {
      ...options,
      headers: {
        'Authorization': `Bearer ${this.apiKey}`,
        'Content-Type': 'application/json',
        ...options.headers
      }
    });

    if (!response.ok) {
      const error = await response.json();
      throw new Error(error.error?.message || 'Erro na requisição');
    }

    return response.json();
  }

  // Clientes
  async createClient(data) {
    return this.request('/clients', {
      method: 'POST',
      body: JSON.stringify(data)
    });
  }

  async getClients(params = {}) {
    const query = new URLSearchParams(params).toString();
    return this.request(`/clients?${query}`);
  }

  // Processos
  async createCase(data) {
    return this.request('/cases', {
      method: 'POST',
      body: JSON.stringify(data)
    });
  }

  async getCases(params = {}) {
    const query = new URLSearchParams(params).toString();
    return this.request(`/cases?${query}`);
  }

  async updateCase(id, data) {
    return this.request(`/cases/${id}`, {
      method: 'PUT',
      body: JSON.stringify(data)
    });
  }

  // Atividades
  async createActivity(data) {
    return this.request('/activities', {
      method: 'POST',
      body: JSON.stringify(data)
    });
  }
}

// Uso
const client = new JuspilotClient(process.env.JUSPILOT_API_KEY);

// Criar cliente e processo
async function criarCasoCompleto(dadosCliente, dadosCaso) {
  const cliente = await client.createClient(dadosCliente);

  const caso = await client.createCase({
    ...dadosCaso,
    client_id: cliente.data.id
  });

  return { cliente: cliente.data, caso: caso.data };
}

// Exemplo
criarCasoCompleto(
  {
    type: 'PF',
    name: 'Maria Santos',
    email: 'maria@email.com',
    cpf: '987.654.321-00'
  },
  {
    title: 'Ação Trabalhista',
    area: 'Trabalhista',
    subject: 'Rescisão Indireta',
    priority: 'media'
  }
).then(console.log);

Precisa de Ajuda?

On this page