Documentation API - SMSBower
API
Documentation API
Brève description du fonctionnement du protocole
Méthode pour demander le nombre de numéros disponibles GET_SERVICES
Méthode de demande de numéro GET_NUMBER
Méthode de livraison des SMS au serveur SMSBOWER – PUSH_SMS
Méthode pour terminer l'activation FINISH_ACTIVATION
Test du protocole
Tables de statut
Tableaux de données

Brève description du fonctionnement du protocole

Le protocole partenaire est conçu pour fournir des numéros de téléphone et des SMS entrants via API directement au serveur SMSBOWER .

Toutes les requêtes incluent le paramètre - KEY. Cette clé est fournie par le support technique et est disponible dans le compte personnel .

Demandes de quantité GET_SERVICES, Demandes de numéro GET_NUMBER et finalisation de l'activation

FINISH_ACTIVATION sont envoyées directement de notre serveur au serveur du partenaire .

Format de l'URL — https://SMSBOWER où SMSBOWER peut être partner.ru:port/SMSBOWER ou partner.ru/SMSBOWER.php

GET_SERVICES
GET_NUMBER
PUSH_SMS
FINISH_ACTIVATION
Le serveur SMSBOWER envoie une requête pour la quantité de numéros de téléphone via la méthode GET_SERVICES environ toutes les 10-20 secondes.
Si vous fournissez un nombre > 0 en réponse, vous recevrez une requête d'émission de numéro de téléphone via la méthode GET_NUMBER
Après réception de la GET_NUMBER vous devez fournir un numéro de téléphone répondant à tous les critères et nous transférer tous les SMS entrants en utilisant la méthode PUSH_SMS. Cela est nécessaire pour que nous puissions effectuer un filtrage clair et objectif et fournir le SMS pertinent au bon service pour nos clients.
À l’issue de toutes les tâches nécessaires liées aux numéros, vous recevrez un statut 3 via la méthode FINISH_ACTIVATION. Ce statut indique que le numéro de téléphone a été enregistré avec succès et que vous avez reçu une récompense pour cela.

Exigences

  • Format requête/réponse : JSON
  • Encodage UTF-8
  • Utilisez toujours un en-tête user-agent dans les requêtes au serveur SMSBOWER
  • Appliquez la méthode de compression gzip à toutes les requêtes/réponses

Types de champs:

  • int - valeur entière
    dans la plage de -2 147 483 648 à 2 147 483 647
  • Uint - entier non signé
    dans la plage de 0 à 2 147 483 647
  • long - valeur entière
    dans la plage de -9 223 372 036 854 775 808 à 9 223 372 036 854 775 807
  • Ulong - entier long non signé
    dans la plage de 0 à 9 223 372 036 854 775 807
  • cur - valeur réelle avec jusqu’à 2 décimales, par exemple 177.77 ;
  • boolean - littéral prenant les valeurs true ou false
  • string - valeur chaîne de longueur illimitée

Méthode pour demander le nombre de numéros disponibles GET SERVICES

Cette requête nous fournit des informations sur la quantité de numéros de téléphone disponibles à la vente pour les services .

La requête POST est envoyée du serveur SMSBOWER au serveur du partenaire .

! Veuillez noter : si votre modem GSM est limité en nombre de modules actifs simultanément, vous devez fournir un nombre égal au nombre de modules actifs modules.

Champs de la requête
Champ Type Obligatoire Description
action String GET_SERVICES
key String Clé du protocole
Champs de la réponse
Champ Type Obligatoire Description
status String Statut de la réponse (voir Tables de statut)
countryList Array Liste des pays
CountryList
Champ Type Obligatoire Description
country String Statut de la réponse (voir Status Table)
operatorMap* Tableau associatif Clé - opérateur (voir Tableaux de données), Valeur - tableau associatif des services **
Exemple de requête
{
     "action": "GET_SERVICES",
     "key": "qwerty123"
}
Copié
Exemple de réponse
{
     "countryList":
     [
          {
              "country": "russia",
               "operatorMap":
               {
                    "beeline":
                    {
                         "ok": 15,
                         "wa": 20
                    },
                    "megafon":
                    {
                         "vk": 3,
                         "ok": 10
                    }
               }
          },
          {
               "country": "ukraine",
               "operatorMap":
               {
                    "life":
                    {
                         "vk": 0,
                         "wa": 32
                    }
               }
          }
     ],
     "status": "SUCCESS"
}
Copié

Méthode de demande de numéro GET_NUMBER

Cette requête nous fournit un numéro de téléphone que nous transmettons au client .

La requête POST est envoyée du serveur SMSBOWER au serveur du partenaire .

Si le tableau exceptionPhoneSet contient une liste de préfixes, par exemple 44742 et 44740, vous devez ne pas fournir un numéro qui commence par un de ces préfixes. Le nombre de chiffres n’est pas limité par la taille du préfixe .

Champs de la requête
Champ Type Obligatoire Description
action String GET_NUMBER
key String Tableau de données
country String Tableau de données
service String Tableau de données
operator String Clé du protocole
sum Cur Le montant que vous recevrez pour un service enregistré avec succès
exceptionPhoneSet Array Liste des préfixes qui sont INTERDITS
Champs de la réponse
Champ Type Obligatoire Description
status String Statut de la réponse (voir Tables de statut)
number Ulong Numéro de téléphone avec indicatif pays
activationId Ulong ID d’activation dans le système du partenaire
call String Flash call disponible pour le numéro
voice String Appel vocal disponible pour le numéro
Exemple de requête
{
     "action": "GET_NUMBER",
     "key": "qwerty123",
     "country": "russia",
     "operator": "beeline",
     "service": "tg",
     "sum": "20.00"
}
Copié
Exemple de réponse
{
      "number": "79156537788",
      "activationId": "36532",
      "status": "SUCCESS",
      "call": "1",
      "voice": "1"
}
Copié
Exemple de requête
{
      "action": "GET_NUMBER",
      "key": "qwerty123",
      "country": "russia",
      "operator": "any",
      "service": "vk",
      "sum": "10",
      "exceptionPhoneSet":
      [
          "7918",
          "79281",
      ]
}
Copié

Méthode de livraison des SMS au serveur SMSBOWER PUSH_SMS

Cette requête POST est envoyée du serveur partenaire au serveur SMSBOWER à l’adresse : https://smsbower.online/agent/api/sms

Si vous recevez une réponse avec le statut SUCCESS, marquez le SMS comme délivré avec succès dans votre base de données et ne l’envoyez plus . Si un statut différent de SUCCESS est retourné, répétez la requête avec un délai de 10 secondes jusqu’à réception du statut SUCCESS .

Exemple de requête
Champ Type Obligatoire Description
action String PUSH_SMS
key String Clé du protocole
smsId Ulong ID du SMS dans le système du partenaire
phone Ulong Numéro de téléphone (incluant l’indicatif pays) auquel le SMS a été envoyé
phoneFrom String Nom de l’expéditeur (peut être alphanumérique ou numérique) qui a envoyé le SMS
text String Texte du SMS
voice Boolean La demande est un flash call
call Boolean La demande est un appel vocal avec code
Champs de la réponse
Champ Type Obligatoire Description
status String Statut de la réponse (voir Tables de statut)
Exemple de requête
{
     "action": "PUSH_SMS",
     "key": "qwerty123",
     "smsId": 1,
     "phone": 447472190082,
     "phoneFrom": "Microsoft",
     "text": "Microsoft access code: 5015"
     "call": "0",
     "voice": "0"
}
Copié
Example of a flash call request
{
     "action": "PUSH_SMS",
     "key": "qwerty123",
     "smsId": 1,
     "phone": 447472190082,
     "phoneFrom": "446756540011",
     "text": "446756540011"
     "call": "1",
     "voice": "0"
}
Copié
Example of a voice call request
{
     "action": "PUSH_SMS",
     "key": "qwerty123",
     "smsId": 1,
     "phone": 447472190082,
     "phoneFrom": "446756540011",
     "text": "12345"
     "call": "0",
     "voice": "1"
}
Copié
Champs de la réponse
{
      "status": "SUCCESS"
}
Copié

Méthode pour terminer l'activation FINISH_ACTIVATION

Cette requête est envoyée du serveur SMSBOWER au serveur partenaire pour compléter l’activation.

POST requête initiée depuis SMSBOWER au serveur partenaire.

La gestion des activations est totalement contrôlée par SMSBOWER. Pour des raisons indépendantes de notre volonté, nous pouvons ne pas recevoir de réponse de votre part concernant un changement de statut réussi. Donc, si SMSBOWER envoie une nouvelle requête de finalisation d’activation, vous devez vérifier l’existence de l’activation ID chez vous. Si l’activation existe, envoyez un statut de SUCCESS en réponse.

Champs de la requête
Champ Type Obligatoire Description
action String FINISH_ACTIVATION
key String Clé du protocole
activationId Ulong ID d’activation obtenu lors de la seconde requête
status Unit Statut de la réponse (voir Tables de statut)
Champs de la réponse
Champ Type Obligatoire Description
status String Statut de la réponse (voir Tables de statut)
Exemple de requête
{
     "action": "FINISH_ACTIVATION",
     "key": "qwerty123",
     "activationId": 100,
     "status": 3,
}
Copié
Exemple de réponse
{
      "status": "SUCCESS"
}
Copié

Test du protocole

Après la mise en œuvre du protocole, vous devez contacter notre support technique, fournir URL, et notre équipe effectuera les tests. Si la vérification est réussie sur tous les paramètres, vous serez connecté avec succès à SMSBOWER .

Attribution simultanée de numéros

Vous devez gérer correctement les requêtes simultanées et ne pas attribuer plusieurs fois les mêmes numéros. Par exemple, si vous avez 100 numéros pour Telegram Royaume-Uni, et que SMSBOWER fait simultanément 100 requêtes pour Telegram Royaume-Uni, le serveur partenaire doit fournir 100 uniques numéros. Si un numéro est attribué plusieurs fois, le test échoue .

Bonne finalisation de l’activation

Le changement de statut d’activation est totalement contrôlé par SMSBOWER. Le serveur partenaire doit ne pas terminer les activations de manière autonome.

Vérification de la livraison des SMS

Dès réception d’un SMS, vous devez immédiatement le transférer immédiatement au serveur SMSBOWER. Si vous recevez un statut SUCCESS, vous ne devez pas renvoyer le SMS. En revanche, si vous recevez un autre statut, vous devez réessayer la requête toutes les 10-20 secondes. Si un SMS est renvoyé après réception du statut SUCCESS, le test échoue .

Vérification du type des champs

Vérifiez soigneusement les types de champs, spécifiés dans cette documentation. Si cette condition est violée, le test échoue .

Code pays dans le numéro de téléphone

L’attribution du numéro doit être en format numérique et inclure le code pays .

Vérification du temps d’attribution des numéros

Vous devez attribuer les numéros avec un délai de moins de de 3 secondes. Si cela prend plus de 3 secondes, le test échoue .

Vérification de la quantité de numéros

Si vous affichez 1000 numéros dans une requête de quantité, mais que seulement 100 sont délivrés simultanément, le test échoue .

Vérification de la gestion des exceptions

Si vous gérez incorrectement les exceptions lors de l’attribution des numéros, le test échoue .

Statut de la réponse
Statut Description
SUCCESS La requête a été exécutée avec succès
ERROR Erreur lors de l'exécution de la requête. Le champ ERROR doit être rempli avec une description
NO_NUMBER Aucun numéro disponible. Cette réponse est retournée uniquement pour une demande numéro.
Statut de l'activation
Statut Description
1 L'émission d'un numéro pour ce service est interdite
3 L'activation a été avec succès vendue. Vous avez reçu une récompense
4 L'activation a été annulée*
5 L'activation a été remboursée. Le client a été remboursé pour l'activation. Il est possible que ce numéro ait déjà été enregistré auparavant, et que l'authentification à deux facteurs soit activée sur ce numéro

* Le mécanisme d'annulation fonctionne comme suit: Si un numéro a été annulé 5 fois, vous ne devez plus émettre ce même numéro. Il est possible que le numéro n'ait pas convenu au client ou qu'il ait déjà été enregistré pour ce service spécifique.

Réponse réussie à la requête
{
     "status": "SUCCESS",
     //Information
}
Copié
Réponse en cas d'erreur
{
      "status": "ERROR",
      "error": "Description de l'erreur"
}
Copié

Tableaux de données

Liste des pays

La liste complète des pays avec noms et IDs est disponible au lien https://smsbower.org /api#countries.

Liste des opérateurs

Pour le moment, la répartition par opérateurs est en cours de développement, vous devez donc transmettre la valeur any. Une fois cette fonctionnalité mise en œuvre, nous vous informerons via le chat du support technique .

Liste des services

La liste complète des services avec noms et IDs est disponible au lien https://smsbower.org /api#services

Example Postman