El API de Infinanza está basado en REST (Representational State Transfer) que facilita la integración entre aplicaciones haciendo uso de todas las ventajas que ofrece el protocolo HTTP.
Todas las peticiones comienzan con la siguiente URL:
https://www.infinanza.com/api/v2
El API de Infinanza utiliza autenticación por token. Puedes administrar tus tokens por la interfaz Web, ingresando a Mi Cuenta -> API Tokens. Se recomienda crear un token independiente para cada una de las aplicaciones que vayas a conectar a Infinanza.
Para autenticar las peticiones debes agregar el HTTP header Authorization
:
Authorization: Token token=<api_token>
Por ejemplo, si estás en un sistema Linux o Mac OS X, puedes utilizar el siguiente comando para listar los ingresos:
> curl -i -H "Authorization: Token token=api_token" https://www.infinanza.com/api/v1/incomes
En este ejemplo -H "Authorization: Token token=api_token"
está agregando la autenticación a la petición.
Los siguientes son posibles códigos de respuesta HTTP/S que puede generar el sistema:
Código | Nombre | Descriptión |
---|---|---|
200 | OK | La petición fue exitosa y la información solicitada se encuentra en la respuesta |
201 | Created | La petición fue exitosa y el recurso fue creado |
204 | No Content | La petición fue exitosa |
400 | Bad Request | La petición no es válida |
401 | Unauthorized | No autorizado para hacer la petición |
404 | Not Found | El recurso no fue encontrado |
422 | Unprocessable Entity | Se encontró algún error de validación en los datos. |
500 | Server Error | Oooppss, nuestro error, disculpas de antemano! |
GET /customers
Retorna el listado de clientes. Puedes controlar la página y el número de registros por página con los parámetros per_page
y page
. Por defecto el número de registros por página es 50.
GET /customers?per_page=10&page=3
El siguiente comando lista los primeros 50 clientes:
$ curl -i -H "Authorization: Token token=api_token" https://www.infinanza.com/api/v2/customers
Si todo sale bien, se recibe un código 200 OK
con los clientes en el cuerpo en formato JSON como se muestra a continuación:
{ "page": 1,
"per_page": 50,
"total_records": 1000,
"records": [
{
"id": 143,
"name": "Cliente 1",
"national_id": "8744677373",
"address": "Av Boulevard 23455",
"email": "[email protected]",
"created_at": "2013-12-13T14:58:29.095Z",
"updated_at": "2013-12-13T14:58:29.095Z"
}, {
"id": 144,
"name": "Cliente 2",
"national_id": "73822922",
"address": "Calle Prado Largo 2344 Of 204"
"email": "[email protected]",
"created_at": "2013-12-13T14:58:29.095Z",
"updated_at": "2013-12-13T14:58:29.095Z"
}, ...
]
}
Cada cliente tiene las siguientes llaves:
id
: El id del clientes.name
: El nombre del cliente.national_id
: El número de identificación nacional del cliente.address
: La dirección del cliente.email
: El email del cliente.national_id
: El número de identificación nacional del cliente.created_at
: La fecha en la que fue creado el cliente.updated_at
: Última fecha de actualización.POST /customers
Se debe crear un JSON con los siguientes parámetros:
name
: El nombre del cliente.national_id
: El número de identificación nacional del cliente.address
: La dirección del cliente.email
: El email del cliente.phone
: El teléfono del cliente.El siguiente comando crea un ingreso por $13,000 el día 13 de Diciembre de 2013:
$ curl -i -X POST -H "Authorization: Token token=api_token" -d '{ "customer": {"name": "Nuevo Cliente", "national_id": "003334667", "address": "Av Boulevard 75 384782", "email": "[email protected]", "phone": "1234567"} }' https://www.infinanza.com/api/v2/customers
Si todo sale bien, se recibe un código 201 Created
con la información completa del cliente en formato JSON.
GET /incomes
Retorna el listado de ingresos ordenados por fecha (el más recientes primero). Puedes controlar la página y el número de registros por página con los parámetros per_page
y page
. Por defecto el número de registros por página es 50.
GET /incomes?per_page=10&page=3
El siguiente comando lista los últimos 50 ingresos creados:
$ curl -i -H "Authorization: Token token=api_token" https://www.infinanza.com/api/v2/incomes
Si todo sale bien, se recibe un código 200 OK
con los ingresos en el cuerpo en formato JSON como se muestra a continuación:
{ "page": 1,
"per_page": 50,
"total_records": 1000,
"records": [
{
"id": 143,
"type": "income",
"date": "2013-12-12",
"concept": "Saldo Inicial",
"amount": "13200",
"excluded": false,
"user_id": 45,
"api_key_id": null,
"created_at": "2013-12-13T14:58:29.095Z",
"updated_at": "2013-12-13T14:58:29.095Z"
}, {
"id": 144,
"type": "income",
"date": "2013-12-11",
"concept": "Square Inc",
"amount": "2200",
"excluded": false,
"user_id": 45,
"api_key_id": null,
"created_at": "2013-12-13T14:58:29.095Z",
"updated_at": "2013-12-13T14:58:29.095Z"
}, ...
]
}
Todos los ingresos tienen las siguientes llaves:
id
: El id del ingreso.type
: El tipo de transacción. Siempre retorna income.date
: La fecha del ingreso.concept
: El conceptor del ingreso.amount
: El valor del ingreso.excluded
: true si la transacción está excluída de los reportes, false de lo contrario.user_id
: El id del usuario que creó el ingreso. Null si el ingreso fue creado por API.api_key_id
: El id del API Token que creó el ingreso. Null si el ingreso fue creado por un usuario.created_at
: La fecha en la que fue creado el ingreso.updated_at
: Última fecha de actualización.GET /incomes/{id}
Donde {id}
es el id del ingreso que se quiere ver.
El siguiente comando muestra la información del ingreso 45:
$ curl -i -H "Authorization: Token token=api_token" https://www.infinanza.com/api/v2/incomes/45
Si todo sale bien, se recibe un código 200 OK
con la información del ingreso:
{
"id": 45,
"type": "income",
"date": "2013-12-12",
"concept": "Saldo Inicial",
"amount": "13200",
"excluded": false,
"user_id": 45,
"api_key_id": null,
"created_at": "2013-12-13T14:58:29.095Z",
"updated_at": "2013-12-13T14:58:29.095Z"
}
Todas los ingresos tienen las siguientes llaves:
id
: El id del ingreso.type
: El tipo de transacción. En este caso siempre retorna (income).date
: La fecha del ingreso.concept
: El conceptor del ingreso.amount
: El valor del ingreso.excluded
: true si el ingreso está excluído de los reportes, false de lo contrario.user_id
: El id del usuario que creó el ingreso. Null si el ingreso fue creado por API.api_key_id
: El id del API Token que creó el ingreso. Null si el ingreso fue creado por un usuario.created_at
: La fecha en la que fue creado el ingreso.updated_at
: Última fecha de actualización.POST /incomes
Se debe crear un JSON con los siguientes parámetros:
date
: La fecha del ingreso en formato yyyy-mm-dd (p.e. 2013-12-18)concept
: El concepto del ingreso.amount
: El valor del ingreso (p.e. 1500, 13250.50)excluded
: true si el ingreso se debe excluir de los reportes, false de lo contrario.El siguiente comando crea un ingreso por $13,000 el día 13 de Diciembre de 2013:
$ curl -i -X POST -H "Authorization: Token token=api_token" -d '{ "date", "2013-12-13", "concept": "Ingreso de prueba", "amount": 13000, "excluded": false }' https://www.infinanza.com/api/v2/incomes
Si todo sale bien, se recibe un código 201 Created
con la información completa del ingreso en formato JSON.
PATCH /incomes/{id}
Donde {id}
se debe reemplazar con el id del ingreso que se quiere actualizar. En el cuerpo de la petición se debe enviar un JSON con los campos que quieras actualizar (sólo se actualizarán los campos que envíes):
date
: La fecha del ingreso en formato yyyy-mm-dd (p.e. 2013-12-18)concept
: El concepto del ingreso.amount
: El valor del ingreso (p.e. 1500, 13250.50)excluded
: true si el ingreso está excluído de los reportes, false de lo contrario.El siguiente comando actualiza el ingreso con id 24:
$ curl -i -X PATCH -H "Authorization: Token token=api_token" -d '{ date", "2013-12-13", "concept": "Ingreso de prueba", "amount": 13000, "excluded": false }' https://www.infinanza.com/api/v2/incomes/24
Si todo sale bien, se recibe un código 204 No Content
.
DELETE /incomes/{id}
Donde {id}
se debe reemplazar con el id del ingreso que se quiere eliminar. El cuerpo de la petición debe ir vacío.
El siguiente comando elimina el ingreso con id 24:
$ curl -i -X DELETE -H "Authorization: Token token=api_token" https://www.infinanza.com/api/v2/incomes/24
Si todo sale bien, se recibe un código 204 No Content
.
GET /expenses
Retorna el listado de egresos ordenados por fecha (el más recientes primero). Puedes controlar la página y el número de registros por página con los parámetros per_page
y page
. Por defecto el número de registros por página es 50.
GET /expenses?per_page=10&page=3
El siguiente comando lista los últimos 50 egresos creados:
$ curl -i -H "Authorization: Token token=api_token" https://www.infinanza.com/api/v2/expenses
Si todo sale bien, se recibe un código 200 OK
con los egresos en el cuerpo en formato JSON como se muestra a continuación:
{ "page": 1,
"per_page": 50,
"total_records": 1000,
"records": [
{
"id": 143,
"type": "expense",
"date": "2013-12-12",
"concept": "Saldo Inicial",
"amount": "13200",
"excluded": false,
"user_id": 45,
"api_key_id": null,
"created_at": "2013-12-13T14:58:29.095Z",
"updated_at": "2013-12-13T14:58:29.095Z"
}, {
"id": 144,
"type": "expense",
"date": "2013-12-11",
"concept": "Square Inc",
"amount": "2200",
"excluded": false,
"user_id": 45,
"api_key_id": null,
"created_at": "2013-12-13T14:58:29.095Z",
"updated_at": "2013-12-13T14:58:29.095Z"
}, ...
]
}
Todos los egresos tienen las siguientes llaves:
id
: El id del ingreso.type
: El tipo de transacción. Siempre retorna expense.date
: La fecha del ingreso.concept
: El conceptor del ingreso.amount
: El valor del ingreso.excluded
: true si la transacción está excluída de los reportes, false de lo contrario.user_id
: El id del usuario que creó el ingreso. Null si el ingreso fue creado por API.api_key_id
: El id del API Token que creó el ingreso. Null si el ingreso fue creado por un usuario.created_at
: La fecha en la que fue creado el ingreso.updated_at
: Última fecha de actualización.GET /expenses/{id}
Donde {id}
es el id del ingreso que se quiere ver.
El siguiente comando muestra la información del ingreso 45:
$ curl -i -H "Authorization: Token token=api_token" https://www.infinanza.com/api/v2/expenses/45
Si todo sale bien, se recibe un código 200 OK
con la información del ingreso:
{
"id": 45,
"type": "expense",
"date": "2013-12-12",
"concept": "Saldo Inicial",
"amount": "13200",
"excluded": false,
"user_id": 45,
"api_key_id": null,
"created_at": "2013-12-13T14:58:29.095Z",
"updated_at": "2013-12-13T14:58:29.095Z"
}
Todas los egresos tienen las siguientes llaves:
id
: El id del ingreso.type
: El tipo de transacción. En este caso siempre retorna (expense).date
: La fecha del ingreso.concept
: El conceptor del ingreso.amount
: El valor del ingreso.excluded
: true si el ingreso está excluído de los reportes, false de lo contrario.user_id
: El id del usuario que creó el ingreso. Null si el ingreso fue creado por API.api_key_id
: El id del API Token que creó el ingreso. Null si el ingreso fue creado por un usuario.created_at
: La fecha en la que fue creado el ingreso.updated_at
: Última fecha de actualización.POST /expenses
Se debe crear un JSON con los siguientes parámetros:
date
: La fecha del ingreso en formato yyyy-mm-dd (p.e. 2013-12-18)concept
: El concepto del ingreso.amount
: El valor del ingreso (p.e. 1500, 13250.50)excluded
: true si el ingreso se debe excluir de los reportes, false de lo contrario.El siguiente comando crea un ingreso por $13,000 el día 13 de Diciembre de 2013:
$ curl -i -X POST -H "Authorization: Token token=api_token" -d '{ "date", "2013-12-13", "concept": "Ingreso de prueba", "amount": 13000, "excluded": false }' https://www.infinanza.com/api/v2/incomes
Si todo sale bien, se recibe un código 201 Created
con la información completa del ingreso en formato JSON.
PATCH /expenses/{id}
Donde {id}
se debe reemplazar con el id del ingreso que se quiere actualizar. En el cuerpo de la petición se debe enviar un JSON con los campos que quieras actualizar (sólo se actualizarán los campos que envíes):
date
: La fecha del ingreso en formato yyyy-mm-dd (p.e. 2013-12-18)concept
: El concepto del ingreso.amount
: El valor del ingreso (p.e. 1500, 13250.50)excluded
: true si el ingreso está excluído de los reportes, false de lo contrario.El siguiente comando actualiza el ingreso con id 24:
$ curl -i -X PATCH -H "Authorization: Token token=api_token" -d '{ date", "2013-12-13", "concept": "Ingreso de prueba", "amount": 13000, "excluded": false }' https://www.infinanza.com/api/v2/expenses/24
Si todo sale bien, se recibe un código 204 No Content
.
DELETE /expenses/{id}
Donde {id}
se debe reemplazar con el id del ingreso que se quiere eliminar. El cuerpo de la petición debe ir vacío.
El siguiente comando elimina el ingreso con id 24:
$ curl -i -X DELETE -H "Authorization: Token token=api_token" https://www.infinanza.com/api/v2/expenses/24
Si todo sale bien, se recibe un código 204 No Content
.
GET /invoices
Retorna el listado de facturas ordenadas por fecha (las más recientes primero). Puedes controlar la página y el número de registros por página con los parámetros per_page
y page
. Por defecto el número de registros por página es 50.
GET /invoices?per_page=10&page=3
El siguiente comando lista las últimas 50 facturas creados:
$ curl -i -H "Authorization: Token token=api_token" https://www.infinanza.com/api/v2/invoices
Si todo sale bien, se recibe un código 200 OK
con las facturas en el cuerpo en formato JSON como se muestra a continuación:
{ "page": 1,
"per_page": 50,
"total_records": 1000,
"records": [
{
"id": 45,
"type": "invoice",
"number": "2756",
"date": "2013-12-12",
"due_date": "2014-01-24",
"customer": {
"id": 23,
"name": "Square Inc",
"national_id": "100003876464",
"address": "Av Boulevard 14 76643"
},
"concept": "2756 - Square Inc",
"items": [
{ "description": "Product 1", "amount": "6000"},
{ "description": "Product 2", "amount": "4000"}
],
"amount": "10000",
"tax_percentage": "0.16",
"tax": "1600",
"paid": false,
"additional_info": "Información adicional",
"user_id": 45,
"api_key_id": null,
"created_at": "2013-12-13T14:58:29.095Z",
"updated_at": "2013-12-13T14:58:29.095Z"
}, ...
]
}
Todas las facturas tienen las siguientes llaves:
id
: El id de la factura.type
: El tipo de transacción. Siempre retorna invoice.number
: El número de factura.date
: La fecha de la factura.due_date
: La fecha en que vence la factura.customer
: El cliente al que se le realizó la factura.
id
: El id del clientename
: El nombre del clientenational_id
: El número de identificación nacional del clienteaddress
: La dirección del clienteemail
: El email del clienteconcept
: Campo generado automáticamente con el número de la factura y el nombre cliente.items
: El detalle de la factura.
description
: La descripción del item.amount
El valor del item.amount
: El subtotal de la factura (sin impuestos).tax_percentage
: El porcentaje de impuesto (en decimales).tax
: El impuesto de la factura.paid
: true si ya fue pagada, false de lo contrario.additional_info
: Información adicional de la factura.user_id
: El id del usuario que creó la factura. Null si la facutra fue creada por API.api_key_id
: El id del API Token que creó la factura. Null si la factura fue creada por un usuario.created_at
: La fecha en la que fue creada la factura.updated_at
: Última fecha de actualización.GET /invoices/{id}
Donde {id}
es el id de la factura que se quiere ver.
El siguiente comando muestra la información de la factura 45:
$ curl -i -H "Authorization: Token token=api_token" https://www.infinanza.com/api/v2/invoices/45
Si todo sale bien, se recibe un código 200 OK
con la información de la factura:
{
"id": 45,
"type": "invoice",
"number": "2756",
"date": "2013-12-12",
"due_date": "2014-01-24",
"customer": {
"id": 23,
"name": "Square Inc",
"national_id": "100003876464",
"address": "Av Boulevard 14 76643",
"email": "[email protected]"
},
"concept": "2756 - Square Inc",
"items": [
{ "description": "Product 1", "amount": "6000"},
{ "description": "Product 2", "amount": "4000"}
],
"amount": "10000",
"tax_percentage": "0.16",
"tax": "1600",
"paid": false,
"additional_info": "Información adicional",
"user_id": 45,
"api_key_id": null,
"created_at": "2013-12-13T14:58:29.095Z",
"updated_at": "2013-12-13T14:58:29.095Z"
}
Todas las facturas tienen las siguientes llaves:
id
: El id de la factura.type
: El tipo de transacción. Siempre retorna invoice.number
: El número de factura.date
: La fecha de la factura.due_date
: La fecha en que vence la factura.customer
: El cliente al que se le realizó la factura.
id
: El id del clientename
: El nombre del clientenational_id
: El número de identificación nacional del clienteaddress
: La dirección del clienteemail
: El email del clienteconcept
: Campo generado automáticamente con el número de la factura y el nombre cliente.items
: El detalle de la factura.
description
: La descripción del item.amount
El valor del item.amount
: El subtotal de la factura (sin impuestos).tax_percentage
: El porcentaje de impuesto (en decimales).tax
: El impuesto de la factura.paid
: true si ya fue pagada, false de lo contrario.additional_info
: Información adicional de la factura.user_id
: El id del usuario que creó la factura. Null si la facutra fue creada por API.api_key_id
: El id del API Token que creó la factura. Null si la factura fue creada por un usuario.created_at
: La fecha en la que fue creada la factura.updated_at
: Última fecha de actualización.POST /invoices
Se debe crear un JSON con los siguientes parámetros:
number
: Opcional. El número de la factura. Si no se especifica, el sistema le asigna el siguiente número.date
: La fecha de la factura en formato yyyy-mm-dd (p.e. 2013-12-18)due_date
: La fecha en la que vence la factura en formato yyyy-mm-dd (p.e. 2013-12-18)customer
: El cliente al que se le realiza la factura.
id
: Opcional. El id del cliente. Omite este campo para crear un nuevo clientename
: Opcional si se pasa id
. El nombre del cliente para crear o editar.national_id
: Opcional si se pasa id
. El número de identificación nacional del cliente.address
: Opcional si se pasa id
. La dirección del cliente.items
: Un arreglo con el detalle de la factura. Se debe enviar al menos un item.
description
: La descripción del item.amount
: El valor del item.tax_percentage
: Opcional. El porcentaje de impuesto en decimales (p.e. 0.16). Si se omite, se utiliza tax
. Si tax
también se omite se utiliza el porcentaje por defecto de la cuenta.tax
: Opcional. El monto de impuesto. Si se omite se utiliza el tax_percentage
o el porcentaje por defecto de la cuenta para calcular este valor.paid
: true si ya fue pagada, false de lo contrario.additional_info
: Opcional. Información adicional de la factura.send_by_email
: Opcional. Si el valor es true, se envía un email al cliente con la factura (en PDF).email_message
: Opcional. El mensaje que se le envía al cliente cuando send_by_email
es true.El siguiente comando crea una factura por $12,000 el día 13 de Diciembre de 2013:
$ curl -i -X POST -H "Authorization: Token token=api_token" -d '{ "date", "2013-12-13", "customer": {"name": "Nuevo Cliente", "national_id": "003334667", "address": "Av Boulevard 75 384782"}, "items": [{"description": "Producto 1", "amount": "12000" }], "paid": false }' https://www.infinanza.com/api/v2/invoices
Si todo sale bien, se recibe un código 201 Created
con la información completa de la factura en formato JSON.
PATCH /invoices/{id}
Donde {id}
se debe reemplazar con el id de la factura que se quiere actualizar. En el cuerpo de la petición se debe enviar un JSON con los campos que quieras actualizar (sólo se actualizarán los campos que envíes):
number
: Opcional. El número de la factura. Si no se especifica, el sistema le asigna el siguiente número.date
: La fecha de la factura en formato yyyy-mm-dd (p.e. 2013-12-18)due_date
: La fecha en la que vence la factura en formato yyyy-mm-dd (p.e. 2013-12-18)customer
: El cliente al que se le realiza la factura.
id
: Opcional. El id del cliente. Omite este campo para crear un nuevo clientename
: Opcional si se pasa id
. El nombre del cliente para crear o editar.national_id
: Opcional si se pasa id
. El número de identificación nacional del cliente.address
: Opcional si se pasa id
. La dirección del cliente.items
: Un arreglo con el detalle de la factura. Se debe enviar al menos un item.
description
: La descripción del item.amount
: El valor del item.tax_percentage
: Opcional. El porcentaje de impuesto en decimales (p.e. 0.16). Si se omite, se utiliza tax
. Si tax
también se omite se utiliza el porcentaje por defecto de la cuenta.tax
: Opcional. El monto de impuesto. Si se omite se utiliza el tax_percentage
o el porcentaje por defecto de la cuenta para calcular este valor.paid
: true si ya fue pagada, false de lo contrario.additional_info
: Opcional. Información adicional de la factura.El siguiente comando actualiza la factura con id 24 a estado pagada:
$ curl -i -X PATCH -H "Authorization: Token token=api_token" -d '{ "paid": true }' https://www.infinanza.com/api/v2/invoices/24
Si todo sale bien, se recibe un código 204 No Content
.
DELETE /invoices/{id}
Donde {id}
se debe reemplazar con el id de la factura que se quiere eliminar. El cuerpo de la petición debe ir vacío.
El siguiente comando elimina la factura con id 24:
$ curl -i -X DELETE -H "Authorization: Token token=api_token" https://www.infinanza.com/api/v2/invoices/24
Si todo sale bien, se recibe un código 204 No Content
.
GET /receipts
Retorna el listado de recibos ordenados por fecha (el más recientes primero). Puedes controlar la página y el número de registros por página con los parámetros per_page
y page
. Por defecto el número de registros por página es 50.
GET /receipts?per_page=10&page=3
El siguiente comando lista los últimos 50 recibos creados:
$ curl -i -H "Authorization: Token token=api_token" https://www.infinanza.com/api/v2/receipts
Si todo sale bien, se recibe un código 200 OK
con los recibos en el cuerpo en formato JSON como se muestra a continuación:
{ "page": 1,
"per_page": 50,
"total_records": 1000,
"records": [
{
"id": 143,
"type": "receipt",
"date": "2013-12-12",
"due_date": "2014-01-12",
"concept": "Agua",
"amount": "13200",
"paid": false,
"user_id": 45,
"api_key_id": null,
"created_at": "2013-12-13T14:58:29.095Z",
"updated_at": "2013-12-13T14:58:29.095Z"
}, {
"id": 144,
"type": "receipt",
"date": "2013-12-11",
"due_date": "2014-01-11",
"concept": "Internet",
"amount": "2200",
"paid": false,
"user_id": 45,
"api_key_id": null,
"created_at": "2013-12-13T14:58:29.095Z",
"updated_at": "2013-12-13T14:58:29.095Z"
}, ...
]
}
Todos los ingresos tienen las siguientes llaves:
id
: El id del ingreso.type
: El tipo de transacción. Siempre retorna receipt.date
: La fecha del ingreso.due_date
: La fecha en la que vence el recibo en formato yyyy-mm-dd (p.e. 2013-12-18)concept
: El conceptor del ingreso.amount
: El valor del ingreso.paid
: true si ya fue pagado, false de lo contrario.user_id
: El id del usuario que creó el ingreso. Null si el ingreso fue creado por API.api_key_id
: El id del API Token que creó el ingreso. Null si el ingreso fue creado por un usuario.created_at
: La fecha en la que fue creado el ingreso.updated_at
: Última fecha de actualización.GET /receipts/{id}
Donde {id}
es el id del recibo que se quiere ver.
El siguiente comando muestra la información del recibo 45:
$ curl -i -H "Authorization: Token token=api_token" https://www.infinanza.com/api/v2/receipts/45
Si todo sale bien, se recibe un código 200 OK
con la información del recibo:
{
"id": 45,
"type": "receipt",
"date": "2013-12-12",
"due_date": "2014-01-11",
"concept": "Internet",
"amount": "13200",
"paid": false,
"user_id": 45,
"api_key_id": null,
"created_at": "2013-12-13T14:58:29.095Z",
"updated_at": "2013-12-13T14:58:29.095Z"
}
Todas los recibos tienen las siguientes llaves:
id
: El id del ingreso.type
: El tipo de transacción. Siempre retorna receipt.date
: La fecha del ingreso.due_date
: La fecha en la que vence el recibo en formato yyyy-mm-dd (p.e. 2013-12-18)concept
: El conceptor del ingreso.amount
: El valor del ingreso.paid
: true si ya fue pagado, false de lo contrario.user_id
: El id del usuario que creó el ingreso. Null si el ingreso fue creado por API.api_key_id
: El id del API Token que creó el ingreso. Null si el ingreso fue creado por un usuario.created_at
: La fecha en la que fue creado el ingreso.updated_at
: Última fecha de actualización.POST /receipts
Se debe crear un JSON con los siguientes parámetros:
date
: La fecha del recibo en formato yyyy-mm-dd (p.e. 2013-12-18)due_date
: La fecha en la que vence el recibo en formato yyyy-mm-dd (p.e. 2013-12-18)concept
: El concepto del recibo.amount
: El valor del recibo (p.e. 1500, 13250.50)paid
: true si ya fue pagado, false de lo contrario.El siguiente comando crea un recibo por $13,000 el día 13 de Diciembre de 2013:
$ curl -i -X POST -H "Authorization: Token token=api_token" -d '{ "date", "2013-12-13", "due_date": "2014-01-11", "concept": "Recibo de prueba", "amount": 13000, "paid": false }' https://www.infinanza.com/api/v2/receipts
Si todo sale bien, se recibe un código 201 Created
con la información completa del recibo en formato JSON.
PATCH /receipts/{id}
Donde {id}
se debe reemplazar con el id del recibo que se quiere actualizar. En el cuerpo de la petición se debe enviar un JSON con los campos que quieras actualizar (sólo se actualizarán los campos que envíes):
date
: La fecha del recibo en formato yyyy-mm-dd (p.e. 2013-12-18)due_date
: La fecha en la que vence el recibo en formato yyyy-mm-dd (p.e. 2013-12-18)concept
: El concepto del recibo.amount
: El valor del recibo (p.e. 1500, 13250.50)paid
: true si ya fue pagado, false de lo contrario.El siguiente comando actualiza el recibo con id 24:
$ curl -i -X PATCH -H "Authorization: Token token=api_token" -d '{ "date", "2013-12-13", "due_date": "2014-01-11", "concept": "Recibo de prueba", "amount": 13000, "paid": false }' https://www.infinanza.com/api/v2/receipts/24
Si todo sale bien, se recibe un código 204 No Content
.
DELETE /receipts/{id}
Donde {id}
se debe reemplazar con el id del recibo que se quiere eliminar. El cuerpo de la petición debe ir vacío.
El siguiente comando elimina el recibo con id 24:
$ curl -i -X DELETE -H "Authorization: Token token=api_token" https://www.infinanza.com/api/v2/receipts/24
Si todo sale bien, se recibe un código 204 No Content
.