Valider une Phone Validation App Registration
Endpoint
PUT https://api.verifik.co/v2/phone-validations
Cet endpoint valide un mot de passe à usage unique (OTP) envoyé au numéro de téléphone d'un utilisateur lors du processus d'enregistrement d'application (onboarding). Il s'assure que l'OTP fourni par l'utilisateur est correct et met à jour le statut de vérification en conséquence. Cette route est spécifiquement conçue pour les utilisateurs qui sont au milieu d'un flux d'enregistrement d'application.
warning
Le jeton JWT à utiliser lors de la validation des App Registration Phone Validations est fourni lors de la création de l'App Registration. Vous devez utiliser le jeton renvoyé lors de la création d'un App Registration pour authentifier cette requête.
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
Params
| Name | Type | Required | Description |
|---|---|---|---|
phone | string | Yes | Le numéro de téléphone utilisé pour créer la validation téléphonique. Les espaces seront automatiquement supprimés lors du traitement |
countryCode | string | Yes | L'indicatif du numéro de téléphone au format +XXX (ex. +507 pour le Panama, +1 pour les États-Unis). Doit correspondre au format + suivi de 1 à 3 chiffres |
otp | number | Yes | Le mot de passe à usage unique (OTP) qui a été envoyé au numéro de téléphone de l'utilisateur |
project | string | No | L'identifiant unique du projet. Optionnel, aide à affiner la validation |
projectFlow | string | No | L'identifiant unique du flux de projet. Optionnel, aide à affiner la validation |
phoneGateway | string | No | La méthode de livraison utilisée : sms, whatsapp, ou 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 (Invalid Country Code Format)
- 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
- Flux d'onboarding : Cet endpoint est spécifiquement conçu pour les utilisateurs en cours d'enregistrement d'application, où la validation téléphonique fait partie du parcours d'onboarding.
- Expiration de l'OTP : Les OTP ont une durée de vie limitée (typiquement 10 minutes) et expirent après le délai prédéfini. Les OTP expirés ne peuvent pas être validés.
- Mises à jour de statut : Une validation réussie met automatiquement à jour le statut de la validation téléphonique à « validated » et peut déclencher des étapes d'onboarding supplémentaires.
- Événements webhook : Les événements de validation déclenchent des notifications webhook à des fins de suivi et d'intégration.
- Face Liveness : Certains flux de projet peuvent recommander une vérification de vivacité faciale après la validation téléphonique dans le cadre du processus d'onboarding.
- Liaison App Registration : Lorsqu'elle est validée via cet endpoint, la validation téléphonique est automatiquement liée à l'enregistrement d'application de l'utilisateur.
- Formatage du numéro : Les espaces dans les numéros de téléphone sont automatiquement supprimés lors du traitement.
- Format de l'indicatif : L'indicatif doit être au format
+XXXoù X sont des chiffres (1 à 3 chiffres maximum).