Skip to main content
POST
/
tools
/
api
/
manage-closing-date
{
  "success": true,
  "message": "Credit card accounts retrieved successfully",
  "data": {
    "accounts": [
      {
        "id": "acc_abc",
        "name": "Cartão XP",
        "marketingName": "Visa Gold",
        "number": "**** 1234",
        "hasClosingDate": true,
        "closingDay": 10,
        "isActive": true,
        "notes": "Fecho no dia 10"
      }
    ],
    "totalAccounts": 1,
    "accountsWithClosingDate": 1,
    "accountsWithoutClosingDate": 0
  },
  "timestamp": "2024-05-15T10:30:00Z"
}
Gerencia datas de fechamento de faturas de cartões de crédito: listar contas elegíveis, criar, atualizar, deletar e obter datas de fechamento. Este endpoint replica a lógica da ferramenta manageClosingDate via REST usando API key.É importante para que o Pierre possa buscar as datas de fechamento das contas de cartão de crédito e calcular os valores das faturas.

Descrição

O endpoint POST /tools/api/manage-closing-date permite:
  • LIST_ACCOUNTS: lista contas de cartão de crédito e indica quais já possuem data de fechamento configurada
  • INSERT: cria uma data de fechamento para uma conta
  • UPDATE: atualiza uma data de fechamento existente (dia, status ativo e notas)
  • DELETE: remove uma data de fechamento
  • GET: obtém datas de fechamento (todas ou de uma conta específica)

Autenticação

Este endpoint requer autenticação via Bearer token e assinatura ativa.
Authorization
string
required
Bearer token com a API key do usuário. Formato: Bearer sk-your-api-key-here

Parâmetros (Body JSON)

Respostas por Operação

LIST_ACCOUNTS

{
  "success": true,
  "message": "Credit card accounts retrieved successfully",
  "data": {
    "accounts": [
      {
        "id": "acc_abc",
        "name": "Cartão XP",
        "marketingName": "Visa Gold",
        "number": "**** 1234",
        "hasClosingDate": true,
        "closingDay": 10,
        "isActive": true,
        "notes": "Fecho no dia 10"
      }
    ],
    "totalAccounts": 1,
    "accountsWithClosingDate": 1,
    "accountsWithoutClosingDate": 0
  },
  "timestamp": "2024-05-15T10:30:00Z"
}

INSERT

{
  "success": true,
  "message": "Closing date created successfully",
  "data": {
    "accountId": "acc_abc",
    "closingDay": 10,
    "isActive": true,
    "notes": "Fecho no dia 10"
  },
  "timestamp": "2024-05-15T10:30:00Z"
}

UPDATE

{
  "success": true,
  "message": "Closing date updated successfully",
  "data": {
    "id": "cld_123",
    "accountId": "acc_abc",
    "closingDay": 12,
    "isActive": true,
    "notes": "Atualizado para dia 12"
  },
  "timestamp": "2024-05-15T10:30:00Z"
}

DELETE

{
  "success": true,
  "message": "Closing date deleted successfully",
  "data": {
    "deletedId": "cld_123",
    "accountId": "acc_abc"
  },
  "timestamp": "2024-05-15T10:30:00Z"
}

GET

{
  "success": true,
  "message": "Closing date retrieved successfully",
  "data": {
    "id": "cld_123",
    "userId": "usr_123",
    "accountId": "acc_abc",
    "closingDay": 10,
    "isActive": true,
    "notes": "Fecho no dia 10",
    "createdAt": "2024-05-01T00:00:00.000Z",
    "updatedAt": "2024-05-10T00:00:00.000Z"
  },
  "timestamp": "2024-05-15T10:30:00Z"
}
{
  "success": true,
  "message": "All closing dates retrieved successfully",
  "data": [
    {
      "id": "cld_123",
      "accountId": "acc_abc",
      "closingDay": 10,
      "isActive": true,
      "notes": "Fecho no dia 10"
    }
  ],
  "timestamp": "2024-05-15T10:30:00Z"
}

Erros Comuns

{ "error": "Account ID and closing day are required for INSERT operation" }
{ "error": "Closing date does not belong to user" }
{
  "error": "Invalid or inactive API key",
  "type": "invalid_api_key"
}

Exemplos de Uso

Este endpoint suporta 5 operações diferentes através do parâmetro operation. Cada exemplo abaixo demonstra como executar uma operação específica:

cURL - Todas as Operações

# 1. LIST_ACCOUNTS - Listar contas de cartão elegíveis
curl -X POST 'https://www.pierre.finance/tools/api/manage-closing-date' \
  -H 'Authorization: Bearer sk-your-api-key-here' \
  -H 'Content-Type: application/json' \
  -d '{"operation":"LIST_ACCOUNTS"}'

