API
Introducción
Introducción
La API de Rindegastos es una API RESTful que permite acceder y gestionar los datos de tu empresa de forma segura y estructurada. A través de ella puedes interactuar con entidades clave como usuarios, gastos, informes, fondos y políticas de gasto, entre otras.
El acceso está protegido mediante autenticación por token, lo que garantiza que solo los usuarios autorizados puedan consultar o modificar información, pues cada token otorga permisos específicos sobre los datos de la empresa.
Para empezar a utilizar la API:
Solicita y activa el token de acceso para tu empresa desde la sección de configuración en Rindegastos.
Consulta la sección Autenticación de esta documentación para conocer cómo utilizar correctamente tu token.
Luego, revisa los endpoints disponibles para la versión de API que deseas usar (v1 o v2).
Integra según tus necesidades utilizando las herramientas o los lenguajes que manejes, realizando las llamadas HTTP indicadas en cada endpoint.
⚠️ Importante: Actualmente existen dos versiones activas de la API (v1 y v2). Asegúrate de consultar los endpoints y estructuras de respuesta correspondientes a la versión que vayas a implementar.
El acceso a la API de Rindegastos se realiza mediante un token único por empresa, el cual permite realizar operaciones de lectura y escritura sobre los datos de esa empresa. Si administras múltiples empresas dentro de Rindegastos, deberas utilizar un token distinto para cada una.
Para habilitar el acceso a la API y obtener el token correspondiente:
Un token típico tendrá un formato similar al siguiente:
Con este token ya puedes comenzar a realizar llamadas autenticadas a los endpoints descritos en esta documentación.
La API v1 de Rindegastos corresponde a la primera versión de nuestra interfaz de integración. Su objetivo es mantener la compatibilidad con las integraciones históricas de nuestros clientes, sin afectar sus procesos actuales.
⚠️ Nota: Si tu empresa ya integra la API v1, puedes continuar utilizándola sin cambios. Sin embargo, considera planificar una migración a v2 para aprovechar las mejoras que realicemos a futuro.
setExpenseReportIntegration
).setExpenseReportCustomStatus
).Esta versión se mantiene compatible con integraciones existentes y no recibirá nuevas funcionalidades, aunque seguirá operativa para no afectar a los clientes actuales.
Para proyectos nuevos o integraciones que requieran más capacidades, se recomienda migrar a la API v2, que ofrece métodos ampliados y soporte evolutivo.
Método para obtener una lista de informes de gastos de la empresa según parámetros definidos.
Parámetro | Descripción | |||||
---|---|---|---|---|---|---|
Method | GET | |||||
URL | https://api.rindegastos.com/v1/getExpenseReports<params> | |||||
Parámetros | Parámetros que se pueden agregar a la solicitud para discriminar qué informes se deseas obtener. Los parámetros posibles son: |
|||||
Since | date | Fecha desde cuándo contar los informes de gastos en formato YYYY-MM-DD | ||||
Until | date | Fecha hasta cuándo contar los informes de gastos en formato YYYY-MM-DD | ||||
TypeDateFilter | integer | Indica en base a cuál fecha vamos a filtrar usando Since y Until donde: 1 = CloseDate (por defecto) y 2 = SendDate. |
||||
Currency | string(3) | Código ISO de la moneda que se desea filtrar. Por ejemplo: USD para dólar americano. | ||||
Status | integer | Estado en que se encuentran los informes en donde: 0 = Abierto o En proceso; 1 = Cerrado. Si se deja en blanco se toman informes en ambos estados. | ||||
ExpensePolicyId | integer | Identificar interno de Rindegastos de la política bajo la cual se ha creado el informe de gastos. | ||||
IntegrationStatus | integer | Buscar informes por estado de integración: 1 = Integrados o 0 = No Integrados. Si se envía blanco no se agrega al filtro de búsqueda. | ||||
IntegrationCode | string(255) | Buscar informes integrados, filtrando por el código de respuesta asignado posterior al proceso de integración. | ||||
IntegrationDate | date | Buscar informes integrados, filtrando por fecha de integración en formato YYYY-MM-DD. | ||||
UserId | integer | Identificador interno de Rindegastos del usuario que envío el informe de gastos. | ||||
OrderBy | integer | Permite indicar bajo cual parámetro vamos a ordenar la lista de informes obtenida donde: 1 = CloseDate, 2 = SendDate, 3 = Id. Por defecto se ordena en base a la fecha de envío (SendDate) | ||||
ResultsPerPage | integer | Número de resultados por página. | ||||
Page | integer | Página de resultados. Por defecto = 1 |
https://api.rindegastos.com/v1/getExpenseReports?Currency=CLP METHOD GET Authorization: Bearer <token>
{ "Records": { "TotalRecords": 2, "Reports": 100, "Page": 1, "Pages": 19 }, "ExpenseReports": [ { "Id": 123456, "Title": "Licencia Pro Anual", "ReportNumber": "2025", "SendDate": "2025-07-20", "CloseDate": "2025-07-21", "EmployeeId": 123434, "EmployeeName": "Juan Pérez", "EmployeeIdentification": "412414", "ApproverId": 1242, "ApproverName": "Pedro Rojas", "PolicyId": 90384, "PolicyName": "Política Personal", "Status": 1, "CustomStatus": "", "FundId": 0, "FundName": "", "ReportTotal": 50000, "ReportTotalApproved": 50000, "Currency": "CLP", "Note": "Compra anual", "Integrated": false, "IntegrationDate": "", "IntegrationExternalCode": "", "IntegrationInternalCode": "", "NbrExpenses": 1, "NbrApprovedExpenses": 0, "NbrRejectedExpenses": 1, "ExtraFields": [ {
"Name": "Área",
"Value": "TI"
"Code": "124"
}, {
"Name": "Proyecto",
"Value": "Portal Web"
"Code": "2313"
} ], "Files": [ { "FileName": "Captura de pantalla 2025-04-02 a la(s) 5.18.06â?¯p.m..png", "Extension": "png", "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png" }, ] }, { "Id": 789012, "Title": "Viáticos Reunión", "ReportNumber": "2026", "SendDate": "2025-07-19", "CloseDate": "2025-07-20", "EmployeeId": 0, "EmployeeName": "María González", "EmployeeIdentification": "", "ApproverId": 0, "ApproverName": "", "PolicyId": 0, "PolicyName": "Política Eventos", "Status": 0, "CustomStatus": "", "FundId": 0, "FundName": "", "ReportTotal": 20000, "ReportTotalApproved": 0, "Currency": "CLP", "Note": "", "Integrated": false, "IntegrationDate": "", "IntegrationExternalCode": "", "IntegrationInternalCode": "", "NbrExpenses": 0, "NbrApprovedExpenses": 0, "NbrRejectedExpenses": 0, "ExtraFields": [ {
"Name": "Ciudad"
"Value": "Valparaíso"
"Code": "003"
} ], "Files": [ { "FileName": "Captura de pantalla 2025-04-02 a la(s) 5.18.06â?¯p.m..png", "Extension": "png", "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png" }, { "FileName": "archivo.jpeg", "Extension": "jpeg", "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-104531-1-8890900-400-c07fc7e2-c59f-4583-aa46-092030657f4b.jpeg", "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-104531-1-8890900-400-c07fc7e2-c59f-4583-aa46-092030657f4b.jpeg", "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/app-104531-1-8890900-400-c07fc7e2-c59f-4583-aa46-092030657f4b.jpeg", "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-104531-1-8890900-400-c07fc7e2-c59f-4583-aa46-092030657f4b.jpeg" } ] } ] }
Método para obtener un informe de gastos.
Parámetro | Descripción | |||||
---|---|---|---|---|---|---|
Method | GET | |||||
URL | https://api.rindegastos.com/v1/getExpenseReport<params> | |||||
Parámetros | Parámetro obligatorio que se puede agregar a la solicitud es el Id del informe. | |||||
Id | integer | Id único del informe de gastos que se desea obtener. |
https://api.rindegastos.com/v1/getExpenseReport?Id=7894399
METHOD GET
Authorization: Bearer <token>
{ "Id": 7894399, "Title": "fondo caja chica", "ReportNumber": "2095", "SendDate": "2024-11-21", "CloseDate": "2024-11-21", "EmployeeId": 49425, "EmployeeName": "Alejandro Pinto", "EmployeeIdentification": "C0060", "ApproverId": 49425, "ApproverName": "Rocio Pinto", "PolicyId": 240678, "PolicyName": "Política gerencia", "Status": 1, "CustomStatus": "", "FundId": 400722, "FundName": "Caja chica admin", "ReportTotal": 100000, "ReportTotalApproved": 100000, "Currency": "CLP", "Note": "Nota de prueba", "Integrated": false, "IntegrationDate": "", "IntegrationExternalCode": "", "IntegrationInternalCode": "", "NbrExpenses": 1, "NbrApprovedExpenses": 1, "NbrRejectedExpenses": 0, "ExtraFields": [ { "Name": "Sociedad", "Value": "sucursal A", "Code": "124542" }, { "Name": "Tipo de Rendición", "Value": "Fondo por Rendir", "Code": "34" }, { "Name": "Organización", "Value": "Legal", "Code": "556" } ], "Files": [ { "FileName": "WhatsApp Image 2024-11-15 at 12.50.33 (2).jpeg", "Extension": "jpeg", "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-49425-1-7894399-213.jpeg", "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-49425-1-7894399-213.jpeg", "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/app-49425-1-7894399-213.jpeg", "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-49425-1-7894399-213.jpeg" } ] }
Método para marcar como integrado o no integrado una rendición de gastos específica.
Parámetro | Descripción | |||||
---|---|---|---|---|---|---|
Method | PUT | |||||
URL | https://api.rindegastos.com/v1/setExpenseReportIntegration | |||||
Parámetros | Parámetros que deben ser agregados a la solicitud como Body para marcar un informe de gastos como integrado o no integrado. | |||||
Id | integer | Id único del informe de gastos que se desea marcar como integrado o no integrado. | ||||
IntegrationStatus | integer | Estado Integrado = 1 o bien No Integrado = 0. | ||||
IntegrationCode | string(255) | Permite comunicar un código de comprobante contable para enlazar información de la integración con la rendición en Rindegastos. | ||||
IntegrationDate | date | Formato de fecha AAAA-MM-DD hh:mm:ss |
curl 'https://api.rindegastos.com/v1/setExpenseReportIntegration' -X PUT -d '{"Id":1,"IntegrationStatus":1,"IntegrationCode":"0303456","IntegrationDate":"2017-08-01 12:00:00"}' -H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
{
"Id": 1,
"Title": "informe bci",
"ReportNumber": "2274",
"IntegrationStatus": 1,
"IntegrationCode": "xx",
"IntegrationDate": "2025-01-02 15:30:20"
}
Método para actualizar el estado personalizado de una rendición de gastos específica.
Parámetro | Descripción | |||||
---|---|---|---|---|---|---|
Method | PUT | |||||
URL | https://api.rindegastos.com/v1/setExpenseReportCustomStatus | |||||
Parámetros | Parámetros que deben ser agregados a la solicitud como Body para marcar un informe de gastos con un estado personalizado. | |||||
Id | integer | Id único del informe de gastos al cual queremos asignar un estado personalizado. | ||||
IdAdmin | integer | Id único del usuario con rol gestión bajo el cual vamos asignar un estado personalizado. Debe tener definido permiso para gestionar (Obligatorio). | ||||
CustomStatus | string(20) | Es el texto del estado personalizado que deseamos asignar al informe de gastos específico. | ||||
CustomMessage | string(255) | Es un texto descriptivo de la acción que estamos realizando. Este texto acompañara la acción de cambio de estado en el timeline de mensajes & eventos de la rendición. |
curl 'https://api.rindegastos.com/v1/setExpenseReportCustomStatus' -X POST -d '{"Id":4,"IdAdmin":5,"CustomStatus":"Waiting for payment","CustomMessage":"Payment By George Clinton"}' -H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
{
"Id": 1,
"Title": "informe bci",
"ReportNumber": "2077",
"CustomStatus": "Waiting for payment"
}
Importante: El método setExpenseReportCustomStatus no permite crear estados personalizados en políticas de gasto, solo asigna estado a una rendición. Es recomendable crear el o los estados personalizados en las políticas correspondientes antes de utilizar este método.
GET getExpenses
: Obtiene una lista de gastos según filtros definidos.GET getExpense
: Devuelve información completa de un gasto especifico.PUT setExpenseIntegration
: Marca un gasto como integrado en un sistema externo.⚠️ Esta API no permite crear, modificar ni eliminar gastos, solo consultarlos o marcarlos como integrados.
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v1/getExpenses<params> | ||
Params | Parámetros que pueden ser agregados a la solicitud para discriminar qué gastos se desea obtener. Los parámetros posibles son: | ||
Since | date | Fecha desde cuando contar los gastos en formato YYYY-MM-DD. | |
Until | date | Fecha hasta cuando contar los gastos en formato YYYY-MM-DD. | |
Currency | string(3) | Código ISO de la moneda que se desea filtrar. Por ejemplo USD para dólar americano. Este parámetro trabaja sobre la moneda final del gasto, no la moneda original. | |
Status | integer | 1: Aprobado; 2: Rechazado; 0: En proceso. | |
Category | string(150) | Nombre de la categoría de gastos que se desea. | |
ReportId | integer | Id único del informe de gastos | |
ExpensePolicyId | integer | Id único de la política de gastos | |
IntegrationStatus | integer | Buscar gastos por estado de integración: 1 = Integrados o 0 = No integrados. Si se envía blanco no se agrega al filtro de busqueda. | |
IntegrationCode | string(255) | Buscar gastos integrados, filtrando por el código de comprobante asociado al gasto. | |
IntegrationDate | date | Buscar gastos integrados, filtrando por fecha de integración en formato YYYY-MM-DD. | |
UserId | integer | Id único del usuario en Rindegastos | |
OrderBy | integer | 1: fecha del gasto; 2: fecha creación del gasto. Por defecto el orden es por fecha del gasto. | |
Order | string | ASC o DESC (default) | |
ResultsPerPage | integer | Número de resultados por solicitud (máximo 100). | |
Page | integer | Página de resultados. Por defecto = 1 |
https://api.rindegastos.com/v1/getExpenses?Currency=GBP&ResultsPerPage=2
METHOD GET
Authorization: Bearer <token>
{ "Records": { "TotalRecords": 3, "Expenses": 2, "Page": 1, "Pages": 2 }, "Expenses": [ { "Id": 7, "Status": 1, "Supplier": "Great Customer", "IssueDate": "2017-06-27", "OriginalAmount": 23.99, "OriginalCurrency": "GBP", "ExchangeRate": 0, "Net": 19.99, "Tax": 4, "TaxName": "VAT", "OtherTaxes": 0, "RetentionName": "", "Retention": 0, "Total": 23.99, "Currency": "GBP", "Reimbursable": false, "Category": "Electricity", "CategoryCode": "701-201", "CategoryGroup": "Utilities", "CategoryGroupCode": "U012", "Note": 0, "IntegrationDate": "", "IntegrationExternalCode": "", "ExtraFields": [ { "Name": "Expense Type", "Value": "Invoice", "Code": "02" }, { "Name": "VAT ID", "Value": "99999999", "Code": "" } ], "Files": [ { "FileName": "invoice.png", "Extension": "png", "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/2-1-5952e07e4c44a-1498603646-192.png", "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/2-1-5952e07e4c44a-1498603646-192.png", "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/2-1-5952e07e4c44a-1498603646-192.png", "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/2-1-5952e07e4c44a-1498603646-192.png" } ], "NbrFiles": 1, "ReportId": 1, "ExpensePolicyId": 6, "UserId": 2 }, { "Id": 8, "Status": 1, "Supplier": "London Underground", "IssueDate": "2017-06-27", "OriginalAmount": 5, "OriginalCurrency": "GBP", "ExchangeRate": 0, "Net": 5, "Tax": 0, "TaxName": "Exempt", "OtherTaxes": 0, "RetentionName": "", "Retention": 0, "Total": 5, "Currency": "GBP", "Reimbursable": false, "Category": "Taxi", "CategoryCode": "101-102", "CategoryGroup": "Travels", "CategoryGroupCode": "T01", "Note": 0, "IntegrationDate": "", "IntegrationExternalCode": "", "ExtraFields": [ { "Name": "Expense Type", "Value": "Ticket", "Code": "01" }, { "Name": "VAT ID", "Value": "", "Code": "" } ], "Files": [ { "FileName": "London_Underground_One-Day_Travelcard.jpg", "Extension": "jpg", "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/2-1-5952e1803d7d8-1498603904-489.jpg", "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/2-1-5952e1803d7d8-1498603904-489.jpg", "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/2-1-5952e1803d7d8-1498603904-489.jpg", "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/2-1-5952e1803d7d8-1498603904-489.jpg" } ], "NbrFiles": 1, "ReportId": 1, "ExpensePolicyId": 6, "UserId": 2 } ] }
Método para obtener un gasto con toda su información.
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v1/getExpense?Id=<id> | ||
Params | Parámetros que pueden ser agregados a la solicitud para discriminar qué gastos se desea obtener. Los parametros posibles son: | ||
Id | integer | Id único del gasto que se desea obtener. |
A continuación, se muestra un ejemplo usando el método getExpense:
https://api.rindegastos.com/v1/getExpense?Id=7
METHOD GET
Authorization: Bearer <token>
A continuación se muestra el resultado:
{ "Id": 7, "Status": 1, "Supplier": "Great Customer", "IssueDate": "2017-06-27", "OriginalAmount": 23.99, "OriginalCurrency": "GBP", "ExchangeRate": 0, "Net": 19.99, "Tax": 4, "TaxName": "VAT", "OtherTaxes": 0, "RetentionName": "", "Retention": 0, "Total": 23.99, "Currency": "GBP", "Reimbursable": false, "Category": "Electricity", "CategoryCode": "701-201", "CategoryGroup": "Utilities", "CategoryGroupCode": "U012", "Note": 0, "IntegrationDate": "", "IntegrationExternalCode": "", "ExtraFields": [ { "Name": "Expense Type", "Value": "Invoice", "Code": "02" }, { "Name": "VAT ID", "Value": "99999999", "Code": "" } ], "Files": [ { "FileName": "invoice.png", "Extension": "png", "Original": "https:\/\/ppstatic.s3.amazonaws.com\/expenses\/uploads\/original\/2-1-5952e07e4c44a-1498603646-192.png", "Large": "https:\/\/ppstatic.s3.amazonaws.com\/expenses\/uploads\/large\/2-1-5952e07e4c44a-1498603646-192.png", "Medium": "https:\/\/ppstatic.s3.amazonaws.com\/expenses\/uploads\/medium\/2-1-5952e07e4c44a-1498603646-192.png", "Small": "https:\/\/ppstatic.s3.amazonaws.com\/expenses\/uploads\/small\/2-1-5952e07e4c44a-1498603646-192.png" } ], "NbrFiles": 1, "ReportId": 1, "ExpensePolicyId": 6, "UserId": 2 }
Parámetro | Descripción | ||
---|---|---|---|
Método | PUT | ||
URL | https://api.rindegastos.com/v1/setExpenseIntegration | ||
Post Params | Parámetros que pueden ser agregados a la solicitud para discriminar qué gastos se marcarán como integrados o no integrados. | ||
Id | integer | Id único del gasto que se desea marcar como integrado o no integrado. | |
IntegrationStatus | integer | Estado Integrado = 1 o bien No Integrado = 0. | |
IntegrationCode | string(255) | Permite comunicar un código de comprobante contable para enlazar información de la integración con los gastos existentes en Rindegastos. | |
IntegrationDate | dateTime | Fecha/hora de integración YYYY-MM-DD H:i:s, por defecto si el valor del atributo IntegrationStatus es igual a cero, este valor será vacío. |
A continuación, se muestra un ejemplo usando el método setExpenseIntegration:
curl 'https://api.rindegastos.com/v1/setExpenseIntegration' -X PUT
-d '{"Id":1,"IntegrationStatus":1,"IntegrationCode":"0303456","IntegrationDate":"2017-08-01 12:00:00"}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
{
"Id": 1,
"Supplier": "Wallmart",
"OriginalAmount": 100000,
"OriginalCurrency": "CLP",
"IntegrationStatus": 1,
"IntegrationCode": "0303456",
"IntegrationDate": "2017-08-01 12:00:00"
}
La API permite consultar, crear y actualizar fondos de tu empresa en Rindegastos. Además, puedes registrar movimientos (abonos y cargos) y cambiar su estado.
Métodos disponibles
GET getFunds
: Lista fondos según filtros. No incluye los movimientos cada fondo.GET getFund
: Devuelven fondo con toda su información, incluyendo la lista de movimientos.POST createFund
: Crean fondo con su información inicial.PUT updateFund
: Actualiza datos del fondo. No permite cambiar: propietario, creador, moneda ni monto disponible.POST depositMoneyToFund
: Registra un abono en un fondo específico.POST withdrawMoneyFromFund
: Registra un cargo en un fondo específico.PUT setFundStatus
: Cambia el estado de un fondo.Notas y consideraciones
getFund
(no getFunds
).Permite obtener una lista de fondos de la empresa según los parámetros definidos. Sin embargo, no incluye la lista de movimientos de cada fondo.
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v1/getFunds<params> | ||
Params | Parámetros que pueden ser agregados a la solicitud para discriminar qué informes se desea obtener. Los parámetros posibles son: | ||
Status | integer | 1 = Abiertos; 2 = Cerrados; 3 = Bloqueados; en blanco muestra todos los fondos. | |
OrderBy | integer | Permite indicar bajo cual parámetro vamos a ordenar la lista de informes obtenida, donde: 1 = fecha de creación del fondo, 2 = Título del fondo y por defecto si se envía en blanco fecha de creación del fondo. | |
Order | integer | ASC o DESC (default). | |
ResultsPerPage | integer | Número de Resultados por página. | |
Page | integer | Página de resultados. Por defecto = 1 | |
From | date | Filtrar fondos creados desde esta fecha. Formato YYYY-MM-DD. | |
To | date | Filtrar fondos creados hasta esta fecha. Formato YYYY-MM-DD. |
A continuación, se muestra un ejemplo usando el método getFunds de la API de Rindegastos, el cual permite consultar los fondos de la empresa.
https://api.rindegastos.com/v1/getFunds?ResultsPerPage=2
METHOD GET
Authorization: Bearer <token>
El ejemplo de resultado para esta llamada se muestra a continuación:
{ "Records": { "TotalRecords": 2, "Funds": 2, "Page": 1, "Pages": 1 }, "Funds": [ { "Id": 123456, "Title": "Licencia Pro Anual", "Code": "2025", "Currency": "CLP", "IdAssignTo": 123434, "IdCreator": 123434, "Deposits": 50000.00, "Withdrawals": 0.00, "Balance": 50000.00, "Status": 1, "CreatedAt": "2025-07-20", "ExpirationDate": "", "FlexibleFund": "1", "ManualDeposit": false, "AutomaticBlock": false }, { "Id": 789012, "Title": "Viáticos Reunión", "Code": "2026", "Currency": "CLP", "IdAssignTo": 0, "IdCreator": 0, "Deposits": 20000.00, "Withdrawals": 0.00, "Balance": 20000.00, "Status": 0, "CreatedAt": "2025-07-19", "ExpirationDate": "", "FlexibleFund": "1", "ManualDeposit": false, "AutomaticBlock": false } ] }
Método para obtener un fondo con toda su información. Incluye la lista de movimientos del fondo solicitado.
Parámetro | Descripción | |||
---|---|---|---|---|
Método | GET | |||
URL | https://api.rindegastos.com/v1/getFund?Id=<id> | |||
Params | Para usar este servicio solo podemos comunicar un parámetro el cual corresponde al Id del fondo. | |||
Id | integer | Id único del fondo que se desea obtener. |
A continuación, se muestra un ejemplo usando el método getFund de la API de Rindegastos, que permite consultar un fondo específico de la empresa.
https://api.rindegastos.com/v1/getFund?Id=3
METHOD GET
Authorization: Bearer <token>
El resultado ejemplo para esta llamada se muestra a continuación:
{ "Id": 3, "Title": "Fund Executive ", "Code": "852KJ", "Currency": "GBP", "IdAssignTo": 4, "IdCreator": 4, "Deposits": 860.00, "Charges": 30.00, "Balance": 830.00, "Status": 1, "CreatedAt": 2020-07-10 13:34:19, "ExpirationDate": "", "FlexibleFund": "1", "ManualDeposit": false, "AutomaticBlock": false, "Transactions": [ { "TransactionType": 1, "TransactionTypeName": "Deposit", "TransactionAmount": 860.00, "TransactionDate": "2017-06-30" }, { "TransactionType": 2, "TransactionTypeName": "Withdrawal", "TransactionAmount": 30.00, "TransactionDate": "2017-06-30" } ] }
Método para crear un fondo con toda su información.
Parámetro | Descripción | ||
---|---|---|---|
Método | POST | ||
URL | https://api.rindegastos.com/v1/createFund | ||
Post Params | Parámetros a comunicar para crear un fondo se deben enviar como Body. | ||
IdEmployee | integer | Id único del empleado al cual asignaremos el fondo. (Obligatorio) | |
IdAdmin | integer | Id único del usuario con rol administrador bajo el cual crearemos el Fondo (debe tener definido permiso para administrar fondos). (Obligatorio) | |
FundName | string(200) | Nombre del fondo. (Obligatorio) | |
FundCurrency | string(3) | Código estándar (ISO 4217) de la moneda asociada al fondo. (Obligatorio) | |
FundCode | string(50) | Código del fondo. | |
FundAmount | float | Monto del fondo con dos posiciones decimales (separadas con punto). (Obligatorio) | |
FundComment | string(255) | Comentario u observación del fondo. | |
FundFlexibility | boolean | El usuario podrá enviar informes aunque se sobrepase el saldo disponible. | |
FundAutoDeposit | boolean | Al cerrar un informe de gastos asociado a este fondo abonar automáticamente el monto aprobado para volver al saldo disponible inicial. | |
FundAutoBlock | boolean | Bloquear este fondo luego de que el rendidor envíe un informe de gastos. | |
FundExpiration | boolean | Definir una fecha en la que fondo debe ser comprobado y alertar al rendidor y al creador del fondo. | |
FundExpirationDate | date | YYYY-MM-DD Fecha en la que fondo debe ser comprobado (solo si FundExpiration es TRUE) |
A continuación, se muestra un ejemplo usando el método createFund de la API v1 de Rindegastos:
curl 'https://api.rindegastos.com/v1/createFund' -X POST
-d '{"IdEmployee":4,"IdAdmin":5,"FundName":"Fund Executive","FundCurrency":"GBP","FundCode":"852KJ","FundAmount":860.00,"FundComment":"Comment...","FundFlexibility":true,"FundAutoDeposit":true,"FundAutoBlock":true,"FundExpiration":true,"FundExpirationDate":"2017-01-01"}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
El resultado ejemplo para esta llamada se muestra a continuación:
{ "Id": 3, "Title": "Fund Executive ", "Code": "852KJ", "Currency": "GBP", "IdAssignTo": 4, "IdCreator": 5, "Deposits": 860.00, "Charges": 0.00, "Balance": 860.00, "Status": 1, "CreatedAt": 2016-07-10 13:34:19, "ExpirationDate": "2017-01-01", "FlexibleFund": true, "ManualDeposit": true, "AutomaticBlock": true, "Transactions": [ { "TransactionType": 1, "TransactionTypeName": "Deposit", "TransactionAmount": 860.00, "TransactionDate": "2017-06-30" } ] }
Permite actualizar un fondo.
⚠️ Importante: No se podrá cambiar el propietario, el creador, la moneda ni el monto disponible del fondo.
Parámetro | Descripción | ||
---|---|---|---|
Método | PUT | ||
URL | https://api.rindegastos.com/v1/updateFund | ||
Post Params | Parámetros a comunicar para actualizar un fondo se deben enviar como Body. | ||
Id | integer | Id único del fondo que deseamos actualizar. (Obligatorio) | |
IdAdmin | integer | Id único del usuario con rol administrador bajo el cual actualizaremos el Fondo (debe tener definido permiso para administrar fondos). (Obligatorio) | |
FundName | string(200) | Nombre del fondo. (Obligatorio) | |
FundCode | string(50) | Código del fondo. | |
FundComment | string(255) | Comentario u observación del fondo. | |
FundFlexibility | boolean | El usuario podrá enviar informes aunque se sobrepase el saldo disponible | |
FundAutoDeposit | boolean | Al cerrar un informe de gastos asociado a este fondo abonar automáticamente el monto aprobado para volver al saldo disponible inicial. | |
FundAutoBlock | boolean | Bloquear este fondo luego de que el rendidor envíe un informe de gastos. | |
FundExpiration | boolean | Definir una fecha en la que fondo debe ser comprobado y alertar al rendidor y al creador del fondo. | |
FundExpirationDate | date | YYYY-MM-DD Fecha en la que fondo debe ser rendido (solo si FundExpiration es TRUE) |
A continuación, se muestra un ejemplo usando el método updateFund de la API de Rindegastos, el cual permite actualizar un fondo específico de la empresa.
curl 'https://api.rindegastos.com/v1/updateFund' -X PUT
-d '{"Id":3,"IdAdmin":5,"FundName":"Fund Executive Update","FundCode":"852KJ","FundComment":"Comment...","FundFlexibility":true,"FundAutoDeposit":true,"FundAutoBlock":true,"FundExpiration":true,"FundExpirationDate":"2017-01-01"}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
El resultado ejemplo para esta llamada se muestra a continuación:
{
"Id": 3,
"Title": "Fund Executive Update",
"Code": "852KJ",
"Currency": "GBP",
"IdAssignTo": 4,
"IdCreator": 5,
"Deposits": 860.00,
"Charges": 0.00,
"Balance": 860.00,
"Status": 1,
"CreatedAt": 2016-07-10 13:34:19,
"ExpirationDate": "2017-01-01",
"FlexibleFund": true,
"ManualDeposit": true,
"AutomaticBlock": true,
"Transactions": [
{
"TransactionType": 1,
"TransactionTypeName": "Deposit",
"TransactionAmount": 860.00,
"TransactionDate": "2017-06-30"
}
]
}
Método para realizar abonos a un fondo específico.
Parámetro | Descripción | ||
---|---|---|---|
Método | POST | ||
URL | https://api.rindegastos.com/v1/depositMoneyToFund | ||
Post Params | Parámetros a comunicar para actualizar un fondo se deben enviar como Body. | ||
Id | integer | Id único del fondo al cual deseamos realizar un abono. (Obligatorio) | |
IdAdmin | integer | Id único del usuario con rol administrador bajo el cual realizaremos el abono (debe tener definido permiso para administrar fondos). (Obligatorio) | |
DepositAmount | float | Monto del abono a realizar, permite valores con dos posiciones decimales (con punto separador). |
A continuación, se muestra un ejemplo usando el método depositMoneyToFund de la API de Rindegastos.
curl 'https://api.rindegastos.com/v1/depositMoneyToFund' -X POST
-d '{"Id":3,"IdAdmin":6,"DepositAmount":100.00}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
El ejemplo del resultado para esta llamada se muestra a continuación:
{
"Id": 3,
"Title": "Fund Executive Update",
"Code": "852KJ",
"Currency": "GBP",
"IdAssignTo": 4,
"IdCreator": 5,
"Deposits": 960.00,
"Charges": 0.00,
"Balance": 960.00,
"Status": 1,
"CreatedAt": 2016-08-10 13:34:19,
"ExpirationDate": "2017-01-01",
"FlexibleFund": true,
"ManualDeposit": true,
"AutomaticBlock": true,
"Transactions": [
{
"TransactionType": 1,
"TransactionTypeName": "Deposit",
"TransactionAmount": 860.00,
"TransactionDate": "2017-06-30"
},
{
"TransactionType": 1,
"TransactionTypeName": "Deposit",
"TransactionAmount": 100.00,
"TransactionDate": "2017-06-30"
}
]
}
Método para realizar cargos a un fondo específico.
Parámetro | Descripción | |
---|---|---|
Método | POST | |
URL | https://api.rindegastos.com/v1/withdrawMoneyFromFund | |
Post Params | Parámetros a comunicar para actualizar un fondo se deben enviar como Body. | |
Id | Id único del fondo al cual deseamos realizar un cargo. (Obligatorio) | |
IdAdmin | Id único del usuario con rol administrador bajo el cual realizaremos el cargo (debe tener definido permiso para administrar fondos). (Obligatorio) | |
WithdrawAmount | Monto del cargo a realizar. Permite valores con dos posiciones decimales (con punto separador). |
A continuación, se muestra un ejemplo usando el método withdrawMoneyFromFund de la API de Rindegastos.
curl 'https://api.rindegastos.com/v1/withdrawMoneyFromFund' -X POST
-d '{"Id":3,"IdAdmin":6,"WithdrawAmount":100.00}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
El resultado ejemplo para esta llamada se muestra a continuación:
{
"Id": 3,
"Title": "Fondo Test",
"Code": "345",
"Currency": "CLP",
"IdAssignTo": 234,
"IdCreator": 8784,
"Deposits": 560000,
"Charges": 80000,
"Balance": 480000,
"Status": 1,
"CreatedAt": "2025-08-11 21:20:19",
"ExpirationDate": "2025-11-05",
"FlexibleFund": "1",
"ManualDeposit": false,
"AutomaticBlock": false,
"Transactions": [
{
"TransactionType": 1,
"TransactionTypeName": "Deposit",
"TransactionAmount": 500000,
"TransactionDate": "2025-08-11"
},
{
"TransactionType": 1,
"TransactionTypeName": "Deposit",
"TransactionAmount": 60000,
"TransactionDate": "2025-08-11"
},
{
"TransactionType": 2,
"TransactionTypeName": "Withdrawal",
"TransactionAmount": 80000,
"TransactionDate": "2025-08-11"
}
]
}
Método para cambiar el estado a un fondo.
Parámetro | Descripción | ||
---|---|---|---|
Método | PUT | ||
URL | https://api.rindegastos.com/v1/setFundStatus | ||
Post Params | Parámetros a comunicar para actualizar un fondo se deben enviar como Body. | ||
Id | integer | Id único del fondo al cual deseamos realizar un cargo. (Obligatorio) | |
IdAdmin | integer | Id único del usuario con rol administrador bajo el cual realizaremos el cargo (debe tener definido permiso para administrar fondos). (Obligatorio) | |
FundStatus | integer | Estado bajo el cual queremos dejar el fondo. Los valores para los estados disponibles son: 1 (Abierto): Al estar el fondo en estado, permite al rendidor enviar informes de gastos asociados al fondo especificado. 2 (Cerrado):Cerrar y dar por terminado el ciclo de vida del fondo especificado. 3 (Bloqueado):Al estar el fondo en estado, No permite al rendidor enviar informes de gastos asociados al fondo especificado. |
A continuación, se muestra un ejemplo usando el método setFundStatus de la API de Rindegastos.
curl 'https://api.rindegastos.com/v1/setFundStatus' -X PUT
-d '{"Id":3,"IdAdmin":6,"FundStatus":2}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
{
"Id": 3,
"Title": "Fund Executive Update",
"Code": "852KJ",
"Currency": "GBP",
"IdAssignTo": 4,
"IdCreator": 5,
"Deposits": 860.00,
"Charges": 100.00,
"Balance": 760.00,
"Status": 2,
"CreatedAt": 2016-09-12 13:34:19,
"ExpirationDate": "2017-01-01",
"FlexibleFund": true,
"ManualDeposit": true,
"AutomaticBlock": true,
"Transactions": [
{
"TransactionType": 1,
"TransactionTypeName": "Deposit",
"TransactionAmount": 860.00,
"TransactionDate": "2017-06-30"
},
{
"TransactionType": 2,
"TransactionTypeName": "Withdrawal",
"TransactionAmount": 100.00,
"TransactionDate": "2017-06-30"
}
]
}
La API permite consultar la información de las Políticas de Gastos configuradas en tu empresa, incluyendo sus campos personalizados, categorías, flujos de aprobación y tasas asociadas.
Estas sección es únicamente de lectura de datos: no es posible crear, modificar o eliminar políticas de gasto mediante la API v1.
Métodos disponibles
GET getExpensePolicies
: Obtiene la lista de políticas de gasto configuradas en la empresa.GET getExpensePolicy
: Devuelve información completa de una política de gasto específica.GET geExpensePolicyExpenseReportExtraFields
: Lista los campos personalizados de informes asociados a la política.GET getExpensePolicyExpenseFields
: Lista los campos personalizados de gastos asociados a la política.GET getExpensePolicyCategories
: Devuelve las categorías de gasto definidas en la política.GET getExpensePolicyWorkflow
: Muestra la configuración del flujo de aprobación de la política en la antigua versión de Rindegastos.GET getExpensePolicyTaxes
: Devuelve los impuestos asociados a la política.Notas y consideraciones:
Todos los métodos son de lectura; no existen endpoints para creación o edición en esta versión.
Método para obtener una lista de Políticas de Gastos de la empresa según parámetros definidos.
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v1/getExpensePolicies<params> | ||
Params | Parámetros que pueden ser agregados a la solicitud para discriminar qué políticas se desean obtener. Los parámetros posibles son: | ||
Status | integer | 1 = Activa; 0 = Inactiva; si se envía en blanco muestra políticas en ambos estados. | |
OrderBy | integer | Permite indicar bajo cual parámetro vamos a ordenar la lista de informes obtenida, donde: 1 = fecha de creación de la política, 2 = Título de la Política de Gastos y, por defecto, si se envía en blanco fecha de creación de la política. | |
Order | integer | ASC o DESC (default). | |
ResultsPerPage | integer | Número de Resultados por página. | |
Page | integer | Página de resultados. Por defecto = 1 |
A continuación, se muestra un ejemplo usando el método getExpensePolicies:
https://api.rindegastos.com/v1/getExpensePolicies?Status=1&ResultsPerPage=2
METHOD GET
Authorization: Bearer <token>
{
"Records": {
"TotalRecords": 3,
"Policies": 2,
"Page": 1,
"Pages": 2
},
"Policies": [
{
"Id": 7,
"Name": "New Scotland",
"Code": "",
"Description": "",
"IsActive": true,
"Currency": "GBP",
"TotalEmployees": 3,
"TotalApprovers": 2
},
{
"Id": 6,
"Name": "East Devon",
"Code": "852",
"Description": "",
"IsActive": true,
"Currency": "GBP",
"TotalEmployees": 4,
"TotalApprovers": 2
}
]
}
Método para obtener una política de gastos específica con toda su información.
Parámetro | Descripción | ||
URL | https://api.rindegastos.com/v1/getExpensePolicy?Id=<id> | ||
Params | Para usar este servicio solo podemos comunicar un parámetro el cual corresponde al Id de la Política de Gastos. | ||
Id | integer | Id único de la política de gastos que se desea obtener. |
A continuación, se muestra un ejemplo usando el método getExpensePolicy:
https://api.rindegastos.com/v1/getExpensePolicy?Id=2
METHOD GET
Authorization: Bearer <token>
{
"Records": {
"TotalRecords": 1,
"Policies": 1,
"Page": 1,
"Pages": 1
},
"Policies": [
{
"Id": 2,
"Name": "Headquarters",
"Code": "0102HQ",
"Description": "My new Policy",
"IsActive": true,
"Currency": "GBP",
"TotalEmployees": 4,
"TotalApprovers": 2
}
]
}
Método para obtener una lista con los campos extras para informes.
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v1/getExpensePolicyExpenseReportFields?IdPolicy=<id> | ||
Params | Para usar este servicio solo podemos comunicar los siguientes parámetros. | ||
IdPolicy | integer | Id único de la política que desea consultar. | |
OrderBy | integer | 1: nombre (defecto) o 2: fecha creación | |
Order | string | ASC o DESC (default) |
A continuación, se muestra un ejemplo usando el método getExpensePolicyExpenseReportFields:
https://api.rindegastos.com/v1/getExpensePolicyExpenseReportFields?IdPolicy=2
METHOD GET
Authorization: Bearer <token>
El resultado ejemplo para esta llamada se muestra a continuación:
{
"IdPolicy": 2,
"PolicyName": "Headquarters",
"NbrFields": 2,
"ExpenseExtraFields": [
{
"Name": "Due Date",
"Type": "date",
"DefaultValue": "",
"DefaultCode": "",
"Options": [
]
},
{
"Name": "Costing Code",
"Type": "list",
"DefaultValue": "London",
"DefaultCode": "0101",
"Options": [
{
"Value": "London",
"Code": "0101"
},
{
"Value": "North Wales",
"Code": "0202"
}
]
}
]
}
Método para obtener una lista con los campos extra para gastos.
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v1/getExpensePolicyExpenseFields?IdPolicy=<id> | ||
Params | Para usar este servicio podemos comunicar los siguientes parámetros. | ||
IdPolicy | integer | Id único de la política que desea consultar. | |
OrderBy | integer | 1: nombre (defecto) o 2: fecha creación | |
Order | string | ASC o DESC (default) |
A continuación, se muestra un ejemplo usando el método getExpensePolicyExpenseFields:
https://api.rindegastos.com/v1/getExpensePolicyExpenseFields?IdPolicy=2
METHOD GET
Authorization: Bearer <token>
{
"IdPolicy": 2,
"PolicyName": "Headquarters",
"NbrFields": 3,
"ExpenseExtraFields": [
{
"Name": "VAT ID",
"Type": "text",
"DefaultValue": "",
"DefaultCode": "",
"Options": [
]
},
{
"Name": "Tipo de Documento",
"Type": "list",
"DefaultValue": "",
"DefaultCode": "",
"Options": [
{
"Value": "BOLETA",
"Code": "dsa"
},
{
"Value": "Factura Electr\u00f3nica",
"Code": "DSA"
},
{
"Value": "Factura Exenta Electronica",
"Code": "SDD"
},
{
"Value": "N.Cr\u00e9d.Electr\u00f3nica",
"Code": "SA"
}
]
},
{
"Name": "Expense Type",
"Type": "list",
"DefaultValue": "Invoice",
"DefaultCode": "02",
"Options": [
{
"Value": "Invoice",
"Code": "02"
},
{
"Value": "Ticket",
"Code": "01"
}
]
}
]
}
Método para obtener una lista con todas las categorías de una política específica.
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v1/getExpensePolicyCategories?IdPolicy=<id> | ||
Params | Para usar este servicio podemos comunicar los siguientes parámetros: | ||
IdPolicy | integer | Id único de la política que desea consultar. | |
OrderBy | integer | 1: nombre (defecto) o 2: fecha creación | |
Order | string | ASC o DESC (default) |
A continuación, se muestra un ejemplo usando el método getExpensePolicyCategories:
{
"IdPolicy": 2,
"PolicyName": "Headquarters",
"NbrCategories": 7,
"Categories": [
{
"Name": "Water",
"GroupName": "Utilities",
"GroupCode": "U012",
"AccountCode": "701-202",
"Instructions": ""
},
{
"Name": "Uber",
"GroupName": "Travels",
"GroupCode": "T01",
"AccountCode": "101-105",
"Instructions": "Only for Uber"
},
{
"Name": "Taxi",
"GroupName": "Travels",
"GroupCode": "T01",
"AccountCode": "101-102",
"Instructions": "Only for taxi"
},
{
"Name": "Phones",
"GroupName": "Utilities",
"GroupCode": "U012",
"AccountCode": "802-201",
"Instructions": ""
},
{
"Name": "Internet",
"GroupName": "Utilities",
"GroupCode": "U012",
"AccountCode": "902-302",
"Instructions": ""
},
{
"Name": "Food",
"GroupName": "Travels",
"GroupCode": "T01",
"AccountCode": "101-101",
"Instructions": ""
},
{
"Name": "Electricity",
"GroupName": "Utilities",
"GroupCode": "U012",
"AccountCode": "701-201",
"Instructions": ""
}
]
}
Método para obtener una lista con todos los aprobadores del flujo de aprobación para una política específica.
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v1/getExpensePolicyWorkflow?IdPolicy=<id> | ||
Params | Para usar este servicio solo podemos comunicar un parámetro el cual corresponde al Id de la política. | ||
IdPolicy | integer | Id único de la política que desea consultar. |
A continuación, se muestra un ejemplo usando el método getExpensePolicyWorkflow:
https://api.rindegastos.com/v1/getExpensePolicyWorkflow?IdPolicy=2
METHOD GET
Authorization: Bearer <token>
{
"IdPolicy": 2,
"PolicyName": "Headquarters",
"RevisionLevels": 2,
"Approvers": [
{
"Level": 1,
"ApproverId": "2",
"ApproverName": "John Lemon",
"ApproverEmail": "John@myAbbey.net",
"AmmountRestriction": false,
"RestrictionReportAmount": 0,
"RestrictionExtraApproverId": "",
"RestrictionExtraApproverEmail": ""
},
{
"Level": 2,
"ApproverId": "4",
"ApproverName": "Apple MacCartney",
"ApproverEmail": "apple@myabbey.net",
"AmmountRestriction": false,
"RestrictionReportAmount": 0,
"RestrictionExtraApproverId": "",
"RestrictionExtraApproverEmail": ""
}
]
}
Método para obtener una lista con todos los impuestos configurados en la política de gastos.
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v1/getExpensePolicyTaxes?IdPolicy=<id> | ||
Params | Para usar este servicio se debe enviar el Id de la política de gastos. | ||
IdPolicy | integer | Id único de la política que desea consultar. |
A continuación, se muestra un ejemplo usando el método getExpensePolicyTaxes de la API de Rindegastos.
https://api.rindegastos.com/v1/getExpensePolicyTaxes?IdPolicy=2
METHOD GET
Authorization: Bearer <token>
{
"IdPolicy": 2,
"PolicyName": "Headquarters",
"NbrTaxes": 2,
"Taxes": [
{
"Type": 1,
"Name": "Exempt",
"Value": 0
},
{
"Type": 1,
"Name": "VAT",
"Value": 20
}
]
}
GET getUsers
: Obtiene la lista de usuarios de la empresa según los parámetros definidos.GET getUser
: Devuelve información completa de un usuario específico.Notas y consideraciones
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v1/getUsers<params> | ||
Params | Parámetros que pueden ser agregados a la solicitud para discriminar qué informes se desea obtener. Los parametros posibles son: | ||
OrderBy | integer | Permite indicar bajo cual parámetros vamos a ordenar la lista de usuarios obtenida, donde: 1 = fecha de creación, 2 = Apellido. Por defecto si se envía en blanco se utilizará fecha de creación del usuario. | |
Order | integer | ASC o DESC (default). | |
ResultsPerPage | integer | Número de Resultados por página. | |
Page | integer | Página de resultados. Por defecto = 1 |
A continuación, se muestra un ejemplo usando el método getUsers de la API de Rindegastos. Este método permite consultar los usuarios de la empresa.
{
"Records": {
"TotalRecords": 4,
"Users": 4,
"Page": 1,
"Pages": 1
},
"Users": [
{
"Id": 3,
"FirstName": "Mango",
"LastName": "Starr",
"Identification": "",
"CostingCode": "",
"EmployeeNumber": "",
"Department": "",
"Position": "",
"CreatedAt": "2017-06-28 00:16:03",
"LastLogin": "",
"Role": [
{ "Admin": false, "Management": false } ] },
{
"Id": 5,
"FirstName": "George",
"LastName": "Pearrison",
"Identification": "",
"CostingCode": "",
"EmployeeNumber": "",
"Department": "",
"Position": "",
"CreatedAt": "2017-06-28 00:16:03",
"LastLogin": "",
"Role": [
{ "Admin": false, "Management": false } ] },
{
"Id": 4,
"FirstName": "Apple",
"LastName": "MacCartney",
"Identification": "",
"CostingCode": "",
"EmployeeNumber": "",
"Department": "",
"Position": "",
"CreatedAt": "2017-06-28 00:16:03",
"LastLogin": "2017-06-29 20:32:31",
"Role": [
{ "Admin": true, "Management": true } ] },
{
"Id": 2,
"FirstName": "John",
"LastName": "Lemon",
"Identification": "",
"CostingCode": "",
"EmployeeNumber": "",
"Department": "Gerencia General",
"Position": "Presidente",
"CreatedAt": "2017-06-28 00:16:03",
"LastLogin": "2017-06-29 20:30:21",
"Role": [
{ "Admin": true, "Management": true } ] }
]
}
Obtiene la información completa de un usuarios específico de la empresa.
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v1/getUser | ||
Params |
Este servicio acepta un único parámetro para identificar al usuario: el Id del usuario. Si no dispones de este dato, puedes proporcionar la dirección de correo electrónico del usuario que deseas consulta. |
||
Id | integer |
Id único del usuario que se desea obtener. (Ej: https://api.rindegastos.com/v1/getUser?Id=<id>) |
|
string(150) | Correo electrónico único correspondiente al usuario que se desea obtener. Id único del usuario que se desea obtener. (Ej.: https://api.rindegastos.com/v1/getUser?Email=<name@company.com>) |
A continuación, se muestra un ejemplo usando el método getUser:
https://api.rindegastos.com/v1/getUser?Id=2
METHOD GET
Authorization: Bearer <token>
El resultado ejemplo para esta llamada se muestra a continuación:
{
"Id": 2,
"FirstName": "John",
"LastName": "Lemon",
"Identification": "",
"CostingCode": "",
"EmployeeNumber": "",
"Department": "Gerencia General",
"Position": "Presidente",
"CreatedAt": "2017-06-28 00:16:03",
"LastLogin": "2017-06-29 20:30:21",
"Role": [
{ "Admin": true, "Management": true } ] }
Introducción
La API v2 de Rindegastos es la versión vigente y evolutiva de nuestra interfaz de integración.
Fue diseñada para mejorar la consistencia de respuestas, ampliar capacidades funcionales y facilitar la escala futura sin afectar a integraciones existentes
Recomendación: Para nuevos desarrollos o ampliaciones, utiliza API v2. La API v1 seguirá operativa para compatibilidad, pero no recibirá nuevas funcionalidades.
Métodos disponibles
GET getExpenseReports
: Obtiene una lista de informes gastos según los parámetros y filtros definidos.GET getExpenseReport
: Devuelve la información completa de un informe gastos específico, incluyendo todos los nuevos campos incorporados en v2.Notas y consideraciones
Método para obtener una lista de informes de gastos de la empresa según parámetros definidos.
Parámetro | Descripción | |||||
---|---|---|---|---|---|---|
Method | GET | |||||
URL | https://api.rindegastos.com/v2/getExpenseReports<params> | |||||
Parámetros | Parámetros que se pueden agregar a la solicitud para discriminar qué informes se desean obtener. Los parámetros posibles son: |
|||||
Since | date | Fecha desde cuándo contar los informes de gastos en formato YYYY-MM-DD | ||||
Until | date | Fecha hasta cuándo contar los informes de gastos en formato YYYY-MM-DD | ||||
TypeDateFilter | integer | Indica en base a cuál fecha vamos a filtrar usando Since y Until donde: 1 = CloseDate (por defecto) y 2 = SendDate. |
||||
Currency | string(3) | Código ISO de la moneda que se desea filtrar. Por ejemplo USD para dólar americano. | ||||
Status | integer | Estado en que se encuentran los informes en donde: 0 = Abierto o En proceso; 1 = Cerrado. Si se deja en blanco se toman informes en ambos estados. | ||||
ExpensePolicyId | integer | Identificar interno de Rindegastos de la política bajo la cual se ha creado el informe de gastos. | ||||
IntegrationStatus | integer | Buscar informes por estado de integración: 1 = Integrados o 0 = No Integrados. Si se envía blanco no se agrega al filtro de búsqueda. | ||||
IntegrationCode | string(255) | Buscar informes integrados, filtrando por el código de respuesta asignado posterior al proceso de integración. | ||||
IntegrationDate | date | Buscar informes integrados, filtrando por fecha de integración en formato YYYY-MM-DD. | ||||
CustomStatus | string(255) | Estado personalizado asignado a los informes de gastos. Este puede tener una longitud máxima de 255 caracteres. | ||||
PoliciesIds | string[] | Buscar informes de gastos por una lista de políticas, este debe ir con el siguiente formato: ["12321","8975",...,...,"49236"] |
||||
UserId | integer | Identificador interno de Rindegastos del usuario que envío el informe de gastos. | ||||
OrderBy | integer | Permite indicar bajo cual parámetro vamos a ordenar la lista de informes obtenida donde: 1 = CloseDate, 2 = SendDate, 3 = Id. Por defecto se ordena en base a la fecha de envío (SendDate) | ||||
ResultsPerPage | integer | Número de resultados por página. | ||||
Page | integer | Página de resultados. Por defecto = 1 |
https://api.rindegastos.com/v2/getExpenseReports?Currency=CLP METHOD GET Authorization: Bearer <token>
{ "Records": { "TotalRecords": 2, "ExpenseReports": 2, "Page": 1, "Pages": 1, "ResponseMessage": "La solicitud tuvo éxito." }, "ExpenseReports": [ { "Id": 80506, "Title": "Licencia Pro Anual", "ReportNumber": "2143", "SentDate": "2025-02-19", "ClosedDate": "2025-03-06", "Employee": { "Id": 104531, "Name": "Juan Pérez", "Email": "juan@rindegastos.com", "Number": "", "Identification": "412414", "Department": "", "Position": "", "CostCenter": "" }, "ApproverId": 104531, "ApproverName": "Pedro Rojas", "Policy": { "Id": 271176, "Name": "Política Personal", "Code": "", "Description": null, "IsActive": 1, "Currency": "CLP", "isIntegrated": 0, "isBlockedIntegration": 0, "isFatherIntegration": 0 }, "Status": 1, "CompanyStatus": null, "CompanyStatusColor": null, "FundId": null, "FundName": "", "ReportTotal": 2131, "ReportTotalApproved": 2131, "Subtotal": 2131, "Currency": "CLP", "Note": null, "NumberExpenses": 1, "NumberExpensesApproved": 1, "NumberExpensesRejected": 0, "StatusChangedDate": null, "IntegrationDate": null, "IsIntegrated": 0, "InternalIntegrationCode": null, "ExternalIntegrationCode": null, "NumberOfFiles": 0, "Tax": 0, "OtherTaxes": 0, "Retention": 0, "WorkflowId": "64e61b02636f426bb195c8978", "ReviewerPositionId": "65c5166ed4262dd01aa93pi2", "ExtraFields": [ { "Id": 22937, "Name": "Área", "Value": "TI", "Code": "124", "Instructions": null }, { "Id": 21832938, "Name": "Proyecto", "Value": "Portal Web", "Code": "2313", "Instructions": null }, { "Id": 21832939, "Name": "Compra anual", "Value": "Compra anual", "Code": "123", "Instructions": null } ], "Files": [ { "FileName": "Captura de pantalla 2025-04-02 a la(s) 5.18.06â?¯p.m..png", "Extension": "png", "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png" } ] }, { "Id": 8598762, "Title": "test", "ReportNumber": "2147", "SentDate": "2025-02-24", "ClosedDate": "2025-02-24", "Employee": { "Id": 159848, "Name": "Juan Pérez", "Email": "juan@rindegastos.com", "Number": "", "Identification": "412414", "Department": "", "Position": "", "CostCenter": "" }, "ApproverId": 159848, "ApproverName": "Pedro Rojas", "Policy": { "Id": 255642, "Name": "Política Personal", "Code": "", "Description": "", "IsActive": 1, "Currency": "CLP", "isIntegrated": 0, "isBlockedIntegration": 0, "isFatherIntegration": 0 }, "Status": 1, "CompanyStatus": null, "CompanyStatusColor": null, "FundId": 218918, "FundName": "Fondo para prueba de sobrepasar limite", "ReportTotal": 9000, "ReportTotalApproved": 9000, "Subtotal": 9000, "Currency": "CLP", "Note": "erwre", "NumberExpenses": 1, "NumberExpensesApproved": 1, "NumberExpensesRejected": 0, "StatusChangedDate": null, "IntegrationDate": null, "IsIntegrated": 0, "InternalIntegrationCode": null, "ExternalIntegrationCode": null, "NumberOfFiles": 0, "Tax": 0, "OtherTaxes": 0, "Retention": 0, "WorkflowId": "64c96d57d030b80943d08741w", "ReviewerPositionId": "64c96d65d030b80943d087884", "ExtraFields": [ { "Id": 21920082, "Name": "Área", "Value": "TI", "Code": "124", "Instructions": null }, { "Id": 21920083, "Name": "Proyecto", "Value": "Portal Web", "Code": "2313", "Instructions": null }, { "Id": 21920084, "Name": "Compra anual", "Value": "Compra anual", "Code": "123", "Instructions": null }, { "Id": 21920085, "Name": "Compra anual", "Value": "Compra anual", "Code": "123", "Instructions": null }, { "Id": 21920086, "Name": "Compra anual", "Value": "Compra anual", "Code": "123", "Instructions": null } ], "Files": [] } ] }
Método para obtener un informe de gastos.
Parámetro | Descripción | |||||
---|---|---|---|---|---|---|
Method | GET | |||||
URL | https://api.rindegastos.com/v2/getExpenseReport<params> | |||||
Parámetros | Parámetro obligatorio que se puede agregar a la solicitud es el Id del informe. | |||||
Id | integer | Id único del informe de gastos que se desea obtener. | ||||
Folio | string | Número del informes de gastos que se visualiza en la Web de Rindegastos. |
https://api.rindegastos.com/v2/getExpenseReport?Id=7894399
METHOD GET
Authorization: Bearer <token>
{ "Records": { "TotalRecords": 1, "ExpenseReports": 1, "Page": 1, "Pages": 1, "ResponseMessage": "La solicitud tuvo éxito." }, "ExpenseReports": { "Id": 99165, "Title": "Licencia Pro Anual", "ReportNumber": "2277", "SentDate": "2025-08-11", "ClosedDate": "2025-08-11", "Employee": { "Id": 342162, "Name": "Juan Pérez", "Email": "juan@rindegastos.com", "Number": "", "Identification": "", "Department": "", "Position": "", "CostCenter": "" }, "ApproverId": 342162, "ApproverName": "Pedro Rojas", "Policy": { "Id": 370012, "Name": "Política Personal", "Code": "000777", "Description": "Política Personal", "IsIntegrated": 0, "IsActive": 1, "Currency": "CLP", "IsBlockedIntegration": 0, "IsFatherIntegration": 0 }, "Status": 1, "CompanyStatus": null, "CompanyStatusColor": null, "FundId": null, "FundName": "", "ReportTotal": 35000, "ReportTotalApproved": 15000, "Subtotal": 12605, "Currency": "CLP", "Note": "Nota de ejemplo", "NumberExpenses": 2, "NumberExpensesApproved": 1, "NumberExpensesRejected": 1, "StatusChangedDate": null, "IntegrationDate": null, "IsIntegrated": 0, "InternalIntegrationCode": null, "ExternalIntegrationCode": null, "NumberOfFiles": 0, "Tax": 2395, "OtherTaxes": 0, "Retention": 0, "WorkflowId": "689a459c5776b1b2bd91ercv6", "ReviewerPositionId": "689a46ad2ae1fb71d6c5fehs4", "ExtraFields": [ { "Id": "262912", "Name": "CampoExtraInforme", "Value": "123123123", "Code": null, "Instructions": null, } ], "Files": [] } }
Gastos
GET getExpenses
: Obtiene una lista de gastos según filtros definidos.GET getExpense
: Devuelve información completa de un gasto especifico.Notas y consideraciones
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v2/getExpenses<params> | ||
Params | Parámetros que pueden ser agregados a la solicitud para discriminar qué gastos se desea obtener. Los parámetros posibles son: | ||
Since | date | Fecha desde cuando contar los gastos en formato YYYY-MM-DD. | |
Until | date | Fecha hasta cuando contar los gastos en formato YYYY-MM-DD. | |
Currency | string(3) | Código ISO de la moneda que se desea filtrar. Por ejemplo USD para dólar americano. Este parámetro trabaja sobre la moneda final del gasto, no la moneda original. | |
Status | integer | 1: Aprobado; 2: Rechazado; 0: En proceso. | |
Category | string(150) | Nombre de la categoría de gastos que se desea. | |
ReportId | integer | Id único del informe de gastos | |
ExpensePolicyId | integer | Id único de la política de gastos | |
IntegrationStatus | integer | Buscar gastos por estado de integración: 1 = Integrados o 0 = No integrados. Si se envía blanco no se agrega al filtro de busqueda. | |
IntegrationCode | string(255) | Buscar gastos integrados, filtrando por el código de comprobante asociado al gasto. | |
IntegrationDate | date | Buscar gastos integrados, filtrando por fecha de integración en formato YYYY-MM-DD. | |
UserId | integer | Id único del usuario en Rindegastos | |
OrderBy | integer | 1: fecha del gasto; 2: fecha creación del gasto. Por defecto el orden es por fecha del gasto. | |
Order | string | ASC o DESC (default) | |
ResultsPerPage | integer | Número de resultados por solicitud (máximo 100). | |
Page | integer | Página de resultados. Por defecto = 1 |
https://api.rindegastos.com/v2/getExpenses?Currency=GBP&ResultsPerPage=2
METHOD GET
Authorization: Bearer <token>
{
"Records": {
"TotalRecords": 1,
"Expenses": 1,
"Page": 1,
"Pages": 1,
"ResponseMessage": "La solicitud tuvo éxito."
},
"Expenses": [
{
"Id": 53851,
"Status": 1,
"Supplier": "Cie de col",
"IssueDate": "2025-07-24",
"OriginalAmount": 1591100,
"OriginalCurrency": "COP",
"ExchangeRate": 0,
"Net": 1400000,
"Taxes": {
"taxPercentage": "0.00",
"taxName": null,
"retentionPercentage": "0.00",
"retentionName": null,
"taxAmount": 0,
"otherTaxesAmount": 0,
"retentionAmount": 0,
"tax": 0,
"retention": 0,
"otherTaxes": 0
},
"MultipleTaxes": {
"policyMultipleTaxes": 1,
"taxes": [
{
"id": "1103022",
"taxName": "IVA 19%",
"taxPercentage": "19.00",
"taxAmount": "266000.00",
"tax": "266000.00",
"baseAmount": "1400000.00",
"retention": 0,
"retentionPercentage": 0,
"retentionAmount": 0,
"retentionName": null,
"suggested": true,
"type": 1,
"code": "iva19"
},
{
"id": "1103026",
"taxName": null,
"taxPercentage": 0,
"taxAmount": 0,
"tax": 0,
"baseAmount": null,
"retention": "39900.00",
"retentionPercentage": "0.00",
"retentionAmount": "39900.00",
"retentionName": "Reteiva",
"suggested": true,
"type": 2,
"code": "retiva"
},
{
"id": "1103028",
"taxName": null,
"taxPercentage": 0,
"taxAmount": 0,
"tax": 0,
"baseAmount": null,
"retention": "35000.00",
"retentionPercentage": "0.00",
"retentionAmount": "35000.00",
"retentionName": "Reterenta",
"suggested": true,
"type": 2,
"code": "retren"
}
]
},
"Total": 1591100,
"Currency": "COP",
"Reimbursable": true,
"Category": null,
"CategoryCode": null,
"CategoryGroup": null,
"CategoryGroupCode": null,
"NbrFiles": 1,
"ReportId": 9814155,
"ExpensePolicyId": 295618,
"UserId": 210552,
"Note": null,
"IsIntegrated": false,
"IntegrationDate": null,
"IntegrationExternalCode": null,
"SatInfo": null,
"SunatInfo": null,
"SriInfo": null,
"DianInfo": null,
"ExtraFields": [
{
"id": "303205431",
"expenseId": "53851",
"expensePolicyExtraFieldId": "1590151",
"type": 4,
"name": "Número de documento",
"value": null,
"code": null,
"index": 2,
"instructions": ,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "303205432",
"expenseId": "53851",
"expensePolicyExtraFieldId": "2116680",
"type": 4,
"name": "Subtotal",
"value": null,
"code": null,
"index": 3,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "303205433",
"expenseId": "53851",
"expensePolicyExtraFieldId": "1885093",
"type": 4,
"name": "Base IVA 19%",
"value": null,
"code": null,
"index": 4,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "303205439",
"expenseId": "53851",
"expensePolicyExtraFieldId": "2116681",
"type": 4,
"name": "ReteRenta",
"value": null,
"code": null,
"index": 10,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "303205440",
"expenseId": "53851",
"expensePolicyExtraFieldId": "2116682",
"type": 4,
"name": "ReteIVA",
"value": null,
"code": null,
"index": 11,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
}
],
"Files": []
}
]
}
{
"Records": {
"TotalRecords": 1,
"Expenses": 1,
"Page": 1,
"Pages": 1,
"ResponseMessage": "La solicitud tuvo éxito."
},
"Expenses": [
{
"Id": 510573,
"Status": 1,
"Supplier": "JELM INVERSIONES S.A.S.",
"IssueDate": "2025-03-01",
"OriginalAmount": 230400,
"OriginalCurrency": "COP",
"ExchangeRate": 0,
"Net": 230400,
"Taxes": {
"taxPercentage": "0.00",
"taxName": null,
"retentionPercentage": "0.00",
"retentionName": null,
"taxAmount": 0,
"otherTaxesAmount": 0,
"retentionAmount": 0,
"tax": 0,
"retention": 0,
"otherTaxes": 0
},
"MultipleTaxes": {
"policyMultipleTaxes": 0,
"taxes": []
},
"Total": 230400,
"Currency": "COP",
"Reimbursable": true,
"Category": "Alimentación",
"CategoryCode": null,
"CategoryGroup": null,
"CategoryGroupCode": null,
"NbrFiles": 2,
"ReportId": null,
"ExpensePolicyId": 348614,
"UserId": 215809,
"Note": null,
"IsIntegrated": false,
"IntegrationDate": null,
"IntegrationExternalCode": null,
"SatInfo": null,
"SunatInfo": null,
"SriInfo": null,
"DianInfo": {
"expenseId": 510573,
"fileId": null,
"xmlDocNumber": "GFP19315",
"xmlDate": "2025-03-01T00:00:00.000Z",
"xmlCurrency": "COP",
"xmlTotal": "230400.00",
"xmlPersonType": "Persona Juridica y Asimiladas",
"xmlFiscalResp": "No Aplica - Otros",
"xmlPaymentMethod": "Instrumento no defin",
"xmlWayToPay": "Contado",
"xmlDepartment": "Cundinamarca",
"xmlCufe": "6e79fca40c7b0c78e2e1f841ac5db602319ac75d4f0ccec612a93fac1415ebdcc917d8be9ba9c531e3fc02cee27c88ac",
"xmlProviderName": "JELM INVERSIONES S.A.S.",
"xmlProviderNit": "900361916",
"xmlProviderCity": "La Calera",
"xmlProviderEmail": "contador@eltambor.com",
"xmlProviderAddress": "KM 12 VIA BOGOTA - LA CALERA",
"xmlReceptorNit": "1019131395",
"xmlReceptorName": "SARMIENTO NATALIA",
"xmlTaxBase": "17067.00",
"xmlTaxName": "INC",
"xmlTaxTotal": "213333.00",
"xmlTaxRate": "8.00",
"xmlTaxCode": "4",
"xmlTaxBase2": "0.00",
"xmlTaxName2": null,
"xmlTaxTotal2": "0.00",
"xmlTaxRate2": "0.00",
"xmlTaxCode2": null,
"xmlTaxBase3": "0.00",
"xmlTaxName3": null,
"xmlTaxTotal3": "0.00",
"xmlTaxRate3": "0.00",
"xmlTaxCode3": null,
"xmlTaxBase4": "0.00",
"xmlTaxName4": null,
"xmlTaxTotal4": "0.00",
"xmlTaxRate4": "0.00",
"xmlTaxCode4": null,
"xmlTaxBase5": "0.00",
"xmlTaxName5": null,
"xmlTaxTotal5": "0.00",
"xmlTaxRate5": "0.00",
"xmlTaxCode5": null,
"xmlTaxBase6": "0.00",
"xmlTaxName6": null,
"xmlTaxTotal6": "0.00",
"xmlTaxRate6": "0.00",
"xmlTaxCode6": null,
"xmlTaxBase7": "0.00",
"xmlTaxName7": null,
"xmlTaxTotal7": "0.00",
"xmlTaxRate7": "0.00",
"xmlTaxCode7": null,
"xmlTaxBase8": "0.00",
"xmlTaxName8": null,
"xmlTaxTotal8": "0.00",
"xmlTaxRate8": "0.00",
"xmlTaxCode8": null,
"xmlTaxBase9": "0.00",
"xmlTaxName9": null,
"xmlTaxTotal9": "0.00",
"xmlTaxRate9": "0.00",
"xmlTaxCode9": null,
"xmlTaxBase10": "0.00",
"xmlTaxName10": null,
"xmlTaxTotal10": "0.00",
"xmlTaxRate10": "0.00",
"xmlTaxCode10": null,
"xmlTaxBase11": "0.00",
"xmlTaxName11": null,
"xmlTaxTotal11": "0.00",
"xmlTaxRate11": "0.00",
"xmlTaxCode11": null,
"xmlTaxBase12": "0.00",
"xmlTaxName12": null,
"xmlTaxTotal12": "0.00",
"xmlTaxRate12": "0.00",
"xmlTaxCode12": null,
"xmlTaxBase13": "0.00",
"xmlTaxName13": null,
"xmlTaxTotal13": "0.00",
"xmlTaxRate13": "0.00",
"xmlTaxCode13": null,
"modifiedInfo": false
},
"ExtraFields": [
{
"id": "287919062",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2131738",
"type": 1,
"name": "NIT Proveedor",
"value": "900361916",
"code": null,
"index": 0,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919063",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2162255",
"type": 2,
"name": "Tipo de Documento",
"value": "Factura Electrónica",
"code": null,
"index": 1,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919064",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2131740",
"type": 1,
"name": "Número de Documento",
"value": "GFP19315",
"code": null,
"index": 2,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919065",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2171947",
"type": 2,
"name": "Impuesto 19%",
"value": null,
"code": null,
"index": 3,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919066",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2169199",
"type": 4,
"name": "Valor IVA 19%",
"value": null,
"code": null,
"index": 4,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919067",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2171948",
"type": 4,
"name": "Valor IVA 5%",
"value": null,
"code": null,
"index": 5,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919068",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2171949",
"type": 4,
"name": "Valor INC 8%",
"value": "17067",
"code": null,
"index": 6,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919069",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2169200",
"type": 4,
"name": "Valor ReteFuente",
"value": null,
"code": null,
"index": 7,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919070",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2169201",
"type": 4,
"name": "Valor ReteIVA",
"value": null,
"code": null,
"index": 8,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919071",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2199924",
"type": 2,
"name": "Centro de Costo",
"value": "20208 - BIOMASS AGRI",
"code": "20208",
"index": 9,
"instructions": ,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919072",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2199871",
"type": 2,
"name": "Localidad",
"value": "BOGOTA",
"code": "1",
"index": 10,
"instructions": ,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "2879073",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2176564",
"type": 2,
"name": "Gasto reembolsable",
"value": null,
"code": null,
"index": 11,
"instructions": null,
"isHiddenField": 1,
"mongoId": null
}
],
"Files": []
}
]
}
{ "Records": { "TotalRecords": 1, "Expenses": 1, "Page": 1, "Pages": 1, "ResponseMessage": "La solicitud tuvo éxito." }, "Expenses": [ { "Id": 49414, "Status": 1, "Supplier": "LAMORSA S.A.S.", "IssueDate": "2022-02-01", "OriginalAmount": 29.01, "OriginalCurrency": "USD", "ExchangeRate": 0, "Net": 29.01, "Taxes": { "taxPercentage": "0.00", "taxName": null, "retentionPercentage": "0.00", "retentionName": null, "taxAmount": 0, "otherTaxesAmount": 0, "retentionAmount": 0, "tax": 0, "retention": 0, "otherTaxes": 0 }, "MultipleTaxes": { "policyMultipleTaxes": 0, "taxes": [] }, "Total": 29.01, "Currency": "USD", "Reimbursable": true, "Category": "Correo", "CategoryCode": "5961063", "CategoryGroup": , "CategoryGroupCode": , "NbrFiles": 1, "ReportId": 8781015, "ExpensePolicyId": 350598, "UserId": 229209, "Note": null, "IsIntegrated": false, "IntegrationDate": null, "IntegrationExternalCode": null, "SatInfo": null, "SunatInfo": null, "SriInfo": { "expenseId": 49414, "fileId": null, "xmlAmbient": "2", "xmlRuc": "993348163001", "xmlEstablishment": "1", "xmlPtoEmi": "1", "xmlSecuencial": "5367", "xmlTotalDiscount": "0.00", "xmlTotalWithNoTaxes": "26.97", "xmlBuyerName": "VERONICA VILLACIS", "xmlBase12": "26.97", "xmlBase0": "0.00", "xmlBase8": "0.00", "xmlBase15": "0.00", "xmlIva12": "2.04", "xmlIva8": "0.00", "xmlIva15": "0.00", "xmlTip": "0.00", "xmlBuyerId": "1713985289", "xmlAuthorizationDate": "2022-02-01", "xmlAuthorizationNumber": "1.0220220109933482e+47", "createdAt": "2025-03-19T12:50:31.000Z", "modifiedInfo": false }, "DianInfo": null, "ExtraFields": [ { "id": "264786111", "expenseId": "49414", "expensePolicyExtraFieldId": "2161838", "type": 2, "name": "Centro de Costo", "value": "Revisiones Tecnicas Samborondon", "code": "6305", "index": null, "instructions": , "isHiddenField": 0, "mongoId": null }, { "id": "264786112", "expenseId": "49414", "expensePolicyExtraFieldId": "2161839", "type": 1, "name": "RUC", "value": "993348163001", "code": null, "index": 1, "instructions": null, "isHiddenField": 0, "mongoId": null }, { "id": "264786113", "expenseId": "49414", "expensePolicyExtraFieldId": "2161840", "type": 2, "name": "Tipo de Documento", "value": "Factura", "code": "01", "index": 2, "instructions": null, "isHiddenField": 0, "mongoId": null }, { "id": "264786114", "expenseId": "49414", "expensePolicyExtraFieldId": "2161841", "type": 1, "name": "Número de Documento", "value": null, "code": null, "index": 3, "instructions": null, "isHiddenField": 0, "mongoId": null } ], "Files": [] } ] }
{ "Records": { "TotalRecords": 1, "Expenses": 1, "Page": 1, "Pages": 1, "ResponseMessage": "La solicitud tuvo éxito." }, "Expenses": [ { "Id": 50222, "Status": 0, "Supplier": "DIGITAL SOLUTIONS AMERICAS", "IssueDate": "2025-07-02", "OriginalAmount": 306.75, "OriginalCurrency": "MXN", "ExchangeRate": 0, "Net": 306.75, "Taxes": { "taxPercentage": "0.00", "taxName": null, "retentionPercentage": "0.00", "retentionName": null, "taxAmount": 0, "otherTaxesAmount": 0, "retentionAmount": 0, "tax": 0, "retention": 0, "otherTaxes": 0 }, "MultipleTaxes": { "policyMultipleTaxes": 0, "taxes": [] }, "Total": 306.75, "Currency": "MXN", "Reimbursable": true, "Category": null, "CategoryCode": null, "CategoryGroup": null, "CategoryGroupCode": null, "NbrFiles": 1, "ReportId": 9815528, "ExpensePolicyId": 265804, "UserId": 156453, "Note": "holaaa", "IsIntegrated": false, "IntegrationDate": null, "IntegrationExternalCode": null, "SatInfo": { "expenseId": "50222", "fileId": "53120649", "xmlRFCEmisor": "DSA130408AM2", "xmlFolio": "90994550", "xmlFecha": "2024-12-19", "xmlFormaDePago": "Tarjeta de crédito", "xmlFormaDePagoCode": "4", "xmlMetodoDePago": "Pago en Una Exhibición", "xmlMetodoDePagoCode": "PUE", "xmlLugarDeExpedicion": "1020", "xmlRFCReceptor": "CMO161107251", "xmlUUID": "F853C6BB-DAA1-5645-900E-5A548774BA88", "xmlTipoDeComprobante": "Ingreso", "xmlTipoDeComprobanteCode": "I", "xmlSerie": "TER", "xmlUsoCFDI": "Gastos en general", "xmlUsoCFDICode": "G03", "xmlTotal": "306.75", "xmlCurrency": "MXN", "xmlNumeroCertificadoSAT": "1000000707310321", "xmlTuaAerolinea": "0.00", "xmlTotalCargosAerolinea": "0.00", "xmlTotalImpTrasladados": "42.31", "xmlTotalRetenciones": "0.00", "xmlTotalTrasladosLocales": "0.00", "xmlTotalRetencionesLocales": "0.00", "xmlNombreReceptor": "CLOE MODA", "xmlDomicilioFiscalReceptor": "45200", "xmlRegimenFiscalReceptor": "601", "xmlRegimenFiscalEmisor": "601", "xmlSubtotal": "264.44", "xmlDescuento": "0.00", "xmlBase": "0.00", "xmlNumRegIdTrib": null, "xmlTrasladoBase": "264.44", "xmlTrasladoTipoImpuesto": "IVA", "xmlTrasladoImporte": "42.31", "xmlTrasladoTasa": "16.00", "xmlTrasladoBase2": "0.00", "xmlTrasladoTipoImpuesto2": null, "xmlTrasladoImporte2": "0.00", "xmlTrasladoTasa2": "0.00", "xmlTrasladoBase3": "0.00", "xmlTrasladoTipoImpuesto3": null, "xmlTrasladoImporte3": "0.00", "xmlTrasladoTasa3": "0.00", "xmlRetencionBase": "0.00", "xmlRetencionTipoImpuesto": null, "xmlRetencionImporte": "0.00", "xmlRetencionTasa": "0.00", "xmlRetencionBase2": "0.00", "xmlRetencionTipoImpuesto2": null, "xmlRetencionImporte2": "0.00", "xmlRetencionTasa2": "0.00", "xmlRetencionBase3": "0.00", "xmlRetencionTipoImpuesto3": null, "xmlRetencionImporte3": "0.00", "xmlRetencionTasa3": "0.00", "xmlTrasladoLocalImpuesto": null, "xmlTrasladoLocalImporte": "0.00", "xmlTrasladoLocalTasa": "0.00", "xmlTrasladoLocalTipoImpuesto2": null, "xmlTrasladoLocalImporte2": "0.00", "xmlTrasladoLocalTasa2": "0.00", "xmlTrasladoLocalTipoImpuesto3": null, "xmlTrasladoLocalImporte3": "0.00", "xmlTrasladoLocalTasa3": "0.00", "xmlRetencionLocal": "0.00", "xmlRetencionLocalImpuesto": null, "xmlRetencionLocalImporte": "0.00", "xmlRetencionLocalTasa": "0.00", "xmlRetencionLocalImpuesto2": null, "xmlRetencionLocalImporte2": "0.00", "xmlRetencionLocalTasa2": "0.00", "xmlRetencionLocalImpuesto3": null, "xmlRetencionLocalImporte3": "0.00", "xmlRetencionLocalTasa3": "0.00", "xmlTotalImpTraslados": "0.00", "satInfoRFC": { "hasRFCInfo": 1, "consultationDate": "2025-05-15", "rfc": null, "outsourcing": null, "snfc": null, "rawData": "{\"taxPayerRfc\":null,\"outSourcing\":null,\"sncf\":null}", "source": "SW Sapien", "sourceUrl": "https://sw.com.mx/" }, "satInfoCFDI": { "hasCFDIInfo": 1, "consultationDate": "2025-05-15", "statusCode": "S - Comprobante obtenido satisfactoriamente.", "isCancellable": "Cancelable sin aceptación", "status": "Vigente", "cancellationStatus": null, "efosValidation": "201", "rawData": "{\"statusCode\":\"S - Comprobante obtenido satisfactoriamente.\",\"isCancellable\":\"Cancelable sin aceptación\",\"status\":\"Vigente\",\"cancellationStatus\":null,\"efosValidation\":201,\"consultationDate\":\"2025-05-15\"}", "source": "SW Sapien", "sourceURL": "https://sw.com.mx/" }, "satInfoLCO": { "hasLCOInfo": 0, "consultationDate": null, "certifiedNumber": null, "rfc": null, "validityObligations": null, "certifiedStatus": null, "startDate": null, "endDate": null, "rawData": null, "source": null, "sourceURL": null }, "satInfoBlacklist": { "hasBlacklistInfo": 0, "consultationDate": null, "rawData": null, "id": null, "rfc": null, "taxpayerName": null, "taxpayerSituation": null, "globalOfficialNumberAndDatePresumption": null, "publicationOfThePresumedSATPage": null, "postingDOFPresumed": null, "publicationOfTheSATPageDistorted": null, "postingDOFDistorted": null, "globalNumberDateDistorted": null, "distortedDOFPublication": null, "definitiveGlobalOfficialDateNumber": null, "definitionsPagePublication": null, "definitiveDOFPublication": null, "globalOfficialDateFavorableJudgement": null, "satPagePublicationFavorableRuling": null, "publicationDOFFavorableJudgement": null, "source": null, "sourceURL": null }, "createdAt": "2025-05-15T16:15:00.000Z" }, "SunatInfo": null, "SriInfo": null, "DianInfo": null, "ExtraFields": [], "Files": [ { "FileName": "Uber 298.71 mas 8.04.xml", "Extension": "xml", "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-156453-1-50466222-594-03bd561a-1940-4072-b8df-6610086d0aea.xml", "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-156453-1-50466222-594-03bd561a-1940-4072-b8df-6610086d0aea.xml", "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/app-156453-1-50466222-594-03bd561a-1940-4072-b8df-6610086d0aea.xml", "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-156453-1-50466222-594-03bd561a-1940-4072-b8df-6610086d0aea.xml" } ] } ] }
Método para obtener un gasto con toda su información.
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v2/getExpense?Id=<id> | ||
Params | Parámetros que pueden ser agregados a la solicitud para discriminar qué gastos se desea obtener. Los parametros posibles son: | ||
Id | integer | Id único del gasto que se desea obtener. |
A continuación, se muestra un ejemplo usando el método getExpense:
https://api.rindegastos.com/v2/getExpense?Id=53851
METHOD GET
Authorization: Bearer <token>
El resultado se evidencia a continuación:
{ "Records": { "TotalRecords": 1, "Expenses": 1, "Page": 1, "Pages": 1, "ResponseMessage": "La solicitud tuvo éxito." }, "Expenses": [ { "Id": 53851, "Status": 1, "Supplier": "Cie de col", "IssueDate": "2025-07-24", "OriginalAmount": 1591100, "OriginalCurrency": "COP", "ExchangeRate": 0, "Net": 1400000, "Taxes": { "taxPercentage": "0.00", "taxName": null, "retentionPercentage": "0.00", "retentionName": null, "taxAmount": 0, "otherTaxesAmount": 0, "retentionAmount": 0, "tax": 0, "retention": 0, "otherTaxes": 0 }, "MultipleTaxes": { "policyMultipleTaxes": 1, "taxes": [ { "id": "1103022", "taxName": "IVA 19%", "taxPercentage": "19.00", "taxAmount": "266000.00", "tax": "266000.00", "baseAmount": "1400000.00", "retention": 0, "retentionPercentage": 0, "retentionAmount": 0, "retentionName": null, "suggested": true, "type": 1, "code": "iva19" }, { "id": "1103026", "taxName": null, "taxPercentage": 0, "taxAmount": 0, "tax": 0, "baseAmount": null, "retention": "39900.00", "retentionPercentage": "0.00", "retentionAmount": "39900.00", "retentionName": "Reteiva", "suggested": true, "type": 2, "code": "retiva" }, { "id": "1103028", "taxName": null, "taxPercentage": 0, "taxAmount": 0, "tax": 0, "baseAmount": null, "retention": "35000.00", "retentionPercentage": "0.00", "retentionAmount": "35000.00", "retentionName": "Reterenta", "suggested": true, "type": 2, "code": "retren" } ] }, "Total": 1591100, "Currency": "COP", "Reimbursable": true, "Category": null, "CategoryCode": null, "CategoryGroup": null, "CategoryGroupCode": null, "NbrFiles": 1, "ReportId": 9814155, "ExpensePolicyId": 295618, "UserId": 210552, "Note": null, "IsIntegrated": false, "IntegrationDate": null, "IntegrationExternalCode": null, "SatInfo": null, "SunatInfo": null, "SriInfo": null, "DianInfo": null, "ExtraFields": [ { "id": "303205431", "expenseId": "53851", "expensePolicyExtraFieldId": "1590151", "type": 4, "name": "Número de documento", "value": null, "code": null, "index": 2, "instructions": , "isHiddenField": 0, "mongoId": null }, { "id": "303205432", "expenseId": "53851", "expensePolicyExtraFieldId": "2116680", "type": 4, "name": "Subtotal", "value": null, "code": null, "index": 3, "instructions": null, "isHiddenField": 0, "mongoId": null }, { "id": "303205433", "expenseId": "53851", "expensePolicyExtraFieldId": "1885093", "type": 4, "name": "Base IVA 19%", "value": null, "code": null, "index": 4, "instructions": null, "isHiddenField": 0, "mongoId": null }, { "id": "303205439", "expenseId": "53851", "expensePolicyExtraFieldId": "2116681", "type": 4, "name": "ReteRenta", "value": null, "code": null, "index": 10, "instructions": null, "isHiddenField": 0, "mongoId": null }, { "id": "303205440", "expenseId": "53851", "expensePolicyExtraFieldId": "2116682", "type": 4, "name": "ReteIVA", "value": null, "code": null, "index": 11, "instructions": null, "isHiddenField": 0, "mongoId": null } ], "Files": [] } ] }
La API v2 permite consultar y sincronizar las solicitudes de fondo generadas por los usuarios de tu empresa.
Esta sección expone endpoints para listar solicitudes, obtener el detalle de una solicitud específica y marcarla como integrada en tu sistema externo.
Métodos disponibles
GET getFundsRequest
: Lista página de solicitudes de fondo. GET getFundRequest
: Devuelve una solicitud de fondo.PUT setFundRequestIntegration
: Marca una solicitud de fondo como integrado en un sistema externo.Permite obtener una lista de solicitudes de fondos de la empresa según los parámetros definidos.
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v2/getFundsRequest?<params> | ||
Params | Parámetros que pueden ser agregados a la solicitud para discriminar qué informes se desean obtener. Los parámetros posibles son: | ||
Since | date | Fecha desde cuando contar las solicitudes de fondo. El formato debe ser YYYY-MM-DD. | |
Until | date | Fecha hasta cuando contar las solicitudes de fondo. El formato debe ser YYYY-MM-DD. | |
TypeDateFilter | integer | Indica en base a cuál fecha vamos a filtrar usando Since y Until donde: 1 = Fecha de Cierre (Por defecto) y 2 = Fecha de envío de la solicitud de fondo. | |
Currency | string (3) | Código ISO de la moneda que se desea filtrar. Por ejemplo USD para dólar americano. | |
Status | integer | 0 = En Proceso; 1 = Aprobador, 2 = Rechazado; en blanco muestra todos las solicitudes de fondos. | |
PolicyId | integer | Identificador interno de Rindegastos del usuario que envío la solicitud de fondos. | |
IntegrationStatus | integer | Buscar fondos por estado. 1 = Integrado, 0 = no integrado. | |
IntegrationCode | string(255) | Buscar fondos, filtrando por el código de respuesta asignado posterior al proceso de integración. | |
IntegrationDate | date | Buscar solicitudes de fondos integrados, filtrando por fecha de integración en formato YYYY-MM-DD. | |
UserId | integer | Identificador interno de Rindegastos del usuario que envío la solicitud de fondos. | |
FundId | integer | Id del fondo creado desde esta solicitud. | |
OrderBy | integer | Permite indicar bajo cual parámetro vamos a ordenar la lista de solicitudes obtenida, donde: 1 = fecha de cierre, 2 = Fecha de envío de solicitud y 3 Id de la solicitud. Por defecto se ordena en base a la fecha de envío. | |
Order | integer | ASC o DESC (default). | |
ResultsPerPage | integer | Número de Resultados por página. | |
Page | integer | Página de resultados. Por defecto = 1 |
A continuación, se muestra un ejemplo usando el método getFundsRequest:
https://api.rindegastos.com/v2/getFundsRequest?ResultsPerPage=2
METHOD GET
Authorization: Bearer <token>
El ejemplo de resultado para esta llamada se muestra a continuación:
{ "Records": { "TotalRecords": 3, "FundsRequest": 3, "Page": 0, "Pages": 1, "ResponseMessage": "La solicitud tuvo éxito." }, "FundsRequest": [ { "Id": "6883c1c11fe5097caeqty172", "Title": "Viaje de Negocios", "Description": "solicitud de viaje de negocios al sur", "Currency": "CLP", "Amount": 2312, "Status": 1, "EmployeeId": 213353, "ApproverId": 213353, "EmployeeName": "Pedro Morales", "ApproverName": "Pedro Morales", "FundId": null, "ApproverPositionId": null, "WorkflowId": "674f1cf1e4690iua06e1c2", "Type": "FUND", "Files": [], "Concepts": [ { "name": "Transporte", "amount": 2312 } ], "ExtraFields": [ { "Id": "8537", "PolicyId": "2128", "Name": "centro costo", "Type": 1, "Index": null, "Value": "asd", "Code": null }, { "Id": "8518", "PolicyId": "2128", "Name": "otro", "Type": 2, "Index": 1, "Code": null } ], "PolicyId": "2128", "PolicyName": "Política de Gerencia", "SentDate": "2025-07-25T17:41:54.201Z", "ClosedDate": null, "IsIntegration": false, "IntegrationCode": null, "IntegrationDate": null, "CreatedAt": "2025-07-25T17:41:21.549Z", "UpdatedAt": "2025-07-25T17:42:50.729Z" }, { "Id": "67bf76def0ab42greg417231f", "Title": "Compras de Insumos", "Description": "solicitud de compras de insumos para oficina", "Currency": "CLP", "Amount": 120000, "Status": 1, "EmployeeId": 104531, "ApproverId": 104531, "EmployeeName": "Juan Perez", "ApproverName": "Juan Perez", "FundId": null, "ApproverPositionId": null, "WorkflowId": "67fd05a04465fa19767d2c3", "Type": "FUND", "Files": [], "Concepts": [ { "name": "Transporte", "amount": "120000" } ], "ExtraFields": [ { "Id": "10711", "PolicyId": "2711", "Name": "Test oculto 1", "Type": 1, "Index": null, "Code": null }, { "Id": "10732", "PolicyId": "2711", "Name": "Test oculto 2", "Type": 1, "Index": 1, "Code": null }, { "Id": "1075", "PolicyId": "2711", "Name": "Texto oculto 3", "Type": 4, "Index": 2, "Code": null } ], "PolicyId": "2711", "PolicyName": "Política de Compras Generales", "SentDate": "2025-07-21T19:52:40.696Z", "ClosedDate": null, "IsIntegration": false, "IntegrationCode": null, "IntegrationDate": null, "CreatedAt": "2025-02-26T20:17:34.667Z", "UpdatedAt": "2025-07-21T19:54:10.718Z" }, { "Id": "6839b8bf0b3e4fcbda12410e", "Title": "Viaje Nacional", "Description": "solicitud de viaje nacional", "Currency": "CLP", "Amount": 20001, "Status": 1, "EmployeeId": 137941, "ApproverId": 258428, "EmployeeName": "Maria Perez", "ApproverName": "Maria Perez", "FundId": null, "ApproverPositionId": null, "WorkflowId": "683640676bc323d24358c9c2", "Type": "FUND", "Files": [], "Concepts": [], "ExtraFields": [], "PolicyId": "5355", "PolicyName": null, "SentDate": "2025-05-30T13:55:52.342Z", "ClosedDate": null, "IsIntegration": false, "IntegrationCode": null, "IntegrationDate": null, "CreatedAt": "2025-05-30T13:55:11.525Z", "UpdatedAt": "2025-05-30T13:55:52.345Z" } ] }
Método para obtener una solicitud de fondo con toda su información. Incluye la lista de movimientos del fondo solicitado.
Parámetro | Descripción | |||
---|---|---|---|---|
Método | GET | |||
URL | https://api.rindegastos.com/v2/getFundRequest?Id=<id> | |||
Params | Para usar este servicio solo podemos comunicar un parámetro el cual corresponde al Id de la solicitud de fondo. | |||
Id | integer | Id único de la solicitud del fondo que se desea obtener. |
A continuación, se muestra un ejemplo usando el método getFundRequest de la API de Rindegastos, que permite consultar un fondo específico de la empresa.
https://api.rindegastos.com/v2/getFundRequest?Id=3
METHOD GET
Authorization: Bearer <token>
El resultado ejemplo para esta llamada se muestra a continuación:
{ "Id": "6883c1c11fe5097cacdca172", "Title": "Sol de Viaje Sur", "Description": "solicitud de viaje de negocios al sur", "Currency": "CLP", "Amount": 2312, "Status": "IN_PROGRESS", "EmployeeId": 213353, "ApproverId": 213353, "EmployeeName": "Joaquin Morales", "ApproverName": "Joaquin Morales", "FundId": null, "ApproverPositionId": null, "WorkflowId": "674f1cf1e4234a06e1c269a3", "Type": "FUND", "Files": [], "Concepts": [ { "name": "Transporte", "amount": 2312 } ], "ExtraFields": [ { "Id": "853617", "PolicyId": "281128", "Name": "centro costo", "Type": 1, "Index": null, "Value": "asd", "Code": null }, { "Id": "853618", "PolicyId": "281128", "Name": "otro", "Type": 2, "Index": 1, "Value": null, "Code": null } ], "PolicyId": "281128", "PolicyName": "Política de Gerencia", "SentDate": "2025-07-25T17:41:54.201Z", "ClosedDate": null, "IsIntegration": false, "IntegrationCode": null, "IntegrationDate": null, "CreatedAt": "2025-07-25T17:41:21.549Z", "UpdatedAt": "2025-07-25T17:42:50.729Z" }
Método para marcar como integrado o no integrado una solicitud de fondo en específico.
Parámetro | Descripción | |||||
---|---|---|---|---|---|---|
Method | PUT | |||||
URL | https://api.rindegastos.com/v2/setFundRequestIntegration | |||||
Parámetros | Parámetros que deben ser agregados a la solicitud como Params para marcar una solicitud de fondo como integrado o no integrado. | |||||
FundRequestId | integer | Id único de la solicitud de fondo que se desea marcar como integrado o no integrado. | ||||
IntegrationStatus | integer | Estado Integrado = 1 o bien No Integrado = 0. | ||||
IntegrationCode | string(255) | Permite comunicar un código de comprobante contable para enlazar información de la integración con el fondo en Rindegastos. | ||||
IntegrationDate | date | Formato de fecha AAAA-MM-DD |
curl 'https://api.rindegastos.com/v2/setFundRequestIntegration' -X PUT
-d '{"FundRequestId":1,"IntegrationStatus":1,"IntegrationCode":"0303456","IntegrationDate":"2017-08-01 12:00:00"}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
{ "Records": { "TotalRecords": 1, "FundsRequest": 1, "Page": 1, "Pages": 1, "ResponseMessage": "La solicitud tuvo éxito." }, "FundsRequest": { "Id": "6883c1c11fe5097cac85a172", "Title": "Sol de Viaje", "Description": "asdf", "Currency": "CLP", "Amount": "2312", "IsIntegration": true, "IntegrationCode": "4331", "IntegrationDate": "2025-01-02 22:13:54" } }
La API permite consultar, crear, actualizar e integrar fondos de tu empresa en Rindegastos, así como cambiar su estado individual o masivamente.
En comparación con la API v1, esta versión incorpora:
setFundIntegration
) para vincular fondos con sistemas externos.setFundStatusBulk
) para optimizar fondos con alto volumen de datos. Métodos disponibles
GET getFunds
: Lista fondos según filtros. GET getFund
: Devuelve un fondo con toda su información, incluyendo la lista de movimientos.POST createFund
: Crea un fondo con su información inicial.PUT setFundIntegration
: Marca un fondo como integrado en un sistema externo.PUT updateFund
: Actualiza datos del fondo. No permite cambiar: propietario, creador, moneda ni monto disponible.PUT setFundStatus
: Cambia el estado de un fondo.PUT setFundStatusBulk
: Cambia el estado de múltiples fondos en. una sola operación.Notas y consideraciones
setFundStatusBulk
) reducen el número de llamadas necesarias en actualizaciones con grandes volúmenes.Permite obtener una lista de fondos de la empresa según los parámetros definidos. Sin embargo, no incluye la lista de movimientos de cada fondo.
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v2/getFunds?<params> | ||
Params | Parámetros que pueden ser agregados a la solicitud para discriminar qué informes se desean obtener. Los parámetros posibles son: | ||
Status | integer | 1 = Abiertos; 2 = Cerrados; 3 = Bloqueados; en blanco muestra todos los fondos. | |
IntegrationStatus | integer | Buscar fondos por estado. 1 = Integrado, 0= no integrado. | |
IntegrationCode | string(255) | Buscar fondos, filtrando por el código de respuesta asignado posterior al proceso de integración. | |
IntegrationDate | date | Buscar fondos integrados, filtrando por fecha de integración en formato YYYY-MM-DD. | |
OrderBy | integer | Permite indicar bajo cual parámetro vamos a ordenar la lista de informes obtenida, donde: 1 = fecha de creación del fondo, 2 = Título del fondo y por defecto si se envía en blanco fecha de creación del fondo. | |
Order | integer | ASC o DESC (default). | |
ResultsPerPage | integer | Número de Resultados por página. | |
Page | integer | Página de resultados. Por defecto = 1 | |
From | date | Filtrar fondos creados desde esta fecha. Formato YYYY-MM-DD. | |
To | date | Filtrar fondos creados hasta esta fecha. Formato YYYY-MM-DD. |
A continuación, se muestra un ejemplo usando el método getFunds de la API de Rindegastos, el cual permite consultar los fondos de la empresa.
https://api.rindegastos.com/v2/getFunds?ResultsPerPage=2
METHOD GET
Authorization: Bearer <token>
El ejemplo de resultado para esta llamada se muestra a continuación:
{ "Records": { "TotalRecords": 3, "Funds": 3, "Page": 1, "Pages": 1, "ResponseMessage": "La solicitud tuvo éxito." }, "Funds": [ { "Id": 468634, "Title": "Fund Executive", "Code": null, "Currency": "CLP", "IdAssignTo": 137891, "IdCreator": 137891, "Deposits": 100000, "Withdrawals": 6750, "Balance": 93250, "Status": 1, "CreatedAt": "2025-04-01 17:09:36", "ExpirationDate": null, "FlexibleFund": true, "ManualDeposit": false, "AutomaticBlock": false, "Calce": false, "FundRequestId": null, "FundRequest": null, "Description": "Nota del fondo", "IsIntegrated": 0, "IntegrationInternalCode": null, "IntegrationExternalCode": null, "IntegrationDate": null, "Transactions": [ { "ReportId": null, "TransactionType": 1, "TransactionTypeName": "Deposit", "TransactionAmount": 100000, "CurrencyCode": "CLP", "TransactionDate": "2025-04-01", "CreatedAt": "2025-04-01T17:09:36.000Z" }, { "ReportId": "5729", "TransactionType": 4, "TransactionTypeName": "Withdrawal", "TransactionAmount": 6750, "CurrencyCode": "CLP", "TransactionDate": "2025-07-24", "CreatedAt": "2025-07-24T21:37:13.000Z" } ] }, { "Id": 12890, "Title": "FONDO DE INVESTIGACION", "Code": null, "Currency": "CLP", "IdAssignTo": 12890, "IdCreator": 12890, "Deposits": 250000, "Withdrawals": 100000, "Balance": 150000, "Status": 1, "CreatedAt": "2025-04-01 14:00:26", "ExpirationDate": null, "FlexibleFund": false, "ManualDeposit": true, "AutomaticBlock": false, "Calce": false, "FundRequestId": null, "FundRequest": null, "Description": null, "IsIntegrated": 0, "IntegrationInternalCode": null, "IntegrationExternalCode": null, "IntegrationDate": null, "Transactions": [ { "ReportId": null, "TransactionType": 1, "TransactionTypeName": "Deposit", "TransactionAmount": 150000, "CurrencyCode": "CLP", "TransactionDate": "2025-04-01", "CreatedAt": "2025-04-01T14:00:26.000Z" }, { "ReportId": "5678", "TransactionType": 4, "TransactionTypeName": "Withdrawal", "TransactionAmount": 100000, "CurrencyCode": "CLP", "TransactionDate": "2025-04-01", "CreatedAt": "2025-04-01T14:02:13.000Z" }, { "ReportId": "5678", "TransactionType": 3, "TransactionTypeName": "Withdrawal", "TransactionAmount": 100000, "CurrencyCode": "CLP", "TransactionDate": "2025-04-01", "CreatedAt": "2025-04-01T14:02:13.000Z" } ] }, { "Id": 378156, "Title": "fondo", "Code": null, "Currency": "CLP", "IdAssignTo": 49425, "IdCreator": 49425, "Deposits": 12000, "Withdrawals": 0, "Balance": 12000, "Status": 1, "CreatedAt": "2024-10-01 18:26:37", "ExpirationDate": null, "FlexibleFund": true, "ManualDeposit": false, "AutomaticBlock": false, "Calce": false, "FundRequestId": "66fc3e9bf9c58a02c78436e6", "FundRequest": { "Id": "66fc3e9bf9c58a02c78436e6", "Title": "fondo", "Description": "xfgdrgetdr", "Currency": "CLP", "Amount": 12000, "Status": "APPROVED", "EmployeeId": 49425, "ApproverId": 49425, "EmployeeName": null, "ApproverName": null, "FundId": 378156, "ApproverPositionId": null, "WorkflowId": "64ff717613585f08ff2d814d", "Type": "FUND", "Files": [ { "FileName": "Captura de pantalla 2024-09-25 a la(s) 14.02.26.png", "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-49425-1-file-10.png", "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-49425-1-file-10.png", "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-49425-1-file-10.png", "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-49425-1-file-10.png", "Extension": "png" } ], "Concepts": [ { "name": "Alimentación", "amount": "10000" }, { "name": "Alojamiento", "amount": "2000" } ], "ExtraFields": [ { "Id": "361860", "PolicyId": "217831", "Name": "asistentes a reunion", "Type": 2, "Index": null, "Value": null, "Code": null }, { "Id": "361861", "PolicyId": "217831", "Name": "Centro de Costo", "Type": 2, "Index": null, "Value": "Centro de costo 1", "Code": "1" }, { "Id": "361862", "PolicyId": "217831", "Name": "Tipo de rendición", "Type": 2, "Index": null, "Value": "reembolso", "Code": null } ], "PolicyId": "217831", "PolicyName": "geri poli", "SentDate": "2024-10-01T18:26:22.188Z", "ClosedDate": "2024-10-01T18:26:36.710Z", "IsIntegration": false, "IntegrationCode": null, "IntegrationDate": null, "CreatedAt": "2024-10-01T18:25:31.366Z", "UpdatedAt": "2024-10-01T18:26:36.710Z" }, "Description": "xfgdrgetdr", "IsIntegrated": 1, "IntegrationInternalCode": null, "IntegrationExternalCode": "1111", "IntegrationDate": "2024-10-22T18:09:43.000Z", "Transactions": [ { "ReportId": null, "TransactionType": 1, "TransactionTypeName": "Deposit", "TransactionAmount": 12000, "CurrencyCode": "CLP", "TransactionDate": "2024-10-01", "CreatedAt": "2024-10-01T18:26:37.000Z" } ] } ] }
Método para obtener un fondo con toda su información. Incluye la lista de movimientos del fondo solicitado.
Parámetro | Descripción | |||
---|---|---|---|---|
Método | GET | |||
URL | https://api.rindegastos.com/v2/getFund?Id=<id> | |||
Params | Para usar este servicio solo podemos comunicar un parámetro el cual corresponde al Id del fondo. | |||
Id | integer | Id único del fondo que se desea obtener. |
A continuación, se muestra un ejemplo usando el método getFund de la API de Rindegastos, que permite consultar un fondo específico de la empresa.
https://api.rindegastos.com/v2/getFund?Id=3
METHOD GET
Authorization: Bearer <token>
El resultado ejemplo para esta llamada se muestra a continuación:
{ "Records": { "TotalRecords": 1, "Funds": 1, "Page": 0, "Pages": 0, "ResponseMessage": "La solicitud tuvo éxito." }, "Funds": { "Id": 378156, "Title": "fondo", "Code": null, "Currency": "CLP", "IdAssignTo": 49425, "IdCreator": 49425, "Deposits": 12000, "Withdrawals": 0, "Balance": 12000, "Status": 1, "CreatedAt": "2024-10-01 18:26:37", "ExpirationDate": null, "FlexibleFund": true, "ManualDeposit": false, "AutomaticBlock": false, "Calce": false, "FundRequestId": "66fc3e9bf9c58a02c78436e6", "FundRequest": { "Id": "66fc3e9bf9c58a02c78436e6", "Title": "fondo", "Description": "xfgdrgetdr", "Currency": "CLP", "Amount": 12000, "Status": "APPROVED", "EmployeeId": 49425, "ApproverId": 49425, "EmployeeName": null, "ApproverName": null, "FundId": 378156, "ApproverPositionId": null, "WorkflowId": "64ff717613585f08ff2d814d", "Type": "FUND", "Files": [ { "FileName": "Captura de pantalla 2024-09-25 a la(s) 14.02.26.png", "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-49425-1-file-10.png", "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-49425-1-file-10.png", "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-49425-1-file-10.png", "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-49425-1-file-10.png", "Extension": "png" } ], "Concepts": [ { "name": "Alimentación", "amount": "10000" }, { "name": "Alojamiento", "amount": "2000" } ], "ExtraFields": [ { "Id": "361860", "PolicyId": "217831", "Name": "asistentes a reunion", "Type": 2, "Index": null, "Value": null, "Code": null }, { "Id": "361861", "PolicyId": "217831", "Name": "Centro de Costo", "Type": 2, "Index": null, "Value": "Centro de costo 1", "Code": "1" }, { "Id": "361862", "PolicyId": "217831", "Name": "Tipo de rendición", "Type": 2, "Index": null, "Value": "reembolso", "Code": null } ], "PolicyId": "217831", "PolicyName": "geri poli", "SentDate": "2024-10-01T18:26:22.188Z", "ClosedDate": "2024-10-01T18:26:36.710Z", "IsIntegration": false, "IntegrationCode": null, "IntegrationDate": null, "CreatedAt": "2024-10-01T18:25:31.366Z", "UpdatedAt": "2024-10-01T18:26:36.710Z" }, "Description": "xfgdrgetdr", "IsIntegrated": 1, "IntegrationInternalCode": null, "IntegrationExternalCode": "1111", "IntegrationDate": "2024-10-22T18:09:43.000Z", "Transactions": [ { "ReportId": null, "TransactionType": 1, "TransactionTypeName": "Deposit", "TransactionAmount": 12000, "CurrencyCode": "CLP", "TransactionDate": "2024-10-01", "CreatedAt": "2024-10-01T18:26:37.000Z" } ] } }
Método para crear un fondo con toda su información.
Parámetro | Descripción | ||
---|---|---|---|
Método | POST | ||
URL | https://api.rindegastos.com/v2/createFund?<params> | ||
Post Params | Parámetros a comunicar para crear un fondo se deben enviar como Parámetros. | ||
IdEmployee | integer | Id único del empleado al cual asignaremos el fondo. (Obligatorio) | |
IdAdmin | integer | Id único del usuario con rol administrador bajo el cual crearemos el Fondo (debe tener definido permiso para administrar fondos). (Obligatorio) | |
FundName | string(200) | Nombre del fondo. (Obligatorio) | |
FundCurrency | string(3) | Código estándar (ISO 4217) de la moneda asociada al fondo. (Obligatorio) | |
FundCode | string(50) | Código del fondo. | |
FundAmount | float | Monto del fondo con dos posiciones decimales (separadas con punto). (Obligatorio) | |
FundComment | string(255) | Comentario u observación del fondo. | |
FundFlexibility | boolean | El usuario podrá enviar informes aunque se sobrepase el saldo disponible. | |
FundAutoDeposit | boolean | Al cerrar un informe de gastos asociado a este fondo abonar automáticamente el monto aprobado para volver al saldo disponible inicial. | |
FundAutoBlock | boolean | Bloquear este fondo luego de que el rendidor envíe un informe de gastos. | |
FundExpiration | boolean | Definir una fecha en la que fondo debe ser comprobado y alertar al rendidor y al creador del fondo. | |
FundExpirationDate | date | YYYY-MM-DD Fecha en la que fondo debe ser comprobado (solo si FundExpiration es TRUE) | |
FundCalce | boolean | Indicar si el fondo debe ser rendido en su totalidad o no. | |
FundRequestId | string | Id de la solicitud de fondo que da origen a la creación de este fondo. |
A continuación, se muestra un ejemplo usando el método createFund de la API v2 de Rindegastos:
curl 'https://api.rindegastos.com/v2/createFund' -X POST
-d '{"IdEmployee":4,"IdAdmin":5,"FundName":"Fund Executive","FundCurrency":"GBP","FundCode":"852KJ","FundAmount":860.00,"FundComment":"Comment...","FundFlexibility":true,"FundAutoDeposit":true,"FundAutoBlock":true,"FundExpiration":true,"FundExpirationDate":"2017-01-01", "FundCalce":true, "FundRequestId": null}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
El resultado ejemplo para esta llamada se muestra a continuación:
{ "Id": 550253, "Title": "Fondo Test V2", "Code": "986", "Currency": "CLP", "IdAssignTo": 87981, "IdCreator": 164384, "Deposits": "15000.00", "Withdrawals": 0, "Balance": 0, "Status": 1, "CreatedAt": "2025-08-13 17:22:24", "ExpirationDate": null, "FlexibleFund": true, "ManualDeposit": false, "AutomaticBlock": false, "Calce": false, "FundRequestId": null, "FundRequest": null, "Description": "Fondo en api v2", "IsIntegrated": 0, "IntegrationInternalCode": null, "IntegrationExternalCode": null, "Transactions": [ { "TransactionType": 1, "TransactionTypeName": "Deposit", "TransactionAmount": 15000, "TransactionDate": "2025-08-13" } ] }
Permite actualizar un fondo.
⚠️ Importante: No se podrá cambiar el propietario, el creador, la moneda ni el monto disponible del fondo.
Parámetro | Descripción | ||
---|---|---|---|
Método | PUT | ||
URL | https://api.rindegastos.com/v2/updateFund | ||
Post Params | Parámetros a comunicar para actualizar un fondo se deben enviar como Body. | ||
Id | integer | Id único del fondo que deseamos actualizar. (Obligatorio) | |
IdAdmin | integer | Id único del usuario con rol administrador bajo el cual actualizaremos el Fondo (debe tener definido permiso para administrar fondos). (Obligatorio) | |
FundName | string(200) | Nombre del fondo. (Obligatorio) | |
FundCode | string(50) | Código del fondo. | |
FundComment | string(255) | Comentario u observación del fondo. | |
FundFlexibility | boolean | El usuario podrá enviar informes aunque se sobrepase el saldo disponible | |
FundAutoDeposit | boolean | Al cerrar un informe de gastos asociado a este fondo abonar automáticamente el monto aprobado para volver al saldo disponible inicial. | |
FundAutoBlock | boolean | Bloquear este fondo luego de que el rendidor envíe un informe de gastos. | |
FundExpiration | boolean | Definir una fecha en la que fondo debe ser comprobado y alertar al rendidor y al creador del fondo. | |
FundExpirationDate | date | YYYY-MM-DD Fecha en la que fondo debe ser rendido (solo si FundExpiration es TRUE) | |
FundCalce | boolean | Indicar si el fondo debe ser rendido en su totalidad o no. |
A continuación, se muestra un ejemplo usando el método updateFund de la API de Rindegastos, el cual permite actualizar un fondo específico de la empresa.
curl 'https://api.rindegastos.com/v2/updateFund' -X PUT
-d '{"Id":3,"IdAdmin":5,"FundName":"Fund Executive Update","FundCode":"852KJ","FundComment":"Comment...","FundFlexibility":true,"FundAutoDeposit":true,"FundAutoBlock":true,"FundExpiration":true,"FundExpirationDate":"2017-01-01", "FundCalce": true}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
El resultado ejemplo para esta llamada se muestra a continuación:
{ "Id": 3, "Title": "Fund Executive Update", "Code": "852KJ", "Currency": "CLP", "IdAssignTo": 136955, "IdCreator": 164384, "Deposits": 15, "Withdrawals": 0, "Balance": 15, "Status": 1, "CreatedAt": "2025-07-29 19:47:25", "ExpirationDate": "2025-11-05", "FlexibleFund": false, "ManualDeposit": false, "AutomaticBlock": false, "Calce": true, "FundRequestId": null, "FundRequest": null, "Description": "actualización de fondo", "IsIntegrated": 0, "IntegrationInternalCode": null, "IntegrationExternalCode": null, "IntegrationDate": null, "Transactions": [] }
Método para cambiar el estado a un fondo.
Parámetro | Descripción | ||
---|---|---|---|
Método | PUT | ||
URL | https://api.rindegastos.com/v2/setFundStatus | ||
Post Params | Parámetros a comunicar para actualizar un fondo se deben enviar como parámetros. | ||
Id | integer | Id único del fondo al cual deseamos realizar un cargo. (Obligatorio) | |
IdAdmin | integer | Id único del usuario con rol administrador bajo el cual realizaremos el cargo (debe tener definido permiso para administrar fondos). (Obligatorio) | |
FundStatus | integer | Estado bajo el cual queremos dejar el fondo. Los valores para los estados disponibles son: 1 (Abierto): Al estar el fondo en estado, permite al rendidor enviar informes de gastos asociados al fondo especificado. 2 (Cerrado):Cerrar y dar por terminado el ciclo de vida del fondo especificado. 3 (Bloqueado):Al estar el fondo en estado, No permite al rendidor enviar informes de gastos asociados al fondo especificado. |
A continuación, se muestra un ejemplo usando el método setFundStatus de la API de Rindegastos.
curl 'https://api.rindegastos.com/v2/setFundStatus' -X PUT
-d '{"Id":3,"IdAdmin":6,"FundStatus":2}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
{ "Id": 549807, "Title": "Fondo Test", "Code": "fgsdf", "Currency": "CLP", "IdAssignTo": 87981, "IdCreator": 164384, "Deposits": 15000, "Withdrawals": 0, "Balance": 15000, "Status": 2, "CreatedAt": "2025-08-13 16:22:22", "ExpirationDate": "2025-11-05", "FlexibleFund": false, "ManualDeposit": true, "AutomaticBlock": false, "Calce": true, "FundRequestId": null, "FundRequest": null, "Description": "actualización de ...", "IsIntegrated": 0, "IntegrationInternalCode": null, "IntegrationExternalCode": null, "IntegrationDate": null, "Transactions": [] }
Método para cambiar el estado a un fondo.
Parámetro | Descripción | ||
---|---|---|---|
Método | PUT | ||
URL | https://api.rindegastos.com/v2/setFundStatusBulk | ||
Post Params | Parámetros a comunicar para actualizar una lista de fondos que se deben enviar como Body. | ||
Id | integer | Id único del fondo al cual deseamos realizar un cargo. (Obligatorio) | |
IdAdmin | integer | Id único del usuario con rol administrador bajo el cual realizaremos el cargo (debe tener definido permiso para administrar fondos). (Obligatorio) | |
FundStatus | integer | Estado bajo el cual queremos dejar el fondo. Los valores para los estados disponibles son: 1 (Abierto): Al estar el fondo en estado, permite al rendidor enviar informes de gastos asociados al fondo especificado. 2 (Cerrado):Cerrar y dar por terminado el ciclo de vida del fondo especificado. 3 (Bloqueado):Al estar el fondo en estado, No permite al rendidor enviar informes de gastos asociados al fondo especificado. |
A continuación, se muestra un ejemplo usando el método setFundStatusBulk de la API de Rindegastos.
curl 'https://api.rindegastos.com/v2/setFundStatusBulk' -X PUT \
-d '{
"Funds": [
{
"Id": "3260",
"IdAdmin": "2973",
"FundStatus": "2"
},
{
"Id": "2264",
"IdAdmin": "9973",
"FundStatus": "2"
}
]
}' \
-H 'authorization: Bearer <token>' -H 'Content-Type: application/json'
[ { "Id": 5390, "Title": "Fondo apiv2 Calce nada", "Code": "1111", "Currency": "CLP", "IdAssignTo": 13695, "IdCreator": 1955, "Deposits": 10, "Withdrawals": 0, "Balance": 10, "Status": 2, "CreatedAt": "2025-07-29 19:46:49", "ExpirationDate": null, "FlexibleFund": false, "ManualDeposit": false, "AutomaticBlock": false, "Calce": false, "FundRequestId": null, "FundRequest": null, "Description": "Este es un fondo de prueba apiv2 Calce", "IsIntegrated": 0, "IntegrationInternalCode": null, "IntegrationExternalCode": null, "IntegrationDate": null, "Transactions": [] }, { "Id": 39776, "Title": "Fondo apiv2 Calce 1 true", "Code": "1111", "Currency": "CLP", "IdAssignTo": 136955, "IdCreator": 136955, "Deposits": 10, "Withdrawals": 0, "Balance": 10, "Status": 2, "CreatedAt": "2025-07-29 19:45:18", "ExpirationDate": null, "FlexibleFund": false, "ManualDeposit": false, "AutomaticBlock": false, "Calce": true, "FundRequestId": null, "FundRequest": null, "Description": "Este es un fondo de prueba apiv2 Calce", "IsIntegrated": 0, "IntegrationInternalCode": null, "IntegrationExternalCode": null, "IntegrationDate": null, "Transactions": [] } ]
Método para marcar como integrado o no integrado un fondo en específico.
Parámetro | Descripción | |||||
---|---|---|---|---|---|---|
Method | PUT | |||||
URL | https://api.rindegastos.com/v2/setFundIntegration | |||||
Parámetros | Parámetros que deben ser agregados a la solicitud como Params para marcar un Fondo como integrado o no integrado. | |||||
Id | integer | Id único del fondo que se desea marcar como integrado o no integrado. | ||||
IntegrationStatus | integer | Estado Integrado = 1 o bien No Integrado = 0. | ||||
IntegrationCode | string(255) | Permite comunicar un código de comprobante contable para enlazar información de la integración con el fondo en Rindegastos. | ||||
IntegrationDate | date | Formato de fecha AAAA-MM-DD |
curl 'https://api.rindegastos.com/v2/setFundIntegration' -X PUT
-d '{"Id":1,"IntegrationStatus":1,"IntegrationCode":"0303456","IntegrationDate":"2017-08-01 12:00:00"}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
{ "Records": { "TotalRecords": 1, "Funds": 1, "Page": 1, "Pages": 1, "ResponseMessage": "La solicitud tuvo éxito." }, "Funds": { "Id": "808", "Code": "986", "IsIntegrated": true, "IntegrationExternalCode": "4331", "IntegrationDate": "2025-01-02 19:30:01" } }
Actualmente, el único método disponible en la versión 2 es el getExpensePolicyWorkflow, el cual ha sido actualizado para recuperar información tanto de los flujos de aprobación configurados en la antigua webApp como en la nueva versión de Rindegastos.
Métodos disponibles
GET getExpensePolicyWorkflow
: Muestra la configuración del flujo de aprobación de la política en la antigua y nueva versión de Rindegastos.Método para obtener una lista con todos los aprobadores del flujo de aprobación para una política específica.
Parámetro | Descripción | ||
---|---|---|---|
Método | GET | ||
URL | https://api.rindegastos.com/v2/getExpensePolicyWorkflow?IdPolicy=<id> | ||
Params | Para usar este servicio solo podemos comunicar un parámetro el cual corresponde al Id de la política. | ||
IdPolicy | integer | Id único de la política que desea consultar. |
A continuación se muestra un ejemplo usando el método getExpensePolicyWorkflow:
https://api.rindegastos.com/v2/getExpensePolicyWorkflow?IdPolicy=2
METHOD GET
Authorization: Bearer <token>
{ "Ok": true, "Message": "La solicitud tuvo éxito.", "ExpensePolicyWorkflow": { "IdPolicy": 109888, "PolicyName": "CLP/Rendición - CARGA", "RevisionLevels": 4, "Approvers": [ { "Level": 1, "ApproverId": "69128", "ApproverName": , "ApproverEmail": , "CanApproveExpenses": true, "CanEditExpenses": true, "CanEditReports": true, "ReviewConditions": [], "FundRequestConditions": [] }, { "Level": 4, "ApproverId": "152494", "ApproverName": , "ApproverEmail": , "CanApproveExpenses": true, "CanEditExpenses": true, "CanEditReports": true, "ReviewConditions": [ { "type": "ExpenseReportAmountLimit", "value": "500000.00", "currency": "CLP" } ], "FundRequestConditions": [] }, { "Level": 3, "ApproverId": "69139", "ApproverName": , "ApproverEmail": , "CanApproveExpenses": true, "CanEditExpenses": true, "CanEditReports": true, "ReviewConditions": [ { "type": "ExpenseReportAmountLimit", "value": "500000.00", "currency": "CLP" } ], "FundRequestConditions": [] }, { "Level": 2, "ApproverId": "68430", "ApproverName": , "ApproverEmail": , "CanApproveExpenses": true, "CanEditExpenses": true, "CanEditReports": true, "ReviewConditions": [], "FundRequestConditions": [] } ] } }
ℹ️ Notas de versiones
El primer paso es recuperar los informes de gastos cerrados y no integrados desde Rindegastos.
Ejemplo de parámetros comunes:
Status = 1
-> Informes cerradosIntegrationStatus = 0
-> Informes no integradosEl método a utilizar dependerá de la versión de la API:
Una vez identificado los informes pendientes, el siguiente paso es obtener los gastos asociados a cada informe.
Status = 1
para aprobados).El método a utilizar dependerá de la versión de la API:
Luego de que los informes y gastos han sido procesados e insertados en el sistema contable, se recomienda marcarlos como integrados en Rindegastos.
Esto asegura que no aparezcan nuevamente en futuras consultas de informes pendientes.
Los métodos disponibles para confirmar integración son:
setExpenseIntegration
setExpenseReportIntegration
Nota: al consultar por informes cerrados y no integrados, necesariamente deber utilizar el setExpenseReportIntegration independiente si integras cada gasto.
getExpenseReports
getExpenses
setExpenseIntegration
(opcional) y setExpenseReportIntegration
De esta forma, la metodología de integración es siempre la misma, independiente de si utilizas API v1 o API v2.
Las diferencias estarán en los campos disponibles en las respuestas y en los filtros adicionales que puede ofrecer la v2.
Una vez implementada la cuenta y habilitada la herramienta de solicitudes de fondos, cada usuario de la cuenta podrá utilizar esta funcionalidad. A lo largo del tiempo, se generará una cantidad de solicitudes de fondo que serán aprobadas.
Actualmente, el proceso de solicitud de fondos, tras pasar por su flujo completo de aprobación, finaliza de manera automática con la creación de un fondo para el usuario solicitante.
Al integrar este proceso con el sistema de su empresa, es necesario notificar al encargado de la cuenta o al equipo de soporte para desactivar la creación automática de fondos mediante solicitudes, permitiendo que la integración maneje este paso de forma personalizada.
Las solicitudes de fondo que se encuentren aprobadas y no integradas deben ser consultadas bajo los siguientes filtros básicos:
Para obtener estos datos, utiliza el método GET
en la siguiente URL:
https://api.rindegastos.com/v2/getFundsRequest?Status=1&IntegrationStatus=0
METHOD GET
Authorization: Bearer <token>
En esta sección, el desarrollador procesa la información obtenida y realiza la integración en el ERP según los requisitos específicos. A continuación, se presentan los pasos y parámetros necesarios para dos variantes de integración.
Si el sistema de la empresa requiere un tiempo de validación o aprobación de las solicitudes antes de crear el fondo en el ERP, el flujo de integración es el siguiente:
Para marcar la solicitud como integrada, utiliza el método PUT
de la API de Rindegastos. Los parámetro requeridos son:
Para realizar esta acción se utiliza el método PUT
en la siguiente URL:
https://api.rindegastos.com/v2/setFundRequestIntegration?FundRequestId=XXXX&Integra tionStatus=1&IntegrationCode=XXXXX&IntegrationDate=YYYY-MM-DD
METHOD GET
Authorization: Bearer <token>
Con el fondo creado en el ERP, crea el fondo en Rindegastos usando el método POST
.
A continuación se describen los parámetros necesarios.
https://api.rindegastos.com/v2/createFund
METHOD GET
Authorization: Bearer <token>
En este flujo, la integración de la solicitud de fondo en el ERP y en Rindegastos se realiza en un solo proceso de ejecución, sin un periodo de espera o validación adicional por parte del cliente. Esto permite una integración rápida y optimizada, ya que la solicitud se marca como integrada en Rindegastos inmediatamente después de que se ha creado el fondo en el ERP.
Mapear los datos obtenidos de Rindegastos: Los campos y parámetros necesarios se extraen directamente de la respuesta obtenida en la Parte 1.
Crear el fondo en el ERP: Utiliza los datos de la solicitud para generar el fondo en el ERP y asigna un número de comprobante al fondo creado.
Para marcar la solicitud como integrada en Rindegastos inmediatamente después de crear el fondo en el ERP, realizar una solicitud PUT a la API de Rindegastos con los siguientes parámetros:
https://api.rindegastos.com/v2/setFundRequestIntegration?FundRequestId=XXXX&Integra
tionStatus=1&IntegrationCode=XXXXX&IntegrationDate=YYYY-MM-DD
METHOD GET
Authorization: Bearer <token>
Con el fondo ya creado en el ERP y la solicitud marcada como integrada, procede a crear el fondo correspondiente en Rindegastos.
A continuación se describen los parámetros necesarios.
https://api.rindegastos.com/v2/createFund
METHOD GET
Authorization: Bearer <token>