SMSPVAdevelopers
Activation V2
SMSPVA / API REFERENCE

Obtener número

Solicita un número para un país y servicio.

SMSPVA API
GEThttps://api.smspva.com/activation/number/{country}/{service}

Esta solicitud puede modificar un pedido o generar cargos. Los ejemplos no la repiten automáticamente. Leer un SMS recién recibido puede generar el cobro, aunque el método use GET.

Autenticación

NombreUbicaciónTipoObligatorioDescripción
apikeyheaderstringSíTu clave API

Parámetros

NombreUbicaciónTipoObligatorioDescripción
countrypathstringSíCódigo de país de dos caracteres en mayúsculas, en el formato ISO 3166-2 indicado por la API. Lista de países
servicepathstringSíCódigo del servicio. Lista de servicios
voicequeryintegerNoTipo: 0 SMS, 1 identificación de llamada, 2 voz. Valor predeterminado: 0. (enum: [0,1,2]; default: 0)

No requiere cuerpo de solicitud.

Cómo usar este método

Solicita un número para el country y el service elegidos.

Elige códigos en las listas. Antes de solicitar el número, consulta precios, disponibilidad y tipos de mensaje permitidos. También puedes comparar operadores y países.

Guarda data.orderId para Recibir SMS y gestionar el pedido. Calcula su vencimiento con data.orderExpireIn. Si la solicitud agota el tiempo de espera, revisa Pedidos actuales antes de pedir otro número: el primero puede haberse creado.

Ejemplos de solicitud

Requisitos y configuración del entorno. cURL usa un shell POSIX. El ejemplo JavaScript también es válido en TypeScript sobre Node.js. Java utiliza el cliente estándar y muestra JSON sin analizar; usa la biblioteca JSON de tu aplicación.

: "${SMSPVA_API_KEY:?Set SMSPVA_API_KEY}"
curl --fail-with-body --max-time 30 --request GET \
  --url "https://api.smspva.com/activation/number/BD/opt20?voice=0" \
  --header "apikey: $SMSPVA_API_KEY"

Respuestas

Los ejemplos muestran el formato de respuesta. Los precios, las cantidades y los datos de cuenta son orientativos; consulta la API para obtener valores actuales.

HTTPDescripción
200Operación completada
405Parámetros no válidos
407El saldo no alcanza para recibir SMS del país y servicio elegidos.
411Acceso limitado por karma bajo o exceso de solicitudes.
500No se pudo obtener el número.
501No se encontró el número.
502No se encontró el número.
503El servidor está sobrecargado. Inténtalo más tarde.
HTTP 200

Operación completada

Respuesta ilustrativa

{
  "statusCode": 200,
  "data": {
    "orderId": 123456,
    "phoneNumber": 9876544321,
    "countryCode": "BD",
    "orderExpireIn": 600
  }
}

Campos de respuesta

NombreTipoDescripción
statusCodeintegerCódigo de estado del resultado
dataobjectDatos de respuesta
data.orderIdintegerID del pedido
data.phoneNumberintegerNúmero sin prefijo de país
data.countryCodestringCódigo de país según ITU-T E.123 y E.164. Lista de países
data.orderExpireInintegerTiempo hasta el vencimiento, en segundos
HTTP 405

Parámetros no válidos

Respuesta ilustrativa

{
  "statusCode": 405,
  "error": {
    "type": "INVALID_PARAMS",
    "description": "Invalid params."
  }
}

Campos de respuesta

NombreTipoDescripción
statusCodeintegerCódigo de estado del resultado
errorobjectDetalles del error
error.typestringTipo de error
error.descriptionstringDescripción del error
HTTP 407

El saldo no alcanza para recibir SMS del país y servicio elegidos.

Respuesta ilustrativa

{
  "statusCode": 407,
  "error": {
    "type": "LOW_BALANCE",
    "description": "Low balance."
  }
}

Campos de respuesta

NombreTipoDescripción
statusCodeintegerCódigo de estado del resultado
errorobjectDetalles del error
error.typestringTipo de error
error.descriptionstringDescripción del error
HTTP 411

Acceso limitado por karma bajo o exceso de solicitudes.

Respuesta ilustrativa

{
  "statusCode": 411,
  "error": {
    "type": "ACCESS_LIMITED",
    "description": "Access is temporary limited."
  }
}

Campos de respuesta

NombreTipoDescripción
statusCodeintegerCódigo de estado del resultado
errorobjectDetalles del error
error.typestringTipo de error
error.descriptionstringDescripción del error
HTTP 500

No se pudo obtener el número.

Respuesta ilustrativa

{
  "statusCode": 500,
  "error": {
    "type": "NUMBER_FETCH_FAIL",
    "description": "Failed to fetch number"
  }
}

Campos de respuesta

NombreTipoDescripción
statusCodeintegerCódigo de estado del resultado
errorobjectDetalles del error
error.typestring
error.descriptionstring
HTTP 501

No se encontró el número.

Respuesta ilustrativa

{
  "statusCode": 501,
  "error": {
    "type": "PRICE_FETCH_FAIL",
    "description": "Failed to fetch price"
  }
}

Campos de respuesta

NombreTipoDescripción
statusCodeintegerCódigo de estado del resultado
errorobjectDetalles del error
error.typestringTipo de error
error.descriptionstringFailed to fetch price
HTTP 502

No se encontró el número.

Respuesta ilustrativa

{
  "statusCode": 502,
  "error": {
    "type": "NUMBER_NOT_FOUND",
    "description": "Number not found."
  }
}

Campos de respuesta

NombreTipoDescripción
statusCodeintegerCódigo de estado del resultado
errorobjectDetalles del error
error.typestringTipo de error
error.descriptionstringDescripción del error
HTTP 503

El servidor está sobrecargado. Inténtalo más tarde.

Respuesta ilustrativa

{
  "statusCode": 503,
  "error": {
    "type": "SERVER_BUSY",
    "description": "Server overload, try later."
  }
}

Campos de respuesta

NombreTipoDescripción
statusCodeintegerCódigo de estado del resultado
errorobjectDetalles del error
error.typestringTipo de error
error.descriptionstringDescripción del error

Guías relacionadas

Si falla la conexión al modificar un pedido, comprueba su estado antes de repetir.

En esta página