# 2. INSERT - Criar nova data de fechamento
curl -X POST 'https://www.pierre.finance/tools/api/manage-closing-date' \
  -H 'Authorization: Bearer sk-your-api-key-here' \
  -H 'Content-Type: application/json' \
  -d '{"operation":"INSERT","accountId":"acc_abc","closingDay":10,"isActive":true,"notes":"Fecho no dia 10"}'

# 3. UPDATE - Atualizar data de fechamento existente
curl -X POST 'https://www.pierre.finance/tools/api/manage-closing-date' \
  -H 'Authorization: Bearer sk-your-api-key-here' \
  -H 'Content-Type: application/json' \
  -d '{"operation":"UPDATE","accountId":"acc_abc","closingDay":12,"notes":"Atualizado para dia 12"}'

# 4. DELETE - Remover data de fechamento
curl -X POST 'https://www.pierre.finance/tools/api/manage-closing-date' \
  -H 'Authorization: Bearer sk-your-api-key-here' \
  -H 'Content-Type: application/json' \
  -d '{"operation":"DELETE","closingDateId":"cld_123"}'

# 5. GET - Consultar data de fechamento específica
curl -X POST 'https://www.pierre.finance/tools/api/manage-closing-date' \
  -H 'Authorization: Bearer sk-your-api-key-here' \
  -H 'Content-Type: application/json' \
  -d '{"operation":"GET","accountId":"acc_abc"}'

# 6. GET - Consultar todas as datas de fechamento do usuário
curl -X POST 'https://www.pierre.finance/tools/api/manage-closing-date' \
  -H 'Authorization: Bearer sk-your-api-key-here' \
  -H 'Content-Type: application/json' \
  -d '{"operation":"GET"}'

JavaScript - Exemplos por Operação

const API_KEY = 'sk-your-api-key-here';
const BASE_URL = 'https://www.pierre.finance/tools/api/manage-closing-date';

async function manageClosingDate(body) {
  const res = await fetch(BASE_URL, {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(body),
  });
  return await res.json();
}

// 1. Listar contas de cartão elegíveis
const accounts = await manageClosingDate({ operation: 'LIST_ACCOUNTS' });

// 2. Criar nova data de fechamento
const created = await manageClosingDate({ 
  operation: 'INSERT', 
  accountId: 'acc_abc', 
  closingDay: 10,
  isActive: true,
  notes: 'Fecho no dia 10'
});

// 3. Atualizar data existente
const updated = await manageClosingDate({ 
  operation: 'UPDATE', 
  accountId: 'acc_abc', 
  closingDay: 12,
  notes: 'Atualizado para dia 12'
});

// 4. Remover data de fechamento
const deleted = await manageClosingDate({ 
  operation: 'DELETE', 
  closingDateId: 'cld_123' 
});

// 5. Consultar data específica
const specific = await manageClosingDate({ 
  operation: 'GET', 
  accountId: 'acc_abc' 
});

// 6. Consultar todas as datas do usuário
const all = await manageClosingDate({ operation: 'GET' });

Python - Exemplos por Operação

import requests

API_KEY = 'sk-your-api-key-here'
BASE_URL = 'https://www.pierre.finance/tools/api/manage-closing-date'

headers = {
    'Authorization': f'Bearer {API_KEY}',
    'Content-Type': 'application/json'
}

def manage_closing_date(body):
    response = requests.post(BASE_URL, headers=headers, json=body)
    return response.json()

# 1. Listar contas de cartão elegíveis
accounts = manage_closing_date({'operation': 'LIST_ACCOUNTS'})

# 2. Criar nova data de fechamento
created = manage_closing_date({
    'operation': 'INSERT', 
    'accountId': 'acc_abc', 
    'closingDay': 10,
    'isActive': True,
    'notes': 'Fecho no dia 10'
})

# 3. Atualizar data existente
updated = manage_closing_date({
    'operation': 'UPDATE', 
    'accountId': 'acc_abc', 
    'closingDay': 12,
    'notes': 'Atualizado para dia 12'
})

# 4. Remover data de fechamento
deleted = manage_closing_date({
    'operation': 'DELETE', 
    'closingDateId': 'cld_123'
})

# 5. Consultar data específica
specific = manage_closing_date({
    'operation': 'GET', 
    'accountId': 'acc_abc'
})

# 6. Consultar todas as datas do usuário
all_dates = manage_closing_date({'operation': 'GET'})

Authorizations

Authorization
string
header
required

API key in Bearer token format. Example: Bearer sk-your-api-key-here

Body

application/json

The body is of type any.

Response

Operação realizada com sucesso

The response is of type any.