Ir al contenido

Flujo completo, de principio a fin

Esta página recorre una venta completa con curl para que puedas reproducirla en PRE. Cada paso se explica con detalle en su propia guía.

  • curl y jq.
  • Tus credenciales de PRE. En PRO el flujo es el mismo con otra BASE y tus credenciales de PRO, pero cada confirmación es una venta real (consulta Entornos y URLs).
Ventana de terminal
BASE="https://pre-api.welcomesims.com/public-api"
AUTH="mi-usuario:mi-secreto" # las credenciales que te entregamos
# 1. Países: busca el id del destino
COUNTRY=$(curl -s -u "$AUTH" "$BASE/v1/countries" | jq '.[] | select(.code=="JP") | .id')
# 2. Disponibilidad: plan eSIM más barato para 15 días, empezando dentro de 10 días
START=$(date -d "+10 days" +%F 2>/dev/null || date -v+10d +%F) # yyyy-MM-dd (Linux o macOS)
PLAN=$(curl -s -u "$AUTH" "$BASE/v1/availability?country=$COUNTRY&startDate=$START&days=15")
echo "$PLAN" | jq .
TOKEN=$(echo "$PLAN" | jq -r '.[0].token')
# 3. Prebooking: reserva 2 eSIM del plan de esa búsqueda, con el token
PREBOOKING=$(curl -s -u "$AUTH" -X POST "$BASE/v1/prebooking" \
-H "Content-Type: application/json" \
-d "{\"token\":\"$TOKEN\",\"cardsNumber\":2}")
echo "$PREBOOKING" | jq .
PREBOOKING_ID=$(echo "$PREBOOKING" | jq -r '.prebookingId')
# 4. Confirmación: crea la venta
BOOKING=$(curl -s -u "$AUTH" -X POST "$BASE/v1/booking" \
-H "Content-Type: application/json" \
-d "{\"prebookingId\":\"$PREBOOKING_ID\",\"agencyReference\":\"PRUEBA-0001\",
\"holder\":{\"name\":\"Test\",\"surname\":\"Prueba\",\"documentType\":\"DNI\",\"documentNumber\":\"TEST0001\",
\"email\":\"test@example.com\"}}")
echo "$BOOKING" | jq .
LOCATOR=$(echo "$BOOKING" | jq -r '.locator')
# 5. Detalle de la reserva: estado, eSIM, desglose de importes y voucherUrl
SALE=$(curl -s -u "$AUTH" "$BASE/v1/sales/$LOCATOR")
echo "$SALE" | jq .
VOUCHER_URL=$(echo "$SALE" | jq -r '.voucherUrl')
# Voucher: descarga el PDF con el QR desde la voucherUrl
curl -s -u "$AUTH" -o "voucher-$LOCATOR.pdf" "$VOUCHER_URL"
echo "Voucher guardado en voucher-$LOCATOR.pdf"
Paso Respuesta esperada
1. Países 200 con la lista de países.
2. Disponibilidad 200 con una lista de planes, cada uno con su token (o una lista vacía si no hay nada disponible).
3. Prebooking 200 con el prebookingId y el importe de la reserva (pricePerCard, totalPrice, currency).
4. Confirmación 200 con locator, voucherUrl y el importe de la venta (totalPrice, currency).
5. Detalle de la reserva 200 con el estado, las eSIM, el desglose de importes y la voucherUrl; esa dirección devuelve un PDF.

Si alguno falla, consulta la referencia de errores.