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.
Requisitos
Sección titulada «Requisitos»curlyjq.- Tus credenciales de PRE. En PRO el flujo es el mismo con otra
BASEy tus credenciales de PRO, pero cada confirmación es una venta real (consulta Entornos y URLs).
El script
Sección titulada «El script»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 destinoCOUNTRY=$(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íasSTART=$(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 tokenPREBOOKING=$(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 ventaBOOKING=$(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 voucherUrlSALE=$(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 voucherUrlcurl -s -u "$AUTH" -o "voucher-$LOCATOR.pdf" "$VOUCHER_URL"echo "Voucher guardado en voucher-$LOCATOR.pdf"Qué debería pasar
Sección titulada «Qué debería pasar»| 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.