← InicioFleetPay / MCP

Contexto para tus Agentes.

Documentos, cuentas por cobrar e información operativa. Conoce las consultas implementadas en el core y evalúa una integración mediante Model Context Protocol.

01Tu Agente
02Autorización
03Consulta FleetPay
01 / Referencia

Cuatro Consultas. Contexto Útil.

Consultas de lectura: no ejecutan Pix, TED, anticipos ni liberación de pagos. El acceso a datos depende de la identidad, los permisos y el contexto de empresa autorizados.

Descargar Referencia de Entradas (JSON)

Descargar Estructuras de Respuesta (JSON)

El archivo de respuestas mapea data, meta y error en los payloads JSON revisados. Distingue listas vacías de not_found e identifica tipos aún no confirmados. No es el outputSchema anunciado por el servidor ni el sobre MCP/JSON-RPC; los errores de autorización y ejecución pueden usar otro formato.

Los estados y tipos de documentos, cuentas y pagos usan códigos numéricos en los seis enums revisados. El JSON incluye códigos y nombres técnicos de los casos en enumReferences; esos nombres no son etiquetas comerciales. Los valores pertenecen a la versión de código indicada en el archivo.

Los parámetros heredados company_cnpj y company_name permiten resolver la empresa. La sesión del panel fija su propia empresa; resolverla no sustituye la autorización. En las respuestas de documentos y cuentas por cobrar, revisa company_ids_in_scope y scope_expanded: el ámbito de un embarcador puede incluir transportistas vinculados y registros de otros embarcadores de esos transportistas.

Referencia extraída del código versionado, no de una conexión con el servidor. El archivo separa los tipos declarados de los campos exigidos durante la ejecución. Confirma el contrato del entorno antes de generar un cliente.

01

Documentos de Transporte

Localiza documentos y consulta su estado por empresa.

Herramienta
fleetpay_core_documents_list
Permiso
read:documents.list
Parámetros, Respuesta y Límites
Parámetros
company_idinteger · Opcional
ID de la empresa autorizada. Puede resolverse por CNPJ o nombre; las sesiones del panel usan su empresa fijada. Se requiere un contexto de empresa autorizado antes de consultar.
company_cnpjstring · Opcional
Alternativa al ID, con o sin formato. Identificar una empresa no concede acceso a sus datos.
company_namestring · Opcional
Alternativa por nombre de al menos tres caracteres. Los nombres ambiguos requieren desambiguación. Prioridad: ID, CNPJ, nombre.
statusstring · Opcional
Filtro por estado del documento, según los valores aceptados en el entorno.
fromstring · YYYY-MM-DD · Opcional
Inicio del período, aplicado a payment_date / shipper_due_date.
tostring · YYYY-MM-DD · Opcional
Fin del período, aplicado a payment_date / shipper_due_date.
limitinteger · Opcional
Elementos por página: 25 por defecto, máximo 100.
cursorinteger · Opcional
ID del último elemento para consultar la siguiente página.
Respuesta

Identificación, estado, importe y fechas de los documentos; paginación con cursor, has_more, limit y total.

Campos seleccionados para interpretar la respuesta; no sustituyen un schema de salida validado en pruebas.

data[].iddata[].internal_iddata[].statusdata[].amount
Identificación, estado e importe del documento. Su estado no sustituye la evidencia de pago.
data[].sacado_payment_datedata[].sacado_due_datedata[].sacado_due_date_postponed
Fecha de pago del deudor, vencimiento contractual y vencimiento prorrogado. Pueden ser nulos; la consulta no calcula días de atraso.
meta.pagination.cursormeta.pagination.has_moremeta.pagination.total
Usa el cursor devuelto cuando has_more sea true. En la última página, cursor es null. total cuenta los documentos de todo el ámbito filtrado.
meta.company_ids_in_scopemeta.scope_expandedmeta.scope_note
Empresas incluidas efectivamente en la consulta. Revisa este ámbito antes de atribuir los resultados a un solo embarcador.
Cómo Interpretar
25 elementos por defecto, hasta 100 por página. payment_date y shipper_due_date representan el vencimiento del embarcador. El pago efectivo del deudor usa sacado_payment_date.

Ejemplo de Entrada

Identificadores ficticios. Solo método y parámetros; el transporte y la autenticación se confirman durante la habilitación. Esta página no ejecuta consultas.

