SMSPVAdevelopers
Private Email Rental
SMSPVA / DOCUMENTATION

Crear alquiler

GET /api/rent_email.php?method=create_order

SMSPVA API
GEThttps://smspva.com/api/rent_email.php?method=create_order

Envía una solicitud GET y comprueba status incluso con HTTP 200: 1 indica éxito, 0 fallo y 2 que no había buzones al crear el alquiler. Consulta los detalles en msg, errormsg y errorid.

Esta solicitud puede modificar un alquiler o generar cargos. Si pierdes la respuesta, comprueba los pedidos y el historial antes de repetir: el cambio puede haberse realizado. Los ejemplos no reintentan automáticamente.

Autenticación

Envía apikey como parámetro obligatorio de consulta.

Parámetros

NombreUbicaciónTipoObligatorioEjemploDescripción
apikeyquerystringSíSMSPVA_API_KEYClave API de la cuenta. Para leer mensajes o gestionar un alquiler, usa la clave de su propietario.
methodquerystringSí"create_order"Método que se va a ejecutar.
scodequerystringSí"twitter"Código obtenido de Services and Prices.
pcodequerystringNo"outlookcom"Código de Get Providers. Para aceptar cualquier proveedor, omite este parámetro por completo; no envíes un valor vacío ni null.
dtypequerystringSí"week"Unidad de alquiler: day = 1 día, week = 7 días, month = 30 días.
dcountqueryintegerSí1Número positivo de unidades de alquiler.

Cómo usar este método

Alquila un buzón para el servicio y la duración elegidos. Obtén scode y los precios en Servicios, y pcode en Proveedores.

Para aceptar cualquier proveedor, omite pcode por completo. No envíes pcode=, una cadena vacía ni null. Si eliges un proveedor, la API usará solo ese, aunque se quede sin buzones.

La duración es dcount × 1, 7 o 30 días para day, week o month. El coste se calcula con el precio diario; months_discount se aplica desde 30 días. status=2 indica que no había buzones: actualiza la disponibilidad antes de repetir.

Guarda data.id como orderid, junto con la dirección, el proveedor real y el vencimiento. Usa ese ID para leer mensajes y consultar pedidos activos.

Ejemplos de solicitud

Entorno y dependencias. Los ejemplos codifican los parámetros y esperan hasta 30 segundos. Comprueba HTTP y status antes de usar data. cURL muestra el JSON para que lo revises; Java usa Jackson para leerlo.

Define SMSPVA_EMAIL_PCODE con un proveedor actual; sin valor se omite pcode por completo. Usa los códigos de las listas dinámicas.

  • SMSPVA_EMAIL_SCODE: scode.
provider_args=()
if [ -n "${SMSPVA_EMAIL_PCODE:-}" ]; then provider_args=(--data-urlencode "pcode=$SMSPVA_EMAIL_PCODE"); fi
: "${SMSPVA_API_KEY:?Set SMSPVA_API_KEY}"
: "${SMSPVA_EMAIL_SCODE:?Set SMSPVA_EMAIL_SCODE}"
curl --get --fail-with-body --max-time 30 "https://smspva.com/api/rent_email.php" \
  --data-urlencode "method=create_order" \
  --data-urlencode "apikey=$SMSPVA_API_KEY" \
  "${provider_args[@]}" \
  --data-urlencode "scode=$SMSPVA_EMAIL_SCODE" \
  --data-urlencode "dtype=${SMSPVA_EMAIL_DTYPE:-week}" \
  --data-urlencode "dcount=${SMSPVA_EMAIL_DCOUNT:-1}"

Respuestas

Consulta la respuesta correspondiente a tu solicitud. Los valores y las fechas son orientativos. Los campos opcionales pueden variar según el resultado o el formato elegido.

HTTP 200

Comprueba status aunque HTTP sea 200. Los valores de los ejemplos son orientativos.

application/json

Proveedor desconocido o desactivado

{
  "status": 0,
  "errorid": 9,
  "errormsg": "Provider not found",
  "msg": "Provider not found"
}

Ejemplo de respuesta correcta

{
  "status": 1,
  "data": {
    "id": 123456,
    "email": "[email protected]",
    "scode": "twitter",
    "pcode": "outlookcom",
    "expireDate": 1855324800
  }
}

Error

{
  "status": 0,
  "msg": "Incorrect apikey"
}

No hay buzones disponibles

{
  "status": 2
}

Correcto

NombreTipoDescripción
statusinteger(enum: [1])
dataobject
data.idintegerID del pedido; úsalo como orderid en las siguientes solicitudes.
data.emailstringDirección de correo asignada.
data.scodestringCódigo del servicio.
data.pcodestringCódigo del proveedor asignado.
data.expireDateintegerVencimiento del alquiler, como timestamp Unix en segundos.

Obligatorios: status, data

No hay buzones disponibles

NombreTipoDescripción
statusinteger(enum: [2])

Obligatorios: status

Error

Algunos errores incluyen errorid y errormsg; otros solo msg. Comprueba todos los campos presentes.

NombreTipoDescripción
statusinteger(enum: [0])
erroridintegerCódigo numérico de error, si se incluye.
errormsgstringDescripción del error, si se incluye.
msgstringMensaje de error.

Guías relacionadas

En esta página