P2P
Detalle de Oferta P2P
Obtener los detalles completos de una oferta P2P específica por su UUID.
GET /p2p/:uuid
Retorna los detalles completos de una oferta P2P, incluyendo información del creador, peer, moneda y calificaciones (si la oferta está completada).
Autenticación
Bearer Token (Authorization: Bearer <token> en headers).
Request
curl -X GET "https://api.qvapay.com/p2p/7c9e6679-7425-40de-944b-e07fc1f90ae7" \
-H "Authorization: Bearer <token>"Parámetros (URL)
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
uuid | string | Sí | UUID de la oferta P2P |
Response
{
"message": "P2P",
"p2p": {
"uuid": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"type": "buy",
"coin": "BANK_CUP",
"amount": 50.00,
"receive": 12500.00,
"status": "open",
"only_kyc": true,
"only_vip": false,
"private": false,
"message": "Pago rápido",
"details": { "cuenta": "1234567890" },
"tx_id": null,
"created_at": "2024-06-20T14:30:00.000Z",
"updated_at": "2024-06-20T14:30:00.000Z",
"User": {
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"username": "johndoe",
"name": "John",
"image": "https://example.com/avatar.png",
"kyc": true,
"vip": false,
"golden_check": false
},
"Peer": null,
"Coin": {
"tick": "BANK_CUP",
"name": "Transferencia CUP",
"logo": "https://example.com/cup.png"
},
"Ratings": [],
"currentUserId": "12345"
}
}Los campos details y tx_id solo son visibles si el usuario autenticado es el creador (User) o el peer (Peer) de la oferta.
Cuando la oferta tiene estado completed, el campo Ratings incluye las calificaciones asociadas.
Ofertas por rango
Si offer_kind es flexible, la respuesta añade:
| Campo | Descripción |
|---|---|
available_amount / reserved_amount | Lo que queda por tomar y lo que está en órdenes activas |
order_min / order_max | Límites por orden |
Orders | Órdenes de la oferta: el dueño ve todas; quien tomó una parte, solo las suyas. Cada una con uuid, amount, receive, status, payment_window_expires_at, tx_id, fechas y Taker |
OrdersSummary | Solo para el dueño: { active, completed, cancelled } |
can_take_flexible | true si tu cuenta puede tomar ofertas por rango |
Ver Ofertas por rango.
Requisitos para aplicar
| Campo | Descripción |
|---|---|
requirements | Requisitos del creador (min_completed, min_rating, min_account_days, min_trustscore), o null si no tiene |
requirements_met | Solo si hay requisitos y no eres el creador: true si tu cuenta los cumple |
requirements_missing | Lista de los que no cumples: { key, required, actual } |
Si requirements_met es false, no muestres la opción de aplicar: apply respondería 403.
Errores
| Código | Descripción |
|---|---|
400 | UUID no proporcionado o P2P no habilitado |
401 | Token de autenticación inválido o ausente |
403 | Bloqueo entre usuarios impide ver la oferta |
404 | Oferta no encontrada, sin permisos para verla, o restricciones de KYC/VIP |