{
  "method": "tools/call",
  "params": {
    "name": "fleetpay_core_documents_list",
    "arguments": {
      "company_id": 101,
      "limit": 25
    }
  }
}

Ejemplo de Respuesta Vacía

Datos sintéticos e IDs ficticios. Una lista vacía solo describe el ámbito consultado; no prueba la ausencia de registros fuera del ámbito autorizado. Consulta el archivo para los campos de los elementos, tipos pendientes y la variante not_found.

{
  "data": [],
  "meta": {
    "company_id": 101,
    "company_ids_in_scope": [
      101
    ],
    "scope_expanded": false,
    "scope_note": null,
    "field_semantics": "sacado_payment_date = dia em que o EMBARCADOR (sacado) pagou a fatura (pay_invoices.payment_date, via pay_payments SHIPPER_CARRIER_PAYMENT; null = em aberto). NÃO confunda com pay_documents.payment_date (= vencimento do embarcador, data futura) nem com pay_receivables.payment_date (= data em que o FIDC foi ressarcido). Atraso não é calculado aqui: use sacado_due_date (vencimento contratual) ou sacado_due_date_postponed (prorrogado) conforme a metodologia do score.",
    "pagination": {
      "cursor": null,
      "has_more": false,
      "limit": 25,
      "total": 0
    }
  },
  "error": null
}
02

Saldos Registrados

Consulta las cuentas de la empresa y el saldo registrado en la operación.

Herramienta
fleetpay_core_account_balance
Permiso
read:account.balance
Parámetros, Respuesta y Límites
Parámetros
company_idinteger · Opcional
ID de la empresa autorizada. Puede resolverse por CNPJ o nombre; las sesiones del panel usan su empresa fijada. Se requiere un contexto de empresa autorizado antes de consultar.
company_cnpjstring · Opcional
Alternativa al ID, con o sin formato. Identificar una empresa no concede acceso a sus datos.
company_namestring · Opcional
Alternativa por nombre de al menos tres caracteres. Los nombres ambiguos requieren desambiguación. Prioridad: ID, CNPJ, nombre.
account_idinteger · Opcional
Cuenta específica. Si se omite, consulta las cuentas visibles de la empresa.
Respuesta

Identificación y estado de la cuenta, saldo derivado, saldo persistido y fecha del último extracto disponible.

Campos seleccionados para interpretar la respuesta; no sustituyen un schema de salida validado en pruebas.

data[].balancedata[].persisted_balancedata[].last_statement_at
balance usa el saldo del último registro disponible o, si no existe, persisted_balance. last_statement_at puede ser null; no representa una actualización bancaria en tiempo real.
data[].account_iddata[].account_statusdata[].is_swap_blockedmeta.count
Identificación y estado de las cuentas visibles. count es la cantidad devuelta. Una lista vacía no prueba que no exista una cuenta fuera del ámbito autorizado.
Cómo Interpretar
El saldo deriva del último registro de extracto disponible, con el saldo persistido como alternativa. No es una consulta en tiempo real al proveedor bancario.

Ejemplo de Entrada

Identificadores ficticios. Solo método y parámetros; el transporte y la autenticación se confirman durante la habilitación. Esta página no ejecuta consultas.

{
  "method": "tools/call",
  "params": {
    "name": "fleetpay_core_account_balance",
    "arguments": {
      "company_id": 101,
      "account_id": 202
    }
  }
}

Ejemplo de Respuesta Vacía

Datos sintéticos e IDs ficticios. Una lista vacía solo describe el ámbito consultado; no prueba la ausencia de registros fuera del ámbito autorizado. Consulta el archivo para los campos de los elementos, tipos pendientes y la variante not_found.

{
  "data": [],
  "meta": {
    "company_id": 101,
    "count": 0
  },
  "error": null
}
03

Pagos del Conductor

Consulta los registros de pago de un conductor, agrupados por fecha.

Herramienta
fleetpay_core_drivers_payments_list
Permiso
read:drivers.payments.list
Parámetros, Respuesta y Límites
Parámetros
company_idinteger · Opcional
ID de la empresa autorizada. Puede resolverse por CNPJ o nombre; las sesiones del panel usan su empresa fijada. Se requiere un contexto de empresa autorizado antes de consultar.
company_cnpjstring · Opcional
Alternativa al ID, con o sin formato. Identificar una empresa no concede acceso a sus datos.
company_namestring · Opcional
Alternativa por nombre de al menos tres caracteres. Los nombres ambiguos requieren desambiguación. Prioridad: ID, CNPJ, nombre.
driver_idinteger · Obligatorio
Identificador del usuario conductor.
Respuesta

