Una moneda de una Company (o de una Branch concreta).
related_iso hacia
iso (p. ej. 1 VES = 75000 * USD).is_local o
is_international, related_iso debe coincidir con la moneda local; en los demás casos, con
el iso de la moneda internacional.$ es el símbolo y 0.00 el monto.conversion_factor se actualiza
automáticamente y con qué proveedor (legacy, bcv, ext, today).| Atributo | Tipo | Descripción |
|---|---|---|
id |
int |
|
enabled |
bool |
Si la moneda puede usarse para procesar pagos |
iso |
string |
Identificador ISO de la moneda |
symbol |
string |
Símbolo de la moneda |
conversion_factor |
float |
Factor de conversión desde related_iso hacia iso |
related_iso |
string |
Moneda desde la que se hace la conversión |
decimals_count |
int |
Cantidad de decimales a mostrar |
format |
string |
Formato de visualización ($ = símbolo, 0.00 = monto) |
decimal_point |
string |
Carácter separador de decimales |
use_thousands_separator |
bool |
Si se separan los miles al mostrar |
thousands_separator |
string |
Carácter separador de miles |
is_local |
bool |
Si es la moneda local (por defecto para los productos) |
is_international |
bool |
Si es la moneda base para convertir las no locales |
created_at |
datetime\|null |
|
updated_at |
datetime\|null |
|
company_id |
int |
{@link Company} dueña de la moneda |
is_custom |
bool |
Si la moneda fue definida a medida (no proviene del catálogo) |
branch_id |
int\|null |
{@link Branch} dueña de la moneda; nulo si es de la company |
auto_sync |
bool |
Si el conversion_factor se actualiza automáticamente |
auto_sync_provider |
string |
Proveedor de la tasa automática (legacy, bcv, ext, today) |
allLogs |
Collection<int, \App\ApiLog> |
|
branch |
Branch\|null |
{@link Branch} dueña de la moneda |
company |
Company |
{@link Company} dueña de la moneda |
available |
bool |
Si la moneda está disponible para usarse |
company_match |
Currency\|null |
Moneda equivalente a nivel de company (para monedas de sucursal) |
inter |
Currency\|null |
Moneda internacional del ámbito de esta moneda |
local |
Currency\|null |
Moneda local del ámbito de esta moneda |
related_iso_error |
bool |
Si el related_iso actual no es el esperado |
related_iso_expected |
string |
related_iso que debería tener según is_local / is_international |
use_conversion |
bool |
Si esta moneda requiere conversión (no es la base) |
logs |
Collection<int, \App\ApiLog> |
{
"id": 1,
"enabled": true,
"iso": "USD",
"symbol": "$",
"conversion_factor": 1,
"related_iso": "USD",
"decimals_count": 2,
"format": "$ 0.00",
"decimal_point": ".",
"use_thousands_separator": true,
"thousands_separator": ",",
"is_local": true,
"is_international": true,
"created_at": "2020-04-17 01:07:30",
"updated_at": "2025-03-27 13:27:03",
"company_id": 1,
"is_custom": true,
"branch_id": null,
"auto_sync": false,
"auto_sync_provider": "legacy",
"use_conversion": false,
"available": true,
"related_iso_expected": "USD",
"related_iso_error": false
}
Crear moneda
Crea una Currency para la company o para una Branch. Nace deshabilitada
(enabled = false). Para una moneda de sucursal debe existir su equivalente a nivel de
company.
| Método | URI | Cabeceras |
|---|---|---|
| POST | /companies/{companyId}/branches/{branchId}/currencies |
Authorization |
{
"iso": "required|max:8|string",
"symbol": "required|max:4|string",
"conversion_factor": "numeric|min:0.00001",
"decimals_count": "integer|min:0|max:2",
"format": {
"string": true,
"regex": "/^(\$.*0.00)|(0.00.*\$)$/"
},
"decimal_point": "string|min:1|max:1",
"use_thousands_separator": "boolean",
"thousands_separator": "string|min:1|max:1",
"is_custom": "boolean",
"auto_sync": "boolean",
"auto_sync_provider": "string|in:legacy,ext,bcv,today"
}
| Código | HTTP | Cuándo ocurre |
|---|---|---|
ER409 |
409 | Ya existe una moneda con ese iso a nivel de company. |
Crear moneda
Crea una Currency para la company o para una Branch. Nace deshabilitada
(enabled = false). Para una moneda de sucursal debe existir su equivalente a nivel de
company.
| Método | URI | Cabeceras |
|---|---|---|
| POST | /companies/{companyId}/branches/{branchId}/currencies |
Authorization |
{
"iso": "required|max:8|string",
"symbol": "required|max:4|string",
"conversion_factor": "numeric|min:0.00001",
"decimals_count": "integer|min:0|max:2",
"format": {
"string": true,
"regex": "/^(\$.*0.00)|(0.00.*\$)$/"
},
"decimal_point": "string|min:1|max:1",
"use_thousands_separator": "boolean",
"thousands_separator": "string|min:1|max:1",
"is_custom": "boolean",
"auto_sync": "boolean",
"auto_sync_provider": "string|in:legacy,ext,bcv,today"
}
| Código | HTTP | Cuándo ocurre |
|---|---|---|
ER409 |
409 | Ya existe una moneda con ese iso a nivel de company. |
{info} Soporta: Paginación Filters Carga dinámica
Listar monedas
Devuelve las Currency de la company o, si se pasa branchId, las de esa
Branch.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{companyId}/branches/{branchId}/currencies |
N/A |
{info} Soporta: Paginación Filters Carga dinámica
Listar monedas
Devuelve las Currency de la company o, si se pasa branchId, las de esa
Branch.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{companyId}/branches/{branchId}/currencies |
N/A |
{info} Soporta: Carga dinámica
Mostrar moneda
Devuelve la Currency por su id.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{companyId}/currencies/{currencyId} |
N/A |
Actualizar moneda
Modifica el formato de visualización, el conversion_factor, related_iso, symbol,
auto_sync / auto_sync_provider y demás campos editables de la Currency.
| Método | URI | Cabeceras |
|---|---|---|
| PATCH | /companies/{companyId}/currencies/{currencyId} |
Authorization |
{
"related_iso": "required|max:8|string",
"symbol": "max:4|string",
"conversion_factor": "numeric|min:0.00001",
"decimals_count": "integer|min:0|max:2",
"format": {
"string": true,
"regex": "/^(\$.*0.00)|(0.00.*\$)$/"
},
"decimal_point": "string|min:1|max:1",
"use_thousands_separator": "boolean",
"thousands_separator": "string|min:1|max:1",
"is_custom": "boolean",
"auto_sync": "boolean",
"auto_sync_provider": "string|in:legacy,ext,bcv,today"
}
Eliminar moneda
Borra la Currency.
| Método | URI | Cabeceras |
|---|---|---|
| DELETE | /companies/{companyId}/currencies/{currencyId} |
Authorization |
| Código | HTTP | Cuándo ocurre |
|---|---|---|
EA197 |
400 | La moneda está en uso (formas de pago, pasarelas o como local/internacional de una sucursal). |
Convierte un monto entre dos ISO de moneda en el ámbito de la Branch indicada.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{companyId}/branches/{branchId}/currency-convert |
N/A |
{
"currency_iso_from": "required|string|min:3|max:8",
"currency_iso_to": "required|string|min:3|max:8",
"amount_e2": "required|integer|min:0"
}
| Código | HTTP | Cuándo ocurre |
|---|---|---|
EA104 |
400 | Alguna de las monedas indicadas no existe. |
Pone enabled = true: la moneda pasa a poder usarse para procesar pagos.
| Método | URI | Cabeceras |
|---|---|---|
| POST | /companies/{companyId}/currencies/{currencyId}/set-enabled |
Authorization |
| Código | HTTP | Cuándo ocurre |
|---|---|---|
EA196 |
400 | La moneda ya está habilitada. |
Pone enabled = false. No se permite si la moneda está en uso.
| Método | URI | Cabeceras |
|---|---|---|
| POST | /companies/{companyId}/currencies/{currencyId}/set-disabled |
Authorization |
| Código | HTTP | Cuándo ocurre |
|---|---|---|
EA195 |
400 | La moneda no está habilitada. |
EA197 |
400 | La moneda está en uso. |
Promueve la Currency a moneda local (la usada por defecto para los productos).
Requiere estar habilitada y tener una related_iso coherente.
| Método | URI | Cabeceras |
|---|---|---|
| POST | /companies/{companyId}/currencies/{currencyId}/set-local |
Authorization |
| Código | HTTP | Cuándo ocurre |
|---|---|---|
EA193 |
400 | La moneda ya es local. |
EA195 |
400 | La moneda no está habilitada. |
EA191 |
400 | La related_iso no es una moneda local. |
EA103 |
400 | La moneda relacionada no existe. |
Promueve la Currency a moneda internacional (la base para convertir las monedas no locales). No aplica a monedas de sucursal.
| Método | URI | Cabeceras |
|---|---|---|
| POST | /companies/{companyId}/currencies/{currencyId}/set-international |
Authorization |
| Código | HTTP | Cuándo ocurre |
|---|---|---|
EA194 |
400 | La moneda ya es internacional. |
EA192 |
400 | La related_iso no es una moneda internacional. |
EA103 |
400 | La moneda relacionada no existe. |