curl https://api.onepay.la/v1/products/9f5d85a0-1111-7000-aaaa-000000000001 \
-X PUT \
-H "Authorization: Bearer sk_test_xxx" \
-H "x-idempotency: idem_xxx" \
-H "Content-Type: application/json" \
-d '{
"name": "OnePay Pro",
"description": "Para negocios en crecimiento acelerado.",
"internal_id": "pro",
"tax_rate": 19,
"marketing_features": [
{ "name": "Clientes ilimitados" }
]
}'
const response = await fetch('https://api.onepay.la/v1/products/9f5d85a0-1111-7000-aaaa-000000000001', {
method: 'PUT',
headers: {
'Authorization': 'Bearer sk_test_xxx',
'x-idempotency': 'idem_xxx',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'OnePay Pro',
description: 'Para negocios en crecimiento acelerado.',
internal_id: 'pro',
tax_rate: 19,
marketing_features: [
{ name: 'Clientes ilimitados' }
]
})
});
const data = await response.json();
console.log(data);
import requests
response = requests.put(
'https://api.onepay.la/v1/products/9f5d85a0-1111-7000-aaaa-000000000001',
headers={
'Authorization': 'Bearer sk_test_xxx',
'x-idempotency': 'idem_xxx'
},
json={
'name': 'OnePay Pro',
'description': 'Para negocios en crecimiento acelerado.',
'internal_id': 'pro',
'tax_rate': 19,
'marketing_features': [
{'name': 'Clientes ilimitados'}
]
}
)
data = response.json()
print(data)
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.onepay.la/v1/products/9f5d85a0-1111-7000-aaaa-000000000001",
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer sk_test_xxx",
"x-idempotency: idem_xxx",
"Content-Type: application/json"
],
CURLOPT_POSTFIELDS => json_encode([
"name" => "OnePay Pro",
"description" => "Para negocios en crecimiento acelerado.",
"internal_id" => "pro",
"tax_rate" => 19,
"marketing_features" => [
["name" => "Clientes ilimitados"]
]
])
]);
$data = json_decode(curl_exec($curl), true);
curl_close($curl);
print_r($data);
?>
{
"id": "9f5d85a0-1111-7000-aaaa-000000000001",
"object": "product",
"name": "OnePay Pro",
"description": "Para negocios en crecimiento acelerado.",
"active": true,
"internal_id": "pro",
"unit_label": null,
"tax_rate": 19,
"default_price": "9f5d85a0-2222-7000-aaaa-000000000002",
"marketing_features": [
{ "name": "Clientes ilimitados" }
],
"metadata": null,
"created_at": "2026-07-13T12:00:00.000000Z",
"updated_at": "2026-07-13T12:30:00.000000Z"
}
{
"message": "El campo name es obligatorio.",
"code": 10001,
"code_name": "validation_error",
"errors": {
"name": [
"El campo name es obligatorio."
]
}
}
{
"message": "No se puede generar la operación, genera un token de idempotencia y envíelo en los headers como x-idempotency",
"code": 10003,
"code_name": "idempotency_error"
}
{
"message": "No encontrado",
"code": 10004,
"code_name": "not_found"
}
Actualiza los datos de un producto existente.
PUT
/
products
/
{id}
curl https://api.onepay.la/v1/products/9f5d85a0-1111-7000-aaaa-000000000001 \
-X PUT \
-H "Authorization: Bearer sk_test_xxx" \
-H "x-idempotency: idem_xxx" \
-H "Content-Type: application/json" \
-d '{
"name": "OnePay Pro",
"description": "Para negocios en crecimiento acelerado.",
"internal_id": "pro",
"tax_rate": 19,
"marketing_features": [
{ "name": "Clientes ilimitados" }
]
}'
const response = await fetch('https://api.onepay.la/v1/products/9f5d85a0-1111-7000-aaaa-000000000001', {
method: 'PUT',
headers: {
'Authorization': 'Bearer sk_test_xxx',
'x-idempotency': 'idem_xxx',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'OnePay Pro',
description: 'Para negocios en crecimiento acelerado.',
internal_id: 'pro',
tax_rate: 19,
marketing_features: [
{ name: 'Clientes ilimitados' }
]
})
});
const data = await response.json();
console.log(data);
import requests
response = requests.put(
'https://api.onepay.la/v1/products/9f5d85a0-1111-7000-aaaa-000000000001',
headers={
'Authorization': 'Bearer sk_test_xxx',
'x-idempotency': 'idem_xxx'
},
json={
'name': 'OnePay Pro',
'description': 'Para negocios en crecimiento acelerado.',
'internal_id': 'pro',
'tax_rate': 19,
'marketing_features': [
{'name': 'Clientes ilimitados'}
]
}
)
data = response.json()
print(data)
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.onepay.la/v1/products/9f5d85a0-1111-7000-aaaa-000000000001",
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer sk_test_xxx",
"x-idempotency: idem_xxx",
"Content-Type: application/json"
],
CURLOPT_POSTFIELDS => json_encode([
"name" => "OnePay Pro",
"description" => "Para negocios en crecimiento acelerado.",
"internal_id" => "pro",
"tax_rate" => 19,
"marketing_features" => [
["name" => "Clientes ilimitados"]
]
])
]);
$data = json_decode(curl_exec($curl), true);
curl_close($curl);
print_r($data);
?>
{
"id": "9f5d85a0-1111-7000-aaaa-000000000001",
"object": "product",
"name": "OnePay Pro",
"description": "Para negocios en crecimiento acelerado.",
"active": true,
"internal_id": "pro",
"unit_label": null,
"tax_rate": 19,
"default_price": "9f5d85a0-2222-7000-aaaa-000000000002",
"marketing_features": [
{ "name": "Clientes ilimitados" }
],
"metadata": null,
"created_at": "2026-07-13T12:00:00.000000Z",
"updated_at": "2026-07-13T12:30:00.000000Z"
}
{
"message": "El campo name es obligatorio.",
"code": 10001,
"code_name": "validation_error",
"errors": {
"name": [
"El campo name es obligatorio."
]
}
}
{
"message": "No se puede generar la operación, genera un token de idempotencia y envíelo en los headers como x-idempotency",
"code": 10003,
"code_name": "idempotency_error"
}
{
"message": "No encontrado",
"code": 10004,
"code_name": "not_found"
}
Actualiza un producto existente de tu empresa. Acepta los mismos campos que la creación (con
name obligatorio). Si el producto no pertenece a tu empresa, la petición retorna un 404.
Headers
string
required
Token único para garantizar la idempotencia de la petición
Path Parameters
string
required
ID del producto a actualizar. Crear producto.
Body
string
required
Nombre del producto. Máximo 255 caracteres.
string
Descripción del producto. Máximo 1000 caracteres.
string
Tu identificador interno del producto. Máximo 255 caracteres.
string
Etiqueta de la unidad (ej.
asientos). Máximo 50 caracteres.number
Porcentaje de IVA. Valor entre 0 y 100.
array
Características de marketing (máximo 15). Cada elemento es un objeto
{ "name": string }, donde name admite hasta 80 caracteres.object
Datos adicionales de tu aplicación.
curl https://api.onepay.la/v1/products/9f5d85a0-1111-7000-aaaa-000000000001 \
-X PUT \
-H "Authorization: Bearer sk_test_xxx" \
-H "x-idempotency: idem_xxx" \
-H "Content-Type: application/json" \
-d '{
"name": "OnePay Pro",
"description": "Para negocios en crecimiento acelerado.",
"internal_id": "pro",
"tax_rate": 19,
"marketing_features": [
{ "name": "Clientes ilimitados" }
]
}'
const response = await fetch('https://api.onepay.la/v1/products/9f5d85a0-1111-7000-aaaa-000000000001', {
method: 'PUT',
headers: {
'Authorization': 'Bearer sk_test_xxx',
'x-idempotency': 'idem_xxx',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'OnePay Pro',
description: 'Para negocios en crecimiento acelerado.',
internal_id: 'pro',
tax_rate: 19,
marketing_features: [
{ name: 'Clientes ilimitados' }
]
})
});
const data = await response.json();
console.log(data);
import requests
response = requests.put(
'https://api.onepay.la/v1/products/9f5d85a0-1111-7000-aaaa-000000000001',
headers={
'Authorization': 'Bearer sk_test_xxx',
'x-idempotency': 'idem_xxx'
},
json={
'name': 'OnePay Pro',
'description': 'Para negocios en crecimiento acelerado.',
'internal_id': 'pro',
'tax_rate': 19,
'marketing_features': [
{'name': 'Clientes ilimitados'}
]
}
)
data = response.json()
print(data)
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.onepay.la/v1/products/9f5d85a0-1111-7000-aaaa-000000000001",
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer sk_test_xxx",
"x-idempotency: idem_xxx",
"Content-Type: application/json"
],
CURLOPT_POSTFIELDS => json_encode([
"name" => "OnePay Pro",
"description" => "Para negocios en crecimiento acelerado.",
"internal_id" => "pro",
"tax_rate" => 19,
"marketing_features" => [
["name" => "Clientes ilimitados"]
]
])
]);
$data = json_decode(curl_exec($curl), true);
curl_close($curl);
print_r($data);
?>
Response
string
Identificador único (UUID) del producto.
string
Siempre
product.string
Nombre del producto.
string | null
Descripción del producto.
boolean
false cuando el producto está archivado.string | null
Tu identificador interno del producto.
string | null
Etiqueta de la unidad (ej.
asientos).number | null
Porcentaje de IVA (0-100).
string | null
ID del precio por defecto del producto.
array
Características de marketing (hasta 15), cada una con la forma
{ "name": string }.object | null
Datos adicionales de tu aplicación.
string
Fecha de creación (ISO 8601).
string
Fecha de última actualización (ISO 8601).
{
"id": "9f5d85a0-1111-7000-aaaa-000000000001",
"object": "product",
"name": "OnePay Pro",
"description": "Para negocios en crecimiento acelerado.",
"active": true,
"internal_id": "pro",
"unit_label": null,
"tax_rate": 19,
"default_price": "9f5d85a0-2222-7000-aaaa-000000000002",
"marketing_features": [
{ "name": "Clientes ilimitados" }
],
"metadata": null,
"created_at": "2026-07-13T12:00:00.000000Z",
"updated_at": "2026-07-13T12:30:00.000000Z"
}
{
"message": "El campo name es obligatorio.",
"code": 10001,
"code_name": "validation_error",
"errors": {
"name": [
"El campo name es obligatorio."
]
}
}
{
"message": "No se puede generar la operación, genera un token de idempotencia y envíelo en los headers como x-idempotency",
"code": 10003,
"code_name": "idempotency_error"
}
{
"message": "No encontrado",
"code": 10004,
"code_name": "not_found"
}
Was this page helpful?
⌘I