Grupos por fecha con cantidad, importe total y registros de pagos, incluidos estado y referencias operativas.

Campos seleccionados para interpretar la respuesta; no sustituyen un schema de salida validado en pruebas.

data[].datedata[].countdata[].total_amountdata[].payments[]
Cada elemento agrupa pagos por fecha. date puede ser null. El total suma registros del grupo; no significa que todos estén liquidados.
data[].payments[].statusmeta.countmeta.truncated
Interpreta el estado de cada pago. count cuenta pagos, no grupos. truncated es true al alcanzar 200 registros; indica el límite de consulta sin probar que exista un registro adicional.
Cómo Interpretar
Consulta limitada a los 200 registros más recientes del ámbito seleccionado. No representa una exportación completa. Interpreta cada registro según su estado.

Ejemplo de Entrada

Identificadores ficticios. Solo método y parámetros; el transporte y la autenticación se confirman durante la habilitación. Esta página no ejecuta consultas.

{
  "method": "tools/call",
  "params": {
    "name": "fleetpay_core_drivers_payments_list",
    "arguments": {
      "company_id": 101,
      "driver_id": 303
    }
  }
}

Ejemplo de Respuesta Vacía

Datos sintéticos e IDs ficticios. Una lista vacía solo describe el ámbito consultado; no prueba la ausencia de registros fuera del ámbito autorizado. Consulta el archivo para los campos de los elementos, tipos pendientes y la variante not_found.

{
  "data": [],
  "meta": {
    "driver_id": 303,
    "company_id": 101,
    "count": 0,
    "truncated": false
  },
  "error": null
}
04

Cuentas por Cobrar

Consulta cuentas por cobrar vinculadas a documentos de la empresa y totales del período.

Herramienta
fleetpay_core_receivables_list
Permiso
read:receivables.list
Parámetros, Respuesta y Límites
Parámetros
company_idinteger · Opcional
ID de la empresa autorizada. Puede resolverse por CNPJ o nombre; las sesiones del panel usan su empresa fijada. Se requiere un contexto de empresa autorizado antes de consultar.
company_cnpjstring · Opcional
Alternativa al ID, con o sin formato. Identificar una empresa no concede acceso a sus datos.
company_namestring · Opcional
Alternativa por nombre de al menos tres caracteres. Los nombres ambiguos requieren desambiguación. Prioridad: ID, CNPJ, nombre.
fromstring · YYYY-MM-DD · Opcional
Inicio del período, aplicado a created_at.
tostring · YYYY-MM-DD · Opcional
Fin del período, aplicado a created_at.
limitinteger · Opcional
Elementos por página: 25 por defecto, máximo 100.
cursorinteger · Opcional
ID del último elemento para consultar la siguiente página.
Respuesta

Cuentas por cobrar paginadas y totales agregados del período: cantidad, valor nominal, valor presente y distribución mensual.

Campos seleccionados para interpretar la respuesta; no sustituyen un schema de salida validado en pruebas.

data[].valuedata[].current_valuedata[].fund_reimbursed_date
Valor nominal, valor presente y fecha de reembolso al fondo. El campo heredado payment_date equivale a fund_reimbursed_date, no al pago del deudor.
data[].sacado_payment_datedata[].sacado_due_datedata[].sacado_due_date_postponed
Fecha de pago del deudor, vencimiento contractual y vencimiento prorrogado. Pueden ser nulos; la consulta no calcula días de atraso.
meta.date_basismeta.totalsmeta.totals.in_invoicemeta.totals.by_month
Los totales usan created_at y cubren todo el período, independientemente del cursor. in_invoice incluye cuentas por cobrar con payment_id; su inclusión en una factura no prueba liquidación.
meta.company_ids_in_scopemeta.scope_expandedmeta.scope_note
Empresas incluidas efectivamente en la consulta. Revisa este ámbito antes de atribuir los resultados a un solo embarcador.
Cómo Interpretar
25 elementos por defecto, hasta 100 por página. Los totales cubren el período, no solo la página. payment_date representa el reembolso al fondo; sacado_payment_date representa el pago del deudor.

