Endpoints de pedidos

Los pedidos se crean con un UUID que usted genera. Ese UUID es la clave de idempotencia: repetirlo devuelve el pedido original en lugar de cobrar dos veces. El estado se consulta después pedido por pedido, en lotes de hasta cincuenta, o como una lista paginada.

POST

/orders/create

Create Order

Place a new order. You must provide a unique UUID as the order_id for idempotency. The wallet will be charged immediately.

Límite de solicitudes120 req / 60s per user

Nota: The order_id is your idempotency key. If you retry with the same UUID, the existing order is returned instead of creating a duplicate.

Cuerpo de la solicitud

NombreTipoObligatorioDescripciónEjemplo
order_idstring (UUID)A unique UUID for this order (any format: v1, v4, v7, etc.). Used as an idempotency key.01912345-6789-7abc-8def-0123456789ab
sub_category_idnumberThe product subcategory ID.999
quantitynumberNumber of units to order (positive integer).1
requirementsobjectPlayer delivery info. Include all fields returned by the Get Category Requirements endpoint.{"player_id": "123456789", "server": "Asia"}
expected_unit_pricestringNoPrice protection. If current price exceeds this value, the order is rejected.0.950000
Solicitud
curl -s -X POST "https://shop2topup.com/api/endpoints/v1/orders/create" \
  -H "Authorization: Bearer YOUR_KEY_ID.YOUR_KEY_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
  "order_id": "01912345-6789-7abc-8def-0123456789ab",
  "sub_category_id": 999,
  "quantity": 1,
  "requirements": {
    "player_id": "123456789",
    "server": "Asia"
  },
  "expected_unit_price": 0.95
}'
Respuesta de ejemplo
{
  "success": true,
  "order": {
    "order_id": "01912345-6789-7abc-8def-0123456789ab",
    "status": "pending",
    "player_id": "123456789",
    "player_name": "ProGamer99",
    "subcategory_name": "FF 100 Diamonds",
    "quantity": 1,
    "charged_amount": "0.950000",
    "currency": "USD",
    "created_at": "2024-06-15T12:00:00Z"
  }
}
GET

/orders/:orderId

Get Order Status

Retrieve the current status and details of a specific order.

Límite de solicitudes3 req / 60s per user + orderId

Parámetros de ruta

NombreTipoObligatorioDescripciónEjemplo
orderIdstring (UUID)The order ID to look up.01912345-6789-7abc-8def-0123456789ab
Solicitud
curl -s "https://shop2topup.com/api/endpoints/v1/orders/01912345-6789-7abc-8def-0123456789ab" \
  -H "Authorization: Bearer YOUR_KEY_ID.YOUR_KEY_SECRET"
Respuesta de ejemplo
{
  "success": true,
  "order": {
    "order_id": "01912345-6789-7abc-8def-0123456789ab",
    "status": "completed",
    "player_id": "123456789",
    "player_name": "ProGamer99",
    "subcategory_name": "FF 100 Diamonds",
    "quantity": 1,
    "charged_amount": "0.950000",
    "currency": "USD",
    "created_at": "2024-06-15T12:00:00Z",
    "completed_at": "2024-06-15T12:00:05Z",
    "vouchers": [],
    "sub_transactions": [
      {
        "id": 1,
        "status": "completed",
        "player_id": "123456789",
        "player_name": "ProGamer99",
        "amount": "0.950000",
        "created_at": "2024-06-15T12:00:00Z",
        "completed_at": "2024-06-15T12:00:05Z"
      }
    ]
  }
}
POST

/orders/batch

Batch Get Orders

Retrieve multiple orders at once by their IDs. Maximum 50 order IDs per request.

Límite de solicitudes2 req / 60s per user

Cuerpo de la solicitud

NombreTipoObligatorioDescripciónEjemplo
order_idsstring[]Array of order UUIDs (max 50).["uuid-1", "uuid-2"]
Solicitud
curl -s -X POST "https://shop2topup.com/api/endpoints/v1/orders/batch" \
  -H "Authorization: Bearer YOUR_KEY_ID.YOUR_KEY_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
  "order_ids": [
    "uuid-1",
    "uuid-2"
  ]
}'
Respuesta de ejemplo
{
  "success": true,
  "orders": [
    {
      "order_id": "01912345-6789-7abc-8def-0123456789ab",
      "status": "completed",
      "charged_amount": "0.950000"
    }
  ],
  "not_found": [
    "uuid-that-does-not-exist"
  ]
}
GET

/orders

List Orders

List your orders with pagination and optional filters by status and date range.

Límite de solicitudes2 req / 60s per user

Parámetros de consulta

NombreTipoObligatorioDescripciónEjemplo
pagenumberNoPage number (default: 1).1
limitnumberNoResults per page, 1-100 (default: 50).50
statusstringNoFilter by status: pending, completed, refunded, partial.completed
created_afterstring (ISO 8601)NoFilter orders created after this date.2024-01-01T00:00:00Z
created_beforestring (ISO 8601)NoFilter orders created before this date.2024-12-31T23:59:59Z
Solicitud
curl -s "https://shop2topup.com/api/endpoints/v1/orders?page=1&limit=50&status=completed&created_after=2024-01-01T00:00:00Z&created_before=2024-12-31T23:59:59Z" \
  -H "Authorization: Bearer YOUR_KEY_ID.YOUR_KEY_SECRET"
Respuesta de ejemplo
{
  "success": true,
  "orders": [
    {
      "order_id": "01912345-6789-7abc-8def-0123456789ab",
      "status": "completed",
      "subcategory_name": "FF 100 Diamonds",
      "quantity": 1,
      "charged_amount": "0.950000",
      "created_at": "2024-06-15T12:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 50,
    "total": 1,
    "total_pages": 1
  }
}

Envíe una solicitud real desde esta página

Pegue una clave de API para llamar a estos endpoints en vivo. La clave se queda en esta pestaña del navegador y solo se envía a la propia API.

Enter your API key to use the interactive playground. Get your API key

Elija un endpoint

1
2
Order Details

Enter your API key above to try this endpoint.

¿Recién llega a la plataforma? Empiece por la presentación de la API de recargas de juegos para revendedores, o lea la presentación del programa de revendedores de SHOP2TOPUP para ver cómo funciona la cuenta de socio.

Referencia API de pedidos — Crear, consultar y listar