Acceso a la cuenta y al proyecto
Utilice una cuenta de API habilitada a través de HTTPS desde una dirección IP permitida. El proyecto debe pertenecer a esa cuenta y no debe estar eliminado. Utilice el identificador único del proyecto obtenido del flujo de trabajo de la solicitud de portabilidad, no su identificador numérico de la base de datos ni un número de teléfono. Aplique codificación URL al identificador del proyecto al construir una solicitud.
Preparar la incorporación
Esta operación modifica un proyecto de portabilidad existente. Confirme primero los números y la autorización del cliente mediante su flujo de trabajo de solicitudes de portabilidad. Exprese cada número con todos sus dígitos internacionales, elimine usted mismo los duplicados y consulte la lista de números existentes del proyecto. No utilice este punto de acceso para probar números arbitrarios.
El portal actual valida y normaliza los números antes de llamar a esta ruta. El punto de acceso heredado, utilizado directamente, no ofrece las mismas garantías: elimina los espacios al principio y al final de la entrada, pero no valida el formato de los números de teléfono, el código de país, los duplicados ni el estado del proyecto en el flujo de trabajo.
Solicitud POST
Cree un archivo local llamado numbers.json con la siguiente estructura. Los números son ficticios; sustitúyalos por números autorizados para el proyecto seleccionado.
{
"numbers": [
"12025550123",
"12025550124"
],
"isocode": "US"
}curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--header "Content-Type: application/json" \
--data-binary @numbers.json \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID/addnumbers"| Campo | Significado |
|---|---|
| numbers | Matriz obligatoria y no vacía de cadenas que contienen números, o una cadena con un número por línea. Se descartan las entradas en blanco y se eliminan los espacios al principio y al final. El texto separado por comas no se divide en números individuales. |
| isocode | Código de país opcional para los registros añadidos. Si se omite o está vacío, se utiliza la ubicación del proyecto. El manejador elimina los espacios al principio y al final del valor proporcionado, pero no lo convierte a mayúsculas ni lo valida. Proporcione usted mismo el código de país correcto en mayúsculas. |
Utilice POST con application/json para este ejemplo. También se leen los datos de formulario enviados mediante POST. El método no define una clave de idempotencia ni una garantía específica de este punto de acceso sobre el tamaño seguro de los lotes; coteje lotes manejables en lugar de confiar en un límite supuesto.
Resultado comunicado
Ejemplo ficticio de respuesta.
{
"status": {
"code": 200,
"msg": "Success add numbers"
},
"response": {
"uniqueid": "PROJECT_EXAMPLE",
"count": 2,
"numbers": [
{
"id": 21,
"number": "12025550123",
"status": 0,
"status_str": "Pending",
"isocode": "US"
},
{
"id": 22,
"number": "12025550124",
"status": 0,
"status_str": "Pending",
"isocode": "US"
}
]
}
}La respuesta etiqueta como Pending las incorporaciones que se han intentado. No verifica el resultado de cada inserción en la base de datos antes de comunicarlo. Por tanto, un recuento o un identificador devuelto por sí solos no demuestran que todos los registros se hayan guardado de forma persistente. Una incorporación con estado Pending no equivale a la aceptación por parte del operador, a una transferencia programada ni a una activación completada.
Cotejar antes de reintentar
- Consulte la lista de números del proyecto antes de añadir números y conserve los detalles de la incorporación prevista en sus propios registros de solicitudes.
- Envíe la solicitud de incorporación una sola vez.
- Vuelva a consultar la lista de números del proyecto y coteje cada número que pretendía añadir. Compruebe los duplicados y los estados de cada número.
- Si la solicitud agota el tiempo de espera, devuelve un error o comunica un resultado ambiguo, vuelva a consultar los datos antes de reintentarlo. Es posible que algunas incorporaciones ya existan.
- Resuelva los registros que falten o estén duplicados mediante el flujo de trabajo de solicitudes de portabilidad o el servicio de asistencia, en lugar de repetir a ciegas la solicitud completa.
El manejador inserta las entradas una por una, sin una transacción ni protección contra duplicados. Una interrupción puede dejar guardadas las escrituras anteriores; una inserción fallida que devuelva false puede seguir incluyéndose en el recuento comunicado. Repetir una solicitud puede añadir registros duplicados. El manejador no registra por sí mismo un evento ni completa una transferencia con el operador.
Errores del sistema heredado
Un método distinto de POST devuelve el código 403 de la API. Un proyecto inexistente, eliminado o que no pertenezca a la cuenta devuelve el código 404 de la API. Una entrada de números vacía también devuelve el código 404 de la API. Se aplican la autenticación y las restricciones de IP de origen. Estos códigos heredados no demuestran que no se haya producido ninguna inserción previa una vez iniciado el procesamiento.
Alcance de la facturación y la transferencia
El manejador revisado inserta registros de números del proyecto y no realiza ningún cargo directo a la cuenta ni ningún envío al operador. Esto no hace que el servicio de portabilidad en su conjunto sea gratuito ni anula las tarifas de portabilidad acordadas. Cumpla los requisitos de autorización, documentación y revisión del proyecto antes de esperar que se realice una transferencia.