Validar una Validación de Email
Endpoint
POST https://api.verifik.co/v2/email-validations/{id}/validate
Este servicio valida una validación de email proporcionando el código de verificación. El sistema verificará el código contra el código almacenado y actualizará el estado de la validación según corresponda.
Encabezados
Content-Type
Tipo: String
Requerido: Sí
Valor: application/json
Authorization
Tipo: String
Requerido: Sí
Valor: Bearer {YOUR_ACCESS_TOKEN}
Parámetros de Ruta
id
Tipo: String
Requerido: Sí
El identificador único del registro de validación de email que deseas validar.
Parámetros del Cuerpo
verificationCode
Tipo: String
Requerido: Sí
El código de verificación recibido por email.
Solicitud
- Node.js
- Python
- PHP
- Go
import axios from "axios";
const options = {
method: "POST",
url: "https://api.verifik.co/v2/email-validations/email_validation_123456789/validate",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <your_token>",
},
data: {
verificationCode: "123456",
},
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
import http.client
import json
conn = http.client.HTTPSConnection("api.verifik.co")
payload = json.dumps({
"verificationCode": "123456"
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer <your_token>'
}
conn.request("POST", "/v2/email-validations/email_validation_123456789/validate", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://api.verifik.co/v2/email-validations/email_validation_123456789/validate', [
'headers' => [
'Content-Type': 'application/json',
'Authorization' => 'Bearer <your_token>',
],
'json' => [
'verificationCode' => '123456'
]
]);
echo $response->getBody();
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.verifik.co/v2/email-validations/email_validation_123456789/validate"
payload := map[string]interface{}{
"verificationCode": "123456",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Bearer <your_token>")
client := &http.Client{}
res, _ := client.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
Respuesta
- 200
- 400
- 409
- 410
{
"success": true,
"data": {
"_id": "email_validation_123456789",
"client": "client_123456789",
"project": "project_123456789",
"projectFlow": "flow_123456789",
"status": "validated",
"email": "user@example.com",
"type": "validation",
"validationMethod": "verificationCode",
"verificationCode": "123456",
"expiresAt": "2024-01-15T11:30:00Z",
"attempts": 1,
"maxAttempts": 3,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:32:00Z",
"validatedAt": "2024-01-15T10:32:00Z"
},
"signature": {
"dateTime": "April 11, 2023 12:25 PM",
"message": "Certified by Verifik.co"
}
}
{
"success": false,
"error": "Invalid verification code",
"code": "INVALID_CODE"
}
{
"success": false,
"error": "Verification code expired",
"code": "CODE_EXPIRED"
}
{
"success": false,
"error": "Maximum attempts exceeded",
"code": "MAX_ATTEMPTS_EXCEEDED"
}
Características
- Validación de código: Valida códigos OTP de 6 dígitos enviados por email
- Control de intentos: Registra intentos de validación y límites máximos
- Expiración: Maneja códigos expirados con respuestas apropiadas
- Actualización de estado: Actualiza el estado de la validación tras la verificación exitosa
- Marcas de tiempo: Registra cuándo se completó la validación
- Múltiples lenguajes: Soporte para JavaScript, Python, PHP y Swift
- Manejo de errores: Respuestas de error detalladas para distintos escenarios