Validar una Validación de Teléfono de Registro de Aplicación
Endpoint
PUT https://api.verifik.co/v2/phone-validations
Este endpoint valida una contraseña de un solo uso (OTP) enviada al número de teléfono de un usuario durante el proceso de registro de aplicación (incorporación). Asegura que el OTP proporcionado por el usuario sea correcto y actualiza el estado de verificación en consecuencia. Esta ruta está específicamente diseñada para usuarios que están en medio de un flujo de registro de aplicación.
warning
El Token JWT que debes usar al validar Validaciones de Teléfono de Registro de Aplicación se proporciona desde el Registro de Aplicación en creación. Debes usar el token devuelto al crear un Registro de Aplicación para autenticar esta solicitud.
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
Params
| Name | Type | Required | Description |
|---|---|---|---|
phone | string | Yes | El número de teléfono que se usó para crear la validación de teléfono. Los espacios se eliminarán automáticamente durante el procesamiento |
countryCode | string | Yes | El código de país del número telefónico en formato +XXX (ej: +507 para Panamá, +1 para Estados Unidos). Debe coincidir con el formato + seguido de 1 a 3 dígitos |
otp | number | Yes | La contraseña de un solo uso (OTP) que se envió al número de teléfono del usuario |
project | string | No | El identificador único del proyecto. Opcional, ayuda a reducir la validación |
projectFlow | string | No | El identificador único del flujo de proyecto. Opcional, ayuda a reducir la validación |
phoneGateway | string | No | El método de entrega usado: sms, whatsapp, o none |
Request
- Node.js
- PHP
- Python
- Go
const fetch = require("node-fetch");
async function run() {
const res = await fetch("https://api.verifik.co/v2/phone-validations", {
method: "PUT",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.VERIFIK_TOKEN}`,
},
body: JSON.stringify({
phone: "62647737",
countryCode: "+507",
otp: 123456,
}),
});
console.log(await res.json());
}
run();
<?php
$ch = curl_init("https://api.verifik.co/v2/phone-validations");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Authorization: Bearer " . getenv("VERIFIK_TOKEN")
]);
$body = json_encode([
"phone" => "62647737",
"countryCode" => "+507",
"otp" => 123456
]);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import os, requests
url = "https://api.verifik.co/v2/phone-validations"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {os.getenv('VERIFIK_TOKEN')}"
}
payload = {
"phone": "62647737",
"countryCode": "+507",
"otp": 123456
}
r = requests.put(url, json=payload, headers=headers)
print(r.json())
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"os"
)
func main() {
url := "https://api.verifik.co/v2/phone-validations"
payload := map[string]interface{}{
"phone": "62647737",
"countryCode": "+507",
"otp": 123456,
}
b, _ := json.Marshal(payload)
req, _ := http.NewRequest("PUT", url, bytes.NewBuffer(b))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+os.Getenv("VERIFIK_TOKEN"))
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var out map[string]interface{}
json.NewDecoder(resp.Body).Decode(&out)
fmt.Println(out)
}
Response
- 200
- 403
- 404
- 409
- 409 (Formato de Código de País Inválido)
- 412
{
"data": {
"_id": "674de8df21c72be3cc42b8a7",
"status": "validated",
"countryCode": "+507",
"phone": "62647737",
"type": "onboarding",
"showFaceLivenessRecommendation": false
}
}
{
"code": "otp_does_not_match",
"message": "403:otp_does_not_match"
}
{
"code": "phone_validation_not_found",
"message": "404:phone_validation_not_found"
}
{
"code": "MissingParameter",
"message": "missing phone\n. missing countryCode\n. missing otp"
}
{
"code": "MissingParameter",
"message": "Invalid countryCode format. CountryCode should be in the format + followed by 1 to 3 digits."
}
{
"code": "phoneValidation_has_expired",
"message": "412:phoneValidation_has_expired"
}
Notes
- Flujo de Incorporación: Este endpoint está específicamente diseñado para usuarios en el proceso de registro de aplicación, donde la validación de teléfono es parte del viaje de incorporación.
- Expiración de OTP: Los OTPs tienen una vida útil limitada (típicamente 10 minutos) y expirarán después del tiempo predefinido. Los OTPs expirados no pueden ser validados.
- Actualizaciones de Estado: La validación exitosa actualiza automáticamente el estado de la validación de teléfono a "validated" y puede activar pasos adicionales de incorporación.
- Eventos de Webhook: Los eventos de validación activan notificaciones de webhook para seguimiento y propósitos de integración.
- Vida Facial: Algunos flujos de proyecto pueden recomendar verificación de vida facial después de la validación de teléfono como parte del proceso de incorporación.
- Vinculación de Registro de Aplicación: Cuando se valida a través de este endpoint, la validación de teléfono se vincula automáticamente al registro de registro de aplicación del usuario.
- Formato de Número de Teléfono: Los números de teléfono tienen espacios eliminados automáticamente durante el procesamiento.
- Formato de Código de País: El código de país debe estar en formato
+XXXdonde X son dígitos (máximo 1-3 dígitos).