SMSPVAdevelopers
Activation V2
SMSPVA / API REFERENCE

Configuración de mensajes

Comprueba los tipos de mensaje permitidos por país, servicio y operador.

SMSPVA API
GEThttps://api.smspva.com/activation/countryservicesettings

Autenticación

NombreUbicaciónTipoObligatorioDescripción
apikeyheaderstringSíTu clave API

Parámetros

Sin parámetros de ruta o consulta. No requiere cuerpo.

Cómo usar este método

Comprueba qué tipos de mensaje permite la combinación de country, service y operator. Envía la cabecera apikey; no se necesitan parámetros de ruta ni de consulta. La respuesta incluye todas las reglas ordenadas por ID ascendente, aunque no muestra los IDs.

Cada condición no vacía debe coincidir; una cadena vacía acepta cualquier valor. Tiene prioridad la regla coincidente con más condiciones no vacías. Por ejemplo, una regla de país y servicio sustituye a una regla solo de país; añadir el operador la hace aún más específica. Usa juntos los tres indicadores de esa regla: sms, caller y voice emplean 1 para permitido y 0 para desactivado.

Si ninguna regla coincide, se permiten los tres tipos. Un array data vacío es una respuesta correcta sin reglas configuradas. Estos permisos no garantizan números disponibles.

El parámetro de consulta voice tiene otro significado al consultar precios o pedir números: 0 SMS, 1 identificación de llamada, 2 voz. Usa el mismo tipo al comparar precios y al pedir el número. Comprueba la disponibilidad por separado.

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/countryservicesettings" \
  --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
200Reglas de tipos de mensaje. Una lista vacía es una respuesta correcta.
400Falta la cabecera apikey, está vacía o tiene menos de 30 caracteres.
401No se encontró una cuenta para esa clave API.
402Se ha superado el límite de solicitudes. Esta API devuelve HTTP 402 para este error.
403La cuenta está bloqueada.
500Error interno. Si los detalles están habilitados, la descripción puede incluir la excepción.
HTTP 200

Reglas de tipos de mensaje. Una lista vacía es una respuesta correcta.

Reglas de servicio y reglas por país

{
  "statusCode": 200,
  "data": [
    {
      "country": "",
      "service": "opt20",
      "operator": "",
      "voice": 0,
      "caller": 0,
      "sms": 1
    },
    {
      "country": "FR",
      "service": "opt20",
      "operator": "",
      "voice": 1,
      "caller": 0,
      "sms": 1
    }
  ]
}

Sin reglas configuradas

{
  "statusCode": 200,
  "data": []
}

Campos de respuesta

NombreTipoDescripción
statusCodeinteger(enum: [200])
dataarray<object>
data[].countrystringPaís al que se aplica; vacío acepta cualquier país.
data[].servicestringServicio al que se aplica; vacío acepta cualquier servicio.
data[].operatorstringOperador al que se aplica; vacío acepta cualquier operador.
data[].voiceintegerVoz: 1 permitido, 0 desactivado. (enum: [0,1])
data[].callerintegerIdentificación de llamada: 1 permitido, 0 desactivado. (enum: [0,1])
data[].smsintegerSMS: 1 permitido, 0 desactivado. (enum: [0,1])
HTTP 400

Falta la cabecera apikey, está vacía o tiene menos de 30 caracteres.

Respuesta ilustrativa

{
  "statusCode": 400,
  "error": {
    "type": "APIKEY_NOT_SET",
    "description": "No ApiKey found"
  }
}

Campos de respuesta

NombreTipoDescripción
statusCodeinteger(enum: [400])
errorobject
error.typestring
error.descriptionstring
HTTP 401

No se encontró una cuenta para esa clave API.

Respuesta ilustrativa

{
  "statusCode": 401,
  "error": {
    "type": "USER_NOT_FOUND",
    "description": "Not found"
  }
}

Campos de respuesta

NombreTipoDescripción
statusCodeinteger(enum: [401])
errorobject
error.typestring
error.descriptionstring
HTTP 402

Se ha superado el límite de solicitudes. Esta API devuelve HTTP 402 para este error.

Respuesta ilustrativa

{
  "statusCode": 402,
  "error": {
    "type": "RATELIMIT_EXCEED",
    "description": "Request ratelimit exeeded"
  }
}

Campos de respuesta

NombreTipoDescripción
statusCodeinteger(enum: [402])
errorobject
error.typestring
error.descriptionstring
HTTP 403

La cuenta está bloqueada.

Respuesta ilustrativa

{
  "statusCode": 403,
  "error": {
    "type": "USER_BANNED",
    "description": "User banned"
  }
}

Campos de respuesta

NombreTipoDescripción
statusCodeinteger(enum: [403])
errorobject
error.typestring
error.descriptionstring
HTTP 500

Error interno. Si los detalles están habilitados, la descripción puede incluir la excepción.

Respuesta ilustrativa

{
  "statusCode": 500,
  "error": {
    "type": "SERVER_ERROR",
    "description": "An internal error has occurred while processing your request."
  }
}

Campos de respuesta

NombreTipoDescripción
statusCodeinteger(enum: [500])
errorobject
error.typestring
error.descriptionstring

Guías relacionadas

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

En esta página