/phone

About

phone.ivaka.net - Phone number validator API You already know about the sites that use tools that when you sign up send you an SMS and enter a code to validate your phone. Well, it's the exact opposite - You dial our system and it validates your phone. You will NOT be charged for the call because our system will hang you up automatically.

Demo

You can test the system here: https://phone.ivaka.net/demo Use
S3UFRVMG2Q
as ENCRYPT_KEY to hash your phone number for demo page.

Usage

Register Channel

Example Request:
curl --request POST https://phone.ivaka.net/register/ --header 'CHAN: {{CHANNEL_NAME}}'
Example Response:
{
   "success" : true
   "message" : "Your channel successfully registered!",
   "auth_key" : "AUTH_KEY",
   "encrypt_key" : "ENCRYPT_KEY",
   "channel" : "{{CHANNEL_NAME}}",
   "created_at" : "{{DATETIME}}",
}

Add phone number for validation

You need to make a SHA256 Hash of phone number + encrypt key from your channel:
PHONENUMBER_ENCRYPTKEY
{{PHONE_NUMBER}} - It must start with a Country code and Phone number without + sign and spaces. ✗ Invalid format - +359888123456 / 0888123456 / 888 123 456 and etc.. ✓ Correct format - 359888123456 (359 is your COUNRTY CODE and 888123456 is your PHONENUMBER) Example:
359888123456_ABCDEFG

Make a SHA256 Hash

Online SHA256 Online tool Terminal
echo -n 359888123456_ABCDEFG | sha256sum
Example - a844f38856c2bfa94e6d1d4eb537d88ef6369f772ee17a592e1edb7f5a7a4ad0 is a SHA256 hash of phone number 359888123456_ABCDEFG

Add phone

Example Request:
curl --request POST https://phone.ivaka.net/validate/ --header 'AUTH: {{YOUR_AUTH_KEY}}' --header 'PHONE: {{SHA256_HASH}}'
Example Response:
{
   "phone" : "SHA256_HASH",
   "validated" : false,
   "added_at": {{DATETIME}},
   "updated_at" : 0,
   "message" : "The phone number has been added for validation."
}
*Phone number hashes will be stored for 10 minutes after adding them for validation. Once the time is up they will be deleted.

Check Phone

Example Request:
curl --request POST https://phone.ivaka.net/validate/ --header 'AUTH: {{YOUR_AUTH_KEY}}' --header 'PHONE: {{SHA256_HASH}}
If user make a call from the number which you hashed with your encrypt key and added to the system you will receive: Example Response:
{
   "phone" : {{SHA256_HASH}},
   "validated" : true
   "created_at" : {{DATETIME}},
   "updated_at" : {{DATETIME}},
   "message" : "The phone number has been validated.",
}
If he didn't call or the number/hash is wrong, you will get: Example Response:
{
   "phone" : {{SHA256_HASH}},
   "validated" : false
   "created_at" : {{DATETIME}},
   "updated_at" : 0,
   "message" : "The phone number has NOT been validated.",
}

How to validate?

Make a call to one of numbers for validation. The system automatically will hang up you and it will validate your number, if it's added for validation. Active numbers: +359886704009 (A1 Bulgaria)

Check system status

Example Request:
curl --request GET https://phone.ivaka.net/status
Example Response:
{
   "devices":[{
      "success": true,
      "active": 1,
      "number": {{SYS_PHONE_NUMBER}},
      "provider": {{SYS_PROVIDER}},
      "registered": {{SYS_REGISTER_STATUS}},
      "updated_at": {{SYS_UPDATED_DATETIME}}
   }]
}

Errors

Possible errors: - Phone is busy - Someone is trying to call at this moment. - Phone is out of range - The SIM module is not working or there is not network coverage. - Continue calling without closing/hang up - The SIM module is not working. It will restart soon.. - Hidden number - If the phone number from you make a call is hidden, the system cannot recognize it and it cannot be validated. You can check system status at System status