Ejemplo de Entrada

Identificadores ficticios. Solo método y parámetros; el transporte y la autenticación se confirman durante la habilitación. Esta página no ejecuta consultas.

{
  "method": "tools/call",
  "params": {
    "name": "fleetpay_core_receivables_list",
    "arguments": {
      "company_id": 101,
      "from": "2026-09-01",
      "to": "2026-09-30",
      "limit": 25
    }
  }
}

Ejemplo de Respuesta Vacía

Datos sintéticos e IDs ficticios. Una lista vacía solo describe el ámbito consultado; no prueba la ausencia de registros fuera del ámbito autorizado. Consulta el archivo para los campos de los elementos, tipos pendientes y la variante not_found.

{
  "data": [],
  "meta": {
    "company_id": 101,
    "company_ids_in_scope": [
      101
    ],
    "scope_expanded": false,
    "scope_note": null,
    "field_semantics": "sacado_payment_date = dia em que o EMBARCADOR (sacado) pagou a fatura (pay_invoices.payment_date, via pay_payments SHIPPER_CARRIER_PAYMENT; null = em aberto). NÃO confunda com pay_documents.payment_date (= vencimento do embarcador, data futura) nem com pay_receivables.payment_date (= data em que o FIDC foi ressarcido). Atraso não é calculado aqui: use sacado_due_date (vencimento contratual) ou sacado_due_date_postponed (prorrogado) conforme a metodologia do score.",
    "pagination": {
      "cursor": null,
      "has_more": false,
      "limit": 25
    },
    "date_basis": "created_at",
    "totals": {
      "count": 0,
      "invoices_count": 0,
      "sum_value": 0,
      "sum_current_value": 0,
      "in_invoice": {
        "count": 0,
        "sum_value": 0,
        "sum_current_value": 0,
        "note": "Somente recebíveis com payment_id (já incluídos numa fatura FleetPay). É este o recorte do nível 2 do funil de originação."
      },
      "by_month": []
    }
  },
  "error": null
}
02 / Interpretación

Cómo Leer Respuestas y Errores

En la versión revisada, Response::json serializa el payload dentro de un bloque de texto en result.content. No crea structuredContent. Leer la respuesta requiere tres verificaciones distintas.

  1. Error JSON-RPC

    Comprueba error en el nivel principal antes de acceder a result. Un problema del protocolo no es un resultado de consulta.

  2. Error de la Herramienta

    Si result.isError es true, trata el error. El texto puede ser un mensaje simple; no lo interpretes automáticamente como un payload JSON correcto.

  3. Error en el Payload

    En las respuestas JSON revisadas, interpreta el bloque de texto controlando posibles fallos y comprueba error en el payload. not_found puede llegar con isError: false. Una lista vacía con error: null es un caso distinto.

Descargar Ejemplos de Sobre (JSON)

Ver un Ejemplo Sintético de not_found
{
  "jsonrpc": "2.0",
  "id": "example-1",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"data\":null,\"meta\":null,\"error\":{\"code\":\"not_found\",\"message\":\"Company não encontrada.\"}}"
      }
    ],
    "isError": false
  }
}

Ejemplos derivados del código, con un ID ficticio. No son llamadas al entorno real ni validan HTTP, OAuth, SSE o respuestas de gateways. Confirma el contrato en el entorno autorizado antes de integrar.

03 / Acceso

Permisos antes de Respuestas

  1. Define la Consulta

    Describe el objetivo del agente, los datos necesarios y las empresas involucradas. El catálogo anterior es una selección; no implica acceso automático a todas las herramientas.

  2. Confirma el Acceso

    La habilitación define identidad, permisos y contexto de empresa. La autenticación o el consentimiento OAuth por sí solos no conceden acceso a las consultas. No asumas que las credenciales REST son compatibles con MCP.

  3. Valida en Pruebas

    Verifica consultas permitidas y denegadas, límites, paginación e interpretación de fechas. Mantén las credenciales fuera del navegador, de prompts compartidos y de los registros de la aplicación.

Referencia editorial basada en el código del core 368eda3. No acredita despliegue ni habilitación en tu entorno. Los parámetros descritos son un resumen, no un schema completo.