Integrate secure phone number validation with elegant simplicity. Send localized SMS verification codes in Arabic and French with strong authorization and clear responses.
POST /api/sms/validation/{validation_key}
Headers:
Validation-token: your_validation_token
Content-Type: application/json
{
"phone": "44800028",
"lang": "ar",
"code": "234323"
}
{
"code": 654321,
"balance": 95
}
The Chinguisoft SMS Validation API simplifies phone number validation by sending a secure SMS to the provided number. Each message includes a unique validation code and a localized explanatory message based on the recipient’s language preference.
https://chinguisoft.com/api/sms/validation/{validation_key}
Built for simplicity, security, and flexible integration across platforms.
Pay only for what you use with no hidden fees.
Offered to students at cost price without extra profit.
Easy to integrate and straightforward to operate.
Send verification SMS in Arabic ar or French fr.
Use clear response codes for fast debugging and recovery.
Examples included for Curl, Python, PHP, Java, JavaScript, and Dart.
Simple pricing by account category. All prices below are in N.Ogya for each validation SMS sent.
Best for student projects and personal academic use.
Designed for graduates building personal or early-stage applications.
A practical rate for private companies and commercial platforms.
Suitable for public companies and larger institutional deployments.
Simple and quick steps to start the integration into your project.
Every request must include:
Provided by Chinguisoft for your application.
Required for authorization on every request.
https://chinguisoft.com/api/sms/validation/{validation_key}
Validation-token: your_validation_token
Content-Type: application/json
{
"phone": "44800028",
"lang": "ar",
"code": "234323"
}
| Parameter | Required | Description |
|---|---|---|
phone |
Yes | Must start with 2, 3, or 4 and contain 8 digits. |
lang |
Yes | Language of the SMS. Options: ar or fr. |
code |
No | Between 3 and 6 digits. If omitted, a code is generated automatically. |
{
"code": 654321,
"balance": 95
}
{
"errors": {
"phone": [
"The phone field is required.",
"The phone format is invalid."
],
"lang": [
"The lang field is required.",
"The selected lang is invalid."
],
"code": [
"The code must be between 3 and 6 digits."
]
}
}
{
"message": "Too many requests, please slow down."
}
{
"error": "Unauthorized"
}
{
"error": "Payment Required: please contact us",
"balance": 2
}
{
"error": "Service Unavailable: working on it"
}
The SMS content adapts to the selected language parameter.
{
"sender": "Chinguisoft",
"sms": "your_app_name:
رمزك هو 123456.
لا تشاركه مع أي شخص.
ستنتهي صلاحيته خلال 10 دقائق.
إذا لم تطلب هذا الرمز، تجاهل هذه الرسالة."
}
{
"sender": "Chinguisoft",
"sms": "your_app_name:
Votre code est 123456.
Ne le partagez avec personne.
Il expirera dans 10 min.
Si non demandé, ignorez ce message."
}
Switch between languages and frameworks using Bootstrap tabs.
curl -X POST https://chinguisoft.com/api/sms/validation/your_validation_key \
-H "Validation-token: your_validation_token" \
-H "Content-Type: application/json" \
-d '{
"phone": "44800028",
"lang": "ar"
}'
import requests
validation_key = 'your_validation_key'
token = 'your_validation_token'
url = f"https://chinguisoft.com/api/sms/validation/{validation_key}"
headers = {
'Validation-token': token,
'Content-Type': 'application/json',
}
data = {
'phone': '44800028',
'lang': 'ar'
}
response = requests.post(url, headers=headers, json=data)
print(response.text)
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$validationKey = 'your_validation_key';
$token = 'your_validation_token';
$client = new Client();
$response = $client->post("https://chinguisoft.com/api/sms/validation/$validationKey", [
'headers' => [
'Validation-token' => $token,
'Content-Type' => 'application/json',
],
'json' => [
'phone' => '44800028',
'lang' => 'ar'
]
]);
echo $response->getBody();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class ValidationApiExample {
public static void main(String[] args) {
String validationKey = "your_validation_key";
String token = "your_validation_token";
String apiUrl = "https://chinguisoft.com/api/sms/validation/" + validationKey;
String requestBody = "{\"phone\":\"44800028\", \"lang\":\"ar\"}";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(apiUrl))
.header("Content-Type", "application/json")
.header("Validation-token", token)
.POST(HttpRequest.BodyPublishers.ofString(requestBody))
.build();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response Body: " + response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}
const axios = require('axios');
const validationKey = 'your_validation_key';
const token = 'your_validation_token';
const requestData = {
phone: '44800028',
lang: 'ar'
};
axios.post(`https://chinguisoft.com/api/sms/validation/${validationKey}`, requestData, {
headers: {
'Validation-token': token,
'Content-Type': 'application/json'
}
})
.then(response => {
console.log('Success:', response.data);
})
.catch(error => {
if (error.response) {
console.log('Error:', error.response.data);
} else {
console.error('Request failed:', error.message);
}
});
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() async {
final validationKey = 'your_validation_key';
final token = 'your_validation_token';
final url = Uri.parse('https://chinguisoft.com/api/sms/validation/$validationKey');
final headers = {
'Validation-token': token,
'Content-Type': 'application/json',
};
final body = jsonEncode({
'phone': '44800028',
'lang': 'ar',
});
try {
final response = await http.post(url, headers: headers, body: body);
if (response.statusCode == 200) {
print('Success: ${response.body}');
} else {
print('Error: ${response.statusCode} - ${response.body}');
}
} catch (e) {
print('Request failed: $e');
}
}
validation_key and Validation-token safe.
503 gracefully and implement retries if needed.