P2P
Editar Oferta P2P
Modificar los parámetros de una oferta P2P existente en estado abierto.
POST /p2p/:uuid/edit
Edita una oferta P2P existente. Solo el creador puede editarla y la oferta debe estar en estado open. Para ofertas de venta, si se modifica el monto se ajusta automáticamente el saldo del usuario.
Autenticación
Bearer Token (Authorization: Bearer <token> en headers).
Request
curl -X POST "https://api.qvapay.com/p2p/7c9e6679-7425-40de-944b-e07fc1f90ae7/edit" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"amount": 60,
"receive": 15000,
"only_vip": 0,
"message": "Nuevo mensaje",
"webhook": "https://example.com/webhook",
"tags": ["transferencia"],
"private": false
}'Parámetros (URL)
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
uuid | string | Sí | UUID de la oferta P2P |
Parámetros (body JSON)
Todos los parámetros son opcionales. Solo se actualizan los campos proporcionados.
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
amount | number | No | Nueva cantidad en QUSD (0.1 - 10,000). En ofertas sell, ajusta el saldo |
receive | number | No | Nueva cantidad a recibir (0.1 - 100,000,000) |
only_vip | boolean | number | No | Restringir a usuarios VIP |
message | string | No | Nuevo mensaje público (máx. 79 caracteres) |
webhook | string | No | Nueva URL de webhook |
tags | array | No | Nuevas etiquetas (reemplaza las existentes, máx. 10) |
private | boolean | No | Solo se permite cambiar de privada a pública (false), no al revés |
Ofertas por rango
En una oferta flexible solo se edita lo que queda por tomar; lo ya tomado por órdenes no se toca. Campos:
| Campo | Tipo | Descripción |
|---|---|---|
available_amount | number | Nuevo disponible (amount se acepta con el mismo significado). 0 retira el resto sin cancelar las órdenes en curso. En una sell, la diferencia se descuenta o devuelve de tu saldo |
receive | number | Lo que quieres recibir por el nuevo disponible (fija la tasa de las órdenes futuras) |
order_min / order_max | number | Nuevos límites por orden |
Ver Ofertas por rango.
Requisitos para quien aplique
requirements (mismo formato y valores que en Crear) reemplaza los requisitos de la oferta, fixed o flexible. {} los quita todos.
Response (200)
{
"msg": "Oferta P2P editada correctamente",
"p2p": {
"uuid": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"type": "buy",
"coin": "BANK_CUP",
"amount": 60.00,
"receive": 15000.00,
"only_kyc": 0,
"private": 0,
"only_vip": 0,
"status": "open",
"details": { "cuenta": "1234567890" },
"message": "Nuevo mensaje",
"webhook": "https://example.com/webhook",
"created_at": "2024-06-20T14:30:00.000Z",
"updated_at": "2024-06-20T15:00:00.000Z"
}
}Webhook
Si la oferta tiene un webhook configurado, se enviará un POST con:
{
"operation": "updated",
"p2p": { ... }
}Errores
| Código | Descripción |
|---|---|
400 | Datos inválidos, oferta no está en estado open, saldo insuficiente, o intento de cambiar oferta pública a privada |
401 | Token de autenticación inválido o ausente |
403 | No eres el creador de esta oferta |
404 | Oferta P2P no encontrada |
409 | La oferta cambió de estado durante la operación |
429 | Demasiadas solicitudes (límite: 1 cada 10 segundos) |
500 | Error interno al ajustar el saldo |