Procesar operaciones
Al realizar una consulta de operaciones a través de la API REST, la respuesta del servidor presenta la siguiente estructura:
{
"new_clients": [...],
"orders": [...],
"orders_items": [...],
"payment_collections": [...],
"payment_collections_debts": [...],
"payment_collections_methods": [...]
}
new_clients Nuevos clientes
Cada elemento del array new_clients representa un nuevo cliente.
Se debe priorizar el procesamiento de nuevos clientes antes de pedidos o cobranzas, dado que dichas operaciones podrían corresponder a nuevos clientes aún no registrados en su sistema.
Ejemplo JSON - [Expandir]
[
{
"new_client_id": 1,
"created_by_sales_agent_id": 1,
"first_name": "PABLO",
"last_name": "ALVAREZ",
"legal_name": "PABLO ALVAREZ",
"tax_condition_code": "consumidor_final",
"is_a_legal_person": false,
"identification": "20000000",
"state_id": 1,
"state": "Santa Fe",
"locality_id": 1,
"locality": "ROSARIO",
"postal_code": "2000",
"street_address": "CORDOBA",
"street_number": "100",
"address": "CORDOBA 100",
"phone_country_code": "549",
"phone_prefix": "341",
"phone_line_number": "5555555",
"phone": "5493415555555",
"first_opening_time": "09:00:00",
"first_closing_time": "18:00:00",
"second_opening_time": null,
"second_closing_time": null,
"email": "[email protected]",
"discount": 25,
"sales_agent_id": 1,
"price_list_id": 1,
"payment_term_id": null,
"zone_id": 1,
"created_at": "2026-01-01T00:00:00.000Z",
"observations": "Nuevo cliente de ejemplo",
}
]
- JavaScript
new_clients.forEach((new_client) => {
const {
new_client_id, // Integer
created_by_sales_agent_id, // Integer
first_name, // String
last_name, // String
legal_name, // String
tax_condition_code, // String
is_a_legal_person, // Boolean
identification, // String
state_id, // Integer
state, // String
locality_id, // Integer
locality, // String
postal_code, // String
street_address, // String
street_number, // String
address, // String
phone_country_code, // String
phone_prefix, // String
phone_line_number, // String
phone, // String
first_opening_time, // String
first_closing_time, // String
second_opening_time, // String
second_closing_time, // String
email, // String
discount, // Number
sales_agent_id, // Integer
price_list_id, // Integer
payment_term_id, // Integer (Nullable)
zone_id, // Integer (Nullable)
observations, // String
created_at, // String (ISO 8601)
} = new_client;
// Procesar nuevo cliente
// ...
});
Propiedades
| Propiedad | Tipo | Descripción | Observaciones |
|---|---|---|---|
| new_client_id | Integer | ID único del nuevo cliente (en nuestro sistema). | |
| created_by_sales_agent_id | Integer | ID único del agente de ventas que creo el nuevo cliente | |
| first_name | String | Nombre. | ⚠️ Si is_a_legal_person es true, este valor será un string vacío. Usar legal_name en su lugar. |
| last_name | String | Apellido. | ⚠️ Si is_a_legal_person es true, este valor será un string vacío. Usar legal_name en su lugar. |
| legal_name | String | Razón social. | Si is_a_legal_person es false, este valor se genera a partir de first_name y last_name. |
| tax_condition_code | String | Código que representa la condición fiscal. | Valores posibles: iva_responsable_inscripto, iva_responsable_monotributo, iva_sujeto_exento, consumidor_final |
| is_a_legal_person | Boolean | Indica si el cliente es una persona jurídica (true) o una persona física (false). | |
| identification | String | Identificación. | Si es persona jurídica: CUIT (sin guion medio). Si es persona física: DNI. |
| state_id | Integer | ID único del estado/provincia en que reside. | |
| state | String | Nombre del estado/provincia en que reside. | |
| locality_id | Integer | ID único de la localidad en que reside. | |
| locality | String | Nombre de la localidad en que reside. | |
| postal_code | String | Código postal. | |
| street_address | String | Nombre de la calle. | |
| street_number | String | Número de la calle. | |
| address | String | Dirección completa, combinando street_address y street_number. | |
| phone_country_code | String | Código de país del número de teléfono. | |
| phone_prefix | String | Prefijo del número de teléfono. | |
| phone_line_number | String | Número de teléfono sin prefijo. | |
| phone | String | Número de teléfono completo. | |
| first_opening_time | String | Primer horario de apertura | |
| first_closing_time | String | Primer horario de cierre | |
| second_opening_time | String | Segundo horario de apertura | |
| second_closing_time | String | Segundo horario de cierre | |
| String | Dirección de correo electrónico. | ||
| discount | Number | Porcentaje de descuento global del cliente. | |
| sales_agent_id | Integer | ID único del agente de ventas asignado. | |
| price_list_id | Integer | ID único de la lista de precios asignada. | |
| payment_term_id | Integer | ID único de la condición de venta. | Puede ser null. |
| zone_id | Integer | ID único de la zona a la que pertenece. | Puede ser null. |
| observations | String | Observaciones adicionales. | |
| created_at | String | Fecha y hora de creación (ISO 8601). |
orders Pedidos
Cada elemento del array orders representa un pedido realizado.
Si is_a_new_client es TRUE, el valor de client_id corresponde al ID de un nuevo cliente (new_client_id) y debe reemplazarse por el identificador correcto en su sistema.
Ejemplo JSON - [Expandir]
[
{
"order_id": 1,
"client_id": 1,
"is_a_new_client": false,
"sales_agent_id": 1,
"deadline": "2026-01-02T00:00:00.000Z",
"final_price_with_iva": 475.48,
"final_price_without_iva": 392.96,
"items_total_discounts_with_iva": 58.70,
"items_total_discounts_without_iva": 46.37,
"global_adjustment_type": "discount-percentage",
"global_adjustment_value": 10.00,
"global_adjustment_total_with_iva": 52.83,
"global_adjustment_total_without_iva": 43.66,
"payment_term_id": null,
"payment_term_adjustment_type": "discount-percentage",
"payment_term_adjustment_value": 0.00,
"payment_term_adjustment_total_with_iva": 0.00,
"payment_term_adjustment_total_without_iva": 0.00,
"transaction_type": null,
"observations": "Pedido de ejemplo",
"created_at": "2026-01-01T00:00:00.000Z"
}
]
- JavaScript
orders.forEach((order) => {
const {
order_id, // Integer
client_id, // Integer
is_a_new_client, // Boolean
sales_agent_id, // Integer
deadline, // String (Nullable, ISO 8601)
final_price_with_iva, // Number
final_price_without_iva, // Number
items_total_discounts_with_iva, // Number
items_total_discounts_without_iva, // Number
global_adjustment_type, // String
global_adjustment_value, // Number
global_adjustment_total_with_iva, // Number
global_adjustment_total_without_iva, // Number
payment_term_id, // Integer (Nullable)
payment_term_adjustment_type, // String
payment_term_adjustment_value, // Number
payment_term_adjustment_total_with_iva, // Number
payment_term_adjustment_total_without_iva, // Number
transaction_type, // String (Nullable)
observations, // String
created_at, // String (ISO 8601)
} = order;
// Procesar pedido
// ...
});
Propiedades
| Propiedad | Tipo | Descripción | Observaciones |
|---|---|---|---|
| order_id | Integer | ID único del pedido (en nuestro sistema). | |
| client_id | Integer | ID único del cliente asociado al pedido. | |
| is_a_new_client | Boolean | Indica si el pedido corresponde a un nuevo cliente. | |
| sales_agent_id | Integer | ID del agente de ventas. | |
| deadline | String | Fecha de entrega (ISO 8601). | Puede ser null. |
| final_price_with_iva | Number | Total final (con IVA). | |
| final_price_without_iva | Number | Total final (sin IVA). | |
| items_total_discounts_with_iva | Number | Monto total de descuento en ítems (con IVA). | |
| items_total_discounts_without_iva | Number | Monto total de descuento en ítems (sin IVA). | |
| global_adjustment_type | String | Tipo de ajuste global: recargo o descuento. | Valores posibles: surcharge-percentage, discount-percentage |
| global_adjustment_value | Number | Porcentaje de recargo o descuento global. | |
| global_adjustment_total_with_iva | Number | Total equivalente al recargo o descuento global aplicado al pedido. | |
| global_adjustment_total_without_iva | Number | Total equivalente al recargo o descuento global aplicado al pedido. | |
| payment_term_id | Integer | ID de condición de venta. | Puede ser null. |
| payment_term_adjustment_type | String | Tipo de ajuste por condición de venta: recargo o descuento. | Valores posibles: surcharge-percentage, discount-percentage |
| payment_term_adjustment_value | Number | Porcentaje de recargo o descuento por condición de venta. | |
| payment_term_adjustment_total_with_iva | Number | Total equivalente al recargo o descuento aplicado al pedido según la condición de venta. | |
| payment_term_adjustment_total_without_iva | Number | Total equivalente al recargo o descuento aplicado al pedido según la condición de venta. | |
| transaction_type | String | Tipo de transacción. | Puede ser null. Valores posibles: type-A, type-B |
| observations | String | Observaciones del pedido. | |
| created_at | String | Fecha y hora de creación (ISO 8601). |
orders_items Ítems de pedidos
Cada elemento del array orders_items representa un ítem de un pedido.
Ejemplo JSON - [Expandir]
[
{
"order_item_id": 1,
"order_id": 1,
"product_id": 1,
"quantity": 1,
"discount": 10,
"price_list_id": 1,
"price_multiplier": 1,
"unit_price_with_iva": 587.01,
"unit_price_without_iva": 485.13,
"final_price_with_iva": 528.31,
"final_price_without_iva": 436.62,
"observations": "Item de ejemplo"
}
]
- JavaScript
orders_items.forEach((order_item) => {
const {
order_item_id, // Integer
order_id, // Integer
product_id, // Integer
quantity, // Number
discount, // Number
price_list_id, // Integer
price_multiplier, // Number
unit_price_with_iva, // Number
unit_price_without_iva, // Number
final_price_with_iva, // Number
final_price_without_iva, // Number
observations, // String
} = order_item;
// Procesar ítem de pedido
// ...
});
Propiedades
| Propiedad | Tipo | Descripción | Observaciones |
|---|---|---|---|
| order_item_id | Integer | ID único del ítem de un pedido (en nuestro sistema). | |
| order_id | Integer | ID único del pedido al que pertenece el ítem. | |
| product_id | Integer | ID único del producto asociado. | |
| quantity | Number | Cantidad seleccionada. | |
| discount | Number | Porcentaje de descuento. | |
| price_list_id | Integer | ID único de la lista de precios aplicada. | |
| price_multiplier | Number | Multiplicador de precio. | |
| unit_price_with_iva | Number | Precio unitario con IVA del producto. | |
| unit_price_without_iva | Number | Precio unitario sin IVA del producto. | |
| final_price_with_iva | Number | Precio final con IVA. | |
| final_price_without_iva | Number | Precio final sin IVA. | |
| observations | String | Observaciones adicionales. | Este campo se encuentra desactivado por defecto en la App. |
payment_collections Cobranzas
Cada elemento del array payment_collections representa una cobranza.
Ejemplo JSON - [Expandir]
[
{
"payment_collection_id": 1,
"client_id": 1,
"payment_collections_agent_id": 1,
"debts_total_amount": 1500,
"methods_total_amount": 1500,
"observations": "Cobranza de ejemplo",
"created_at": "2026-01-01T00:00:00.000Z"
}
],
- JavaScript
payment_collections.forEach((payment_collection) => {
const {
payment_collection_id, // Integer
client_id, // Integer
payment_collections_agent_id, // Integer
debts_total_amount, // Number
methods_total_amount, // Number
observations, // String
created_at, // String (ISO 8601)
} = payment_collection;
// Procesar cobranza
// ...
});
Propiedades
| Propiedad | Tipo | Descripción | Observaciones |
|---|---|---|---|
| payment_collection_id | Integer | ID único de la cobranza (en nuestro sistema). | |
| client_id | Integer | ID único del cliente asociado a la cobranza. | |
| payment_collections_agent_id | Integer | ID único del cobrador. | |
| debts_total_amount | Number | Monto total de las deudas. | |
| methods_total_amount | Number | Monto total de los pagos. | |
| observations | String | Observaciones adicionales. | |
| created_at | String | Fecha y hora de creación (ISO 8601). |
payment_collections_debts Deudas de cobranzas
Cada elemento del array payment_collections_debts representa una deuda seleccionada en una cobranza.
Ejemplo JSON - [Expandir]
[
{
"payment_collection_debt_id": 1,
"payment_collection_id": 1,
"client_debt_id": null,
"invoice_code": "COT 0001-00000001",
"paid_amount": 1500,
"unpaid_amount": 0
}
],
- JavaScript
payment_collections_debts.forEach((debt) => {
const {
payment_collection_debt_id, // Integer
payment_collection_id, // Integer
client_debt_id, // Integer
invoice_code, // String
paid_amount, // Number
unpaid_amount, // Number
} = debt;
// Procesar deuda de cobranza
// ...
});
Propiedades
| Propiedad | Tipo | Descripción | Observaciones |
|---|---|---|---|
| payment_collection_debt_id | Integer | ID único de la deuda (en nuestro sistema). | |
| payment_collection_id | Integer | ID único de la cobranza a la que pertenece. | |
| client_debt_id | Integer | ID único de la deuda del cliente. | |
| invoice_code | String | Código de factura asociado a la deuda. | |
| paid_amount | Number | Monto pagado. | |
| unpaid_amount | Number | Monto pendiente de pago. |
payment_collections_methods Pagos de cobranzas
Cada elemento del array payment_collections_methods representa un pago realizado en una cobranza.
Ejemplo JSON - [Expandir]
[
{
"payment_collection_method_id": 1,
"payment_collection_id": 1,
"payment_method_code": "cash",
"bank_id": null,
"bank_account_id": null,
"check_issuance_date": null,
"check_expiration_date": null,
"identification": null,
"wire_date": null,
"description": null,
"amount": 1500,
"observations": "Pago en efectivo"
}
]
- JavaScript
payment_collections_methods.forEach((method) => {
const {
payment_collection_method_id, // Integer
payment_collection_id, // Integer
payment_method_code, // String
bank_id, // Integer (Nullable)
bank_account_id, // Integer (Nullable)
check_issuance_date, // String (Nullable, ISO 8601)
check_expiration_date, // String (Nullable, ISO 8601)
identification, // String
wire_date, // String (Nullable, ISO 8601)
description, // String
amount, // Number
observations, // String
} = method;
// Procesar método de pago
// ...
});
Propiedades
| Propiedad | Tipo | Descripción | Observaciones |
|---|---|---|---|
| payment_collection_method_id | Integer | ID único del pago (en nuestro sistema). | |
| payment_collection_id | Integer | ID de la cobranza a la que pertenece el pago. | |
| payment_method_code | String | Código que identifica el tipo de método de pago utilizado. | Valores posibles: cash, wire_transfer, securities, others |
| bank_id | Integer | ID único del banco seleccionado. | Puede ser null. Aplica para: wire_transfer, securities |
| bank_account_id | Integer | ID único de la cuenta bancaria seleccionada. | Puede ser null. Aplica para: wire_transfer |
| check_issuance_date | String | Fecha de emisión de un cheque (ISO 8601). | Puede ser null. Aplica para: securities |
| check_expiration_date | String | Fecha de vencimiento de un cheque (ISO 8601). | Puede ser null. Aplica para: securities |
| identification | String | Identificación (ej: N° de cheque o referencia de transferencia). | Aplica para: wire_transfer, securities |
| wire_date | String | Fecha de una transferencia bancaria (ISO 8601). | Puede ser null. Aplica para: |
| description | String | Descripción del pago realizado. | Aplica para: others |
| amount | Number | Monto del pago. | |
| observations | String | Observaciones adicionales. |