Protocole API pour travailler avec SMS-Activate
L'API est un protocole entre votre logiciel et notre serveur
L'API est nécessaire pour l'automatisation du processus de réception de SMS, OTP et PVA de votre côté
Notre API est entièrement compatible avec les sites concurrents
Toutes les demandes doivent être adressées à https://api.sms-activate.fr/stubs/handler_api.php
Requête POST ou GET.
Toutes les requêtes doivent contenir une clé API sous la forme du paramètre api_key GET
Télécharger l'implémentation du protocole en php Téléchargez l'implémentation prête à l'emploi du protocole en PythonAPI d'activation
Paramètres :
$api_clé - Clé API
$pays * - numéro de pays voir tableau
$opérateur * numéros d'opérateur mobile, vous pouvez spécifier plusieurs numéros séparés par des virgules (disponible uniquement pour :
** disponible pour $pays = 0, $pays = 1, $pays = 2
RÉPONDRE:
La réponse du service sera au format json, exemple :
{"vk_0":76,"ok_0":139,"wa_0":90,"vi_0":223,"tg_0":158,"wb_0":106,"go_0":182,"av_0":244,"av_1":211,"fb_0":107}
Où au tiret se trouve le nom du service, après la désignation s'il est nécessaire d'inclure la redirection. 0 - non. 1 - oui.
Paramètres :
$api_clé - Clé API
$service * - Service voir tableau
* paramètre facultatif. S’ils ne sont pas spécifiés, les principaux pays pour tous les services seront affichés par défaut.
$gratuitPrix * - paramètre facultatif. Si fourni vrai, la quantité et le prix seront fournis selon le prix libre
RÉPONDRE:
La réponse du service sera au format json, exemple :
{
0: {
"country: 0,
"count": 43575,
"price": 15.00,
"retail_price": 30.00
}, ...
}
$gratuitPrix = vrai:
{
0: {
"country: 0,
"count": 43575,
"price": 15.00,
"retail_price": 30.00,
"freePriceMap": {
"15.00": 43242,
"18.00": 333
}
}, ...
}
Demande de solde avec compte cashback :
* renvoie le solde en tenant compte du cashback accumulé, si la case dans les paramètres du compte de cashback « Dépenser le cashback lors de l'activation » est cochée
Paramètres :
$api_clé - Clé API
RÉPONDRE:
ACCESS_BALANCE: 'solde du compte'
ERREURS POSSIBLES :
MAUVAIS_KEY - clé API invalide
ERREUR_SQL - erreur du serveur SQL
* renvoie tous les opérateurs disponibles pour le pays transféré, si le pays n'est pas transféré - renverra tous les opérateurs disponibles pour chaque pays
Paramètres :
$api_clé - Clé API
$pays -code du pays
RÉPONDRE:
La réponse du service sera au format json :
{"status":"success", "countryOperators": {
"Country1Code": ["operator1Name","operator2Name","operator3Name", ...],
"Country2Code": ["operator1Name","operator2Name","operator3Name", ...],
...
}}
Exemple:
{"status":"success", "countryOperators": {
"0": ["beeline","megafon","mts", ...],
"1": ["life","mts","kyivstar","utel" ...],
...
}}
* à l'intérieur de 'countryOperators' - la clé sera le code du pays
ERREURS POSSIBLES :
MAUVAIS_KEY - clé API invalide
ERREUR_SQL - erreur du serveur SQL
OPERATORS_NOT_FOUND - aucun enregistrement trouvé (par exemple, pays inexistant transféré)
Paramètres :
$api_clé - Clé API
RÉPONDRE:
La réponse du service sera au format json :
{"status":"success", "activeActivations": [
{
"activationId" : "635468021",
"serviceCode" : "vk",
"phoneNumber" : "79********1",
"activationCost" : "12.50",
"activationStatus" : "4",
"smsCode" : ["CODE"],
"smsText" : "[Your CODE registration code]",
"activationTime" : "2022-06-01 16:59:16",
"discount" : "0.00",
"repeated" : "0",
"countryCode" : "0",
"countryName" : "Russia",
"canGetAnotherSms" : "1",
}]
ERREURS POSSIBLES :
MAUVAIS_KEY - clé API invalide
ERREUR_SQL - erreur du serveur SQL
NO_ACTIVATIONS - entrées introuvables (pas d'activations actives)
Paramètres :
$api_clé - Clé API
$service - service de commande voir tableau
$en avant * - est-il nécessaire de demander un numéro avec renvoi
* paramètre facultatif, accepte 0 (ne pas exécuter, défini par défaut), 1 (exécuter)
$maxPrix * - le prix maximum pour lequel vous êtes prêt à acheter un numéro à Prix Libre
*paramètre optionnel, s'il n'est pas précisé, l'achat s'effectuera au prix régulier
$phoneException * - hors préfixes pour les numéros russes. Entrez avec une virgule. Format d'enregistrement : code pays et 3 à 6 chiffres du masque (ex. 7918, 7900111). La valeur par défaut est la valeur spécifiée dans le compte.
$opérateur* est un opérateur mobile du numéro, vous pouvez en préciser plusieurs avec une virgule (disponible uniquement pour **)
$Type d'activation - type d'activation : 0 - avec sms (par défaut), 1 - avec numéro, 2 - avec voix
$langue - langage d'analyse (requis pour l'activation avec la voix) voir tableau
$IDutilisateur * - ID utilisateur à interdire en cas de mauvaises statistiques d'activation, mais le compte du revendeur n'est pas affecté.
*champ facultatif
** disponible pour $pays = 0, $pays = 1, $pays = 2
$réf - transférer l'identifiant de référence.
$pays - numéro de pays voir tableau
$useCashBack* - prend la valeur booléenne, si le paramètre est 'true', le numéro d'achat sera effectué en payant le cashback. Une fois que vous n'avez plus d'argent sur votre solde de cashback, tous les achats ultérieurs seront effectués en utilisant ce solde. Il est IMPORTANT de se rappeler que tous les achats ultérieurs utiliseront d'abord le cashback, puis le solde principal sera utilisé (même si vous passez ensuite le paramètre « faux »).
* paramètre facultatif, accepte 'true'
En obtenant le numéro via l'API, vous acceptez le règles du projet règles du projet
ERREURS POSSIBLES :
WRONG_MAX_PRICE :$min- le prix maximum indiqué est inférieur à celui autorisé
$min - prix minimum autorisé
BAD_ACTION - action incorrecte
MAUVAIS_SERVICE - nom de service incorrect
MAUVAIS_KEY - clé API invalide
ERREUR_SQL - erreur du serveur SQL
INTERDIT :'YYYY-m-d H-i-s' - durée pendant laquelle le compte est bloqué
WRONG_EXCEPTION_PHONE - préfixes d'exclusion incorrects
NO_BALANCE_FORWARD - pas assez de fonds pour acheter un renvoi d'appel
CHANNELS_LIMIT - compte bloqué
NO_NUMBERS - pas de numéros
Si vous essayez d'obtenir le numéro d'un opérateur spécifique qui n'opère pas dans le pays sélectionné ou qui ne dispose pas du service sélectionné, le numéro du premier opérateur qui correspond aux paramètres de la demande sera renvoyé.
la méthode fonctionne de la même manière que la méthode obtenirNuméro, accepte les mêmes paramètres et d'autres décrits ci-dessous, mais renvoie des informations d'activation supplémentaires
Paramètres :
$numéro de commande- identifiant d'activation du système du revendeur. Lors de l'achat, ces données sont comparées à l'identifiant d'activation et à un revendeur dans notre système. Ainsi, nous voulons atteindre l'idempotence (la même commande ne sera plus traitée).
RÉPONDRE:
Si la demande aboutit, la réponse sera au format suivant :
{
"activationId": 635468024,
"phoneNumber": "79584******",
"activationCost": "12.50",
"countryCode": "0",
"canGetAnotherSms": "1",
"activationTime": "2022-06-01 17:30:57",
"activationOperator": "mtt"
}
Si vous essayez d'obtenir le numéro d'un opérateur spécifique qui n'opère pas dans le pays sélectionné ou qui ne dispose pas du service sélectionné, le numéro du premier opérateur qui correspond aux paramètres de la demande sera renvoyé.
ERREURS POSSIBLES :
ORDER_ALREADY_EXISTS- la commande a déjà été créée
Lorsque vous recevez un SMS vers un numéro, si vous avez activé la fonctionnalité Webhooks dans vos paramètres, nous enverrons des informations sur le SMS aux adresses que vous avez spécifiées à l'aide d'une requête POST.
RÉPONDRE:
Le format de réponse sera le suivant :
{
"activationId": 635468024,
"service": "go",
"text": "Your sms text",
"code": "Your sms code",
"country": 0,
"receivedAt": "2022-06-01 17:30:57",
}
Lors de l'envoi d'une demande, nous attendrons une réponse de votre script avec le statut HTTP 200. Si votre script ne répond pas, nous enverrons une demande dans les 2 heures, mais pas plus de 8 fois.
Vous pouvez activer cette fonctionnalité dans paramètres de profil
Paramètres :
$api_clé - Clé API
$service - service de commande voir tableau
$en avant * - est-il nécessaire de demander un numéro avec renvoi
* paramètre facultatif, les caractères de transfert sont séparés par des virgules, le nombre de chiffres de transfert doit correspondre au nombre de services transmis dans le paramètre $service. Il est permis de transmettre un seul service avec redirection, par exemple "0,1,0,0" - correct, "0,1,1,0" - incorrect. Prend 0 (ne pas exécuter, par défaut), 1 (exécuter)
$opérateur * - opérateur mobile du numéro, vous pouvez préciser plusieurs numéros séparés par des virgules (disponible uniquement pour **) :
$réf - transférer l'identifiant de référence.
$pays - numéro de pays voir tableau
En obtenant le numéro via l'API, vous acceptez le règles du projet règles du projet
RÉPONDRE:
NO_NUMBERS - pas de chiffres
NO_BALANCE - le solde est terminé
{{'téléphone':téléphone,'activation':activation,'service':service},
{'téléphone':téléphone,'activation':activation,'service':service}}, où (téléphone - opérations d'identification, activation - Numéro de téléphone, service - Service)
ERREURS POSSIBLES :
BAD_ACTION - action incorrecte
MAUVAIS_SERVICE - nom de service incorrect
MAUVAIS_KEY - clé API invalide
ERREUR_SQL - erreur du serveur SQL
INTERDIT :'YYYY-m-d H-i-s' - durée pendant laquelle le compte est bloqué
Paramètres :
$api_clé - Clé API
$id - Identifiant d'activation
$en avant * - numéro de téléphone vers lequel vous souhaitez transférer
* obligatoire uniquement si un paramètre a été passé avec getNumber forward=1.
$statut - statut d'activation
1 - informer de la disponibilité du numéro (sms envoyé au numéro)
3 - demander un code supplémentaire (gratuitement)
6 - terminer l'activation *
8 - signaler le fait que le numéro a déjà été utilisé et annuler l'activation
* s'il y avait un statut "code reçu" - le marque avec succès et se termine, s'il y a eu une "préparation" - supprime et marque une erreur, s'il y avait un statut "en attente de nouvelle tentative" - transfère l'activation vers SMS en attente
** Il n'est pas possible de modifier le statut d'activation pour lequel la méthode de vérification par appel a été sélectionnée si le numéro est déjà arrivé
La logique simple de la chronologie de travail avec l'API :
En obtenant un numéro à l'aide de la méthode getNumber, les actions suivantes sont alors disponibles :
8 - annuler l'activation (si le numéro ne vous convient pas)
1 - informer que le SMS a été envoyé (facultatif)
Pour une activation avec le statut 1 :
8 - annuler l'activation
Immédiatement après avoir reçu le code :
3 - demander un SMS supplémentaire
6 - confirmez le code SMS et terminez l'activation
Pour une activation avec le statut 3 :
6 - confirmez le code SMS et terminez l'activation
RÉPONDRE:
ACCESS_READY - la préparation des chiffres est confirmée
ACCESS_RETRY_GET - en attente d'un nouveau SMS
ACCESS_ACTIVATION - le service a été activé avec succès
ACCESS_CANCEL - activation annulée
ERREURS POSSIBLES :
EARLY_CANCEL_DENIED - il n'est pas permis d'annuler un numéro dans les 2 premières minutes
ERREUR_SQL - erreur du serveur SQL
NO_ACTIVATION - l'identifiant d'activation n'existe pas
MAUVAIS_SERVICE - nom de service incorrect
BAD_STATUS - statut incorrect
MAUVAIS_KEY - clé API invalide
BAD_ACTION - action incorrecte
WRONG_ACTIVATION_ID - une pièce d'identité invalide ou une pièce d'identité n'est pas un numéro.
Paramètres :
$api_clé - Clé API
$id - Identifiant d'activation
RÉPONDRE:
STATUS_WAIT_CODE - en attente de SMS
STATUS_WAIT_RETRY: 'code passé sans correspondance' - en attente de clarification du code
STATUS_WAIT_RESEND - en attente du réenvoi du SMS *
* le logiciel doit appuyer sur renvoyer le SMS et changer le statut à 6
STATUS_CANCEL - activation annulée
STATUS_OK: 'code d'activation' - code reçu
ERREURS POSSIBLES :
NO_ACTIVATION - l'identifiant d'activation n'existe pas
ERREUR_SQL - erreur du serveur SQL
MAUVAIS_KEY - clé API invalide
BAD_ACTION - action incorrecte
Paramètres :
$api_clé - Clé API
$id - Identifiant d'activation
RÉPONDRE:
Le format de réponse sera le suivant :
{
"verificationType": 2,
"sms": {
"dateTime": "0000-00-00 00:00:00",
"code": "code",
"text": "sms text",
},
"call": {
"from": "phone",
"text": "voice text",
"dateTime": "0000-00-00 00:00:00",
"url": "voice file url",
"parsingCount": 1,
}
}
STATUS_CANCEL - activation annulée
ERREURS POSSIBLES :
NO_ACTIVATION - l'identifiant d'activation n'existe pas
ERREUR_SQL - erreur du serveur SQL
MAUVAIS_KEY - clé API invalide
BAD_ACTION - action incorrecte
Paramètres :
$api_clé - Clé API
$début - horodatage au format Unix Timestamp (facultatif) - à partir de quelle date prendre en compte les activations
$fin - horodatage au format Unix Timestamp (facultatif) - jusqu'à quelle date envisager les activations
$décalage - décalage du premier élément renvoyé dans la réponse. La valeur par défaut est 0
$limite - nombre maximum d'enregistrements renvoyés. Le maximum est 100. La valeur par défaut est 50.
RÉPONDRE:
Le format de réponse sera le suivant :
[{
"id": 635468024,
"date": "2022-11-12 15:58:39",
"phone": "79918529716",
"sms": "sms":"["Your sms code"]",
"cost": 100 //Если активация не завершена, то cost = 0,
"status": "4",
}]
ERREURS POSSIBLES :
ERREUR_SQL - erreur du serveur SQL
MAUVAIS_KEY - clé API invalide
BAD_ACTION - action incorrecte
Paramètres :
$api_clé - Clé API
$service - nom du service
RÉPONDRE:
Le format de réponse sera le suivant :
[{
"country": 0,
"share": 50 - // (Purchases of the chosen service by country as a percentage of the total quantity of purchases at our service),
"rate": 50 - // (% of successful activations among the total number of activations by the country)
}]
ERREURS POSSIBLES :
ERREUR_SQL - erreur du serveur SQL
MAUVAIS_KEY - clé API invalide
MAUVAIS_SERVICE - service incorrect
BAD_ACTION - action incorrecte
Paramètres :
$api_clé - Clé API
$id - Identifiant d'activation
RÉPONDRE:
La réponse du service sera au format json, exemple :
{"status":"2","phone":false}
STATUTS POSSIBLES :
2 - nouvelle activation
3 - terminé avec succès
4 - annulé
5 - retourné
ERREURS POSSIBLES :
MAUVAIS_KEY - clé API invalide
INVALID_ACTIVATION_ID - ID d'activation invalide
Paramètres :
$api_clé - Clé API
$serviceNom court du service (Facultatif, par défaut tous les services) voir tableau
$paysNom du code du pays (facultatif, par défaut pour tous les pays) voir tableau
RÉPONDRE:
JSON - objet au format
{"Pays":{"Service":{"cost":Coût,"count":Nombre}}}
Paramètres :
$api_clé - Clé API
$serviceNom court du service (Facultatif, par défaut tous les services) voir tableau
RÉPONDRE:
JSON - objet au format
{"Service":{"Pays":{"count":Quantité,"price":"Prix"}}}
Paramètres :
$api_clé - Clé API
RÉPONDRE:
JSON - objet au format {{'Country':{'id':0,'rus':"Russia","eng:"Russia","chn":"俄罗斯","visible":1,"retry":1,"rent":1,"multiService":1}},
où (
identifiant : identifiant du pays ;
russe : nom du pays en russe ;
fra : nom du pays en anglais ;
chn : nom du pays en chinois ;
visible : 0 - le pays n'est pas affiché sur le site, 1 - affiché ;
réessayer : 0 - les SMS répétés ne sont PAS disponibles, 1 - disponibles ;
louer : 0 - pays non loué, 1 - loué ;
multiService : 0-pays n'est PAS disponible pour le multiservice, 1- disponible.)
Paramètres :
$api_clé- Clé API
$pays *- Identifiant du pays. Si vous avez traversé le pays, nous vous restituons les prestations qui ont un prix pour le pays choisi
$lang *- quelle langue utiliser pour fournir le « nom ». Valeurs possibles : 'ru', 'en', 'es', 'cn'. La valeur par défaut est 'en'
* paramètre facultatif
RÉPONDRE:
JSON - objet au format { "statut": "succès", "services": [ { "code": "aoo", "name": "Pegasus Airlines" } ] }
Après avoir reçu le premier SMS pour les numéros redirigés, vous pouvez acheter d'autres services connexes tels que Yula, Yandex, Avito, tout autre
Le coût du service supplémentaire n'est que de 5p
Paramètres :
$api_clé - Clé API
$service - pour le nom court du service, voir le tableau voir tableau
$id - ID d'activation des parents
RÉPONDRE:
SUPPLÉMENTAIRE :$id:$téléphone - une nouvelle activation a été créée avec succès. Où ID est l'ID d'une activation supplémentaire, le téléphone est un numéro de téléphone
ERREURS POSSIBLES :
WRONG_ADDITIONAL_SERVICE - Service supplémentaire invalide (seuls les services de réexpédition sont autorisés)
WRONG_ACTIVATION_ID - ID d'activation parentale incorrect
MAUVAIS_SÉCURITÉ - une erreur s'est produite lors de la tentative de transmission d'un identifiant d'activation sans redirection, ou d'une activation terminée/inactive
REPEAT_ADDITIONAL_SERVICE - Une erreur se produit lorsque vous essayez de commander à nouveau un service acheté NO_BALANCE - Fonds insuffisants
ERREUR_SQL- erreur de base de données, contactez le service client
Si vous avez réussi une activation sur le numéro, vous pouvez la refaire.
Le coût d'une activation supplémentaire est déterminé en fonction du pays et du service. Le coût spécifique peut être obtenu auprès de .
Paramètres :
$api_clé - Clé API
$IDactivation - ID d'activation des parents
RÉPONDRE:
ACCESS_NUMBER :$id :$téléphone - une nouvelle activation a été créée avec succès. Où $id est l'identifiant d'une activation supplémentaire, $phone est un numéro de téléphone
ERREURS POSSIBLES :
RENEW_ACTIVATION_NOT_AVAILABLE- le numéro n'est pas disponible pour une activation supplémentaire
WRONG_ACTIVATION_ID - ID d'activation parentale incorrect
ERREUR_SQL- erreur de base de données, contactez le service client
NEW_ACTIVATION_IMPOSSIBLE- il est impossible de faire une activation supplémentaire
NO_BALANCE - pas d'argent sur le compte
Vous pouvez connaître la disponibilité du numéro pour une activation supplémentaire et obtenir son coût
Paramètres :
$api_clé - Clé API
$IDactivation - ID d'activation des parents
RÉPONDRE:
JSON - objet au format {'statut' : 'succès', 'coût' :200,"service":"tw","phone":777777777,"pays":14},
ERREURS POSSIBLES :
RENEW_ACTIVATION_NOT_AVAILABLE- le numéro n'est pas disponible pour une activation supplémentaire
WRONG_ACTIVATION_ID - ID d'activation parentale incorrect
SIM_OFFLINE - Carte SIM hors ligne
Paramètres :
$api_cléclé API
$id - Identifiant d'activation
$newLang - nouveau langage d'analyse voir tableau
RÉPONDRE:
Le format de réponse sera le suivant :
{
"result": "OK"
}
STATUS_CANCEL - activation annulée
NO_CALL- aucun appel n'a été reçu
PARSE_COUNT_EXCEED- limite de tentatives d'analyse (le maximum est de 4)
ERREURS POSSIBLES :
WRONG_ACTIVATION_ID - ID invalide, l'activation n'existe pas
ERREUR_SQL - erreur du serveur SQL
MAUVAIS_KEY - clé API invalide
BAD_ACTION - action incorrecte
Louer API
Paramètres :
$api_clé - Clé API
$heure* - durée de location (par défaut : 4 heures)
$opérateur* - opérateur mobile du numéro, vous pouvez en préciser plusieurs séparés par des virgules (par défaut : Any)
$pays* - pays (par défaut : Russie)
$appel entrant * - si transféré "vrai"obtenir un numéro prenant en charge une fonction pour recevoir un appel
RÉPONDRE:
La réponse du service sera au format json, exemple :
{ "pays": { "0": 0 }, "opérateurs": { "0": "aiva", "1": "any", "2": "beeline", ... "16": "yota" }, "services": { "full": { "cost": 42,93, "quant": 20 }, "vk": { "cost": 21,95, "quant": 20 }, "ok": { "cost": 7,68, "quant": 55 }, "ot": { "coût": 5.2, "quant": 42 } } }
ERREURS POSSIBLES :
MAUVAIS_KEY - clé API invalide
EN RUPTURE DE STOCK - les numéros pour ce pays ne sont pas disponibles
Paramètres :
$api_clé - Clé API
$service - le service pour lequel vous avez besoin d'obtenir un numéro
$heure* - durée de location en heures (par défaut : 4 heures). La prochaine période disponible est de 12 heures, puis de 24 heures. Lors d'une demande de location à la journée ou plus, vous devez virer : 24, 48, 72, etc.
$opérateur* - opérateur mobile du numéro, vous pouvez en préciser plusieurs séparés par des virgules (par défaut : Any)
$pays* - pays (par défaut : Russie)
$url * - un lien vers le webhook (n'est pas pris en compte par défaut)
$appel entrant * - si transféré "vrai"obtenir un numéro prenant en charge une fonction pour recevoir un appel
* paramètre facultatif. S’il n’est pas spécifié, le paramètre par défaut sera utilisé.
RÉPONDRE:
La réponse du service sera au format json, exemple :
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564" } }
ERREURS POSSIBLES :
MAUVAIS_KEY - clé API invalide
Réponse au format json :
{ "status": "erreur", "message": "*possible_answer*" }
Réponses possibles sur le terrain "message":
MAUVAIS_SERVICE - service non spécifié ou nom incorrect
NO_BALANCE - pas d'argent sur le compte
NO_NUMBERS - pas de numéros
ACCOUNT_INACTIVE - pas de chiffres
SERVEUR_ERREUR - erreur du serveur
CHANNELS_LIMIT - compte bloqué
Paramètres :
$api_clé - Clé API
$id - Identifiant de location reçu en réponse lors de la commande d'un numéro
$page* - numéro de la page à partir de laquelle commence la sélection (la numérotation des pages commence à 0, du nouveau à l'ancien ; la valeur par défaut est 0)
$taille* - taille de la page (par défaut 10)
* paramètre facultatif. S’il n’est pas spécifié, le paramètre par défaut sera utilisé.
RÉPONDRE:
La réponse du service sera au format json, exemple :
{ "status": "success", "quantity": "2", "values": { "0": { "phoneFrom": "79180230628", "text": "5", "service": "ot", "date": "2020-01-30 14:31:58" }, "1": { "phoneFrom": "79180230628", "text": "4", "service": "ot", "date": "2020-01-30 14:04:16" } } }
* réussi uniquement lorsqu'il y a un sms (case 'quantité' > 0).
ERREURS POSSIBLES :
MAUVAIS_KEY - clé API invalide
Réponse au format json :
{ "status": "erreur", "message": "*possible_answer*" } Réponses possibles sur le terrain "message": NO_ID_RENT - l'identifiant du loyer n'est pas spécifié INVALID_PHONE - le numéro n'est pas loué par vous (ID de loyer invalide) STATUS_FINISH - loyer payé et complété STATUS_CANCEL - loyer annulé avec remboursement STATUS_WAIT_CODE - en attendant le premier SMS STATUS_REVOKE - Le numéro est bloqué, vos fonds ont été restitués
Paramètres :
$api_clé - Clé API
$id - Identifiant de location reçu en réponse lors de la commande d'un numéro
$statut - code de changement de statut (numéro)
Le statut peut être :
RÉPONDRE:
La réponse du service sera au format json :
{ "statut": "succès" }
ERREURS POSSIBLES :
MAUVAIS_KEY - clé API invalide
Réponse au format json :
{ "status": "erreur", "message": "*possible_answer*" }
Réponses possibles sur le terrain "message":
NO_ID_RENT - l'identifiant du loyer n'est pas spécifié
INCORRECT_STATUS - statut manquant ou mal spécifié
CANT_CANCEL - il est impossible de résilier le bail (plus de 20 min.)
INVALID_PHONE - le numéro n'est pas loué par vous (ID de loyer invalide)
ALREADY_FINISH - le bail est déjà terminé
ALREADY_CANCEL - le bail a déjà été annulé
SERVEUR_ERREUR - erreur du serveur
👉Attention ! Cette méthode affiche uniquement les 10 derniers numéros. Si vous avez besoin de plus de numéros, utilisez le obtenir le statut du loyer méthode pour vérifier les statuts.
Paramètres :
$api_clé - Clé API
RÉPONDRE:
La réponse du service sera au format json :
{ "status": "success", "values": { "0": { "id": "12345", "phone": "79181234567" }, "1": { "id": "12345", "phone": "79181234568" } } }
ERREURS POSSIBLES :
MAUVAIS_KEY - clé API invalide
BAD_ACTION - action incorrecte
Réponse au format json :
{ "status": "erreur", "message": "*possible_answer*" }
Réponses possibles sur le terrain "message":
NO_NUMBERS - pas de numéros loués
SERVEUR_ERREUR - erreur du serveur
Paramètres :
$api_clé - Clé API
$id - pièce d'identité loyer
$rent_time- durée de location (par défaut : 4 heures)
RÉPONDRE:
La réponse du service sera au format json :
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564"} }
Lorsqu'un loyer terminé est prolongé, il sera réorganisé, une nouvelle pièce d'identité sera fournie
ERREURS POSSIBLES :
MAUVAIS_KEY - clé API invalide
BAD_ACTION - action incorrecte
SERVEUR_ERREUR - erreur du serveur
Réponse au format json :
{ "status": "erreur", "message": "*possible_answer*", "info": "*détails*" }
Réponses possibles sur le terrain "message":
NO_ID_RENT - il n'y a pas de numéro de loyer
INVALID_TIME - mauvais moment. Nombre d'heures disponibles de 4 à 1344
MAX_HOURS_EXCEED - Le temps maximum disponible a été dépassé
maximum - temps maximum disponible
INVALID_PHONE - ID de loyer incorrect
RENT_DIE - le loyer ne peut être prolongé car le numéro est expiré
NO_BALANCE - fonds insuffisants
CHANNELS_LIMIT - compte bloqué
* cette méthode est uniquement disponible en location auprès de l'opérateur MTT.
Paramètres :
$api_clé - Clé API
$id - pièce d'identité loyer
$rent_time - temps de location
RÉPONDRE:
La réponse du service sera au format json :
{ "statut": "succès", "prix": 6.33 }
ERREURS POSSIBLES :
MAUVAIS_KEY - clé API invalide
BAD_ACTION - action incorrecte
SERVEUR_ERREUR - erreur du serveur
Réponse au format json :
{ "status": "erreur", "message": "*possible_answer*" }
Réponses possibles sur le terrain "message":
NO_ID_RENT - il n'y a pas de numéro de loyer
INVALID_PHONE - ID de loyer incorrect
INVALID_TIME - réglage de l'heure incorrect
RENT_DIE - le loyer ne peut être prolongé car le numéro est expiré
MAX_HOURS_EXCEED - Le temps maximum disponible a été dépassé
maximum - temps maximum disponible
CHANNELS_LIMIT - compte bloqué
API JAVA
Inclure la bibliothèque dans maven
<artifactId>SMSActivateApi</artifactId>
<version>1.0</version>
</dépendance>
Vous pouvez voir un exemple d'inscription par lien vers MavenRepository
Importez la classe principale pour interagir avec l'API SMS-Activate.
Pour utiliser la bibliothèque, vous avez besoin d'une clé API, vous pouvez l'obtenir sur cette page et sur le lien ci-dessous.
Clé API d'activation par SMSPour obtenir le solde actuel de votre compte, utilisez la méthode obtenir le solde... Si vous êtes intéressé par un cashback en plus du solde, alors appelez la méthode getBalanceAndCashBack.
Méthode getBalanceAndCashBack renvoie un objet de classeSMSActivateGetBalanceAndCashBack.
Paramètres :
AUCUN
TYPE DE RETOUR :
GrandDécimal
Paramètres :
AUCUN
TYPE DE RETOUR :
Paramètres :
countryId (entier) - identifiant du pays.
service(Chaîne) - le nom court du service.
avancer*(booléen) -si demander un numéro avec renvoi d'appel.
opérateurSet*(Set) - ensemble d'opérateurs.
phoneException*(Ensemble) - hors préfixes uniquement pour la Russie, un ensemble de chiffres de 3 à 6 (7918,7900111).
*boîte en option. Si rien n'est précisé, la quantité par défaut sera donnée selon le paramétrage dans le profil.
TYPE DE RETOUR :
Paramètres :
countryId (entier) - identifiant du pays.
opérateurSet*(Set) - ensemble d'opérateurs disponibles pour le service
TYPE DE RETOUR :
Paramètres :
identifiant (entier) - identifiant d'activation
service(Chaîne) - le nom court du service.
Au lieu de l'identifiant d'activation, vous pouvez transmettre l'objet de classe reçu SMSActivateActivation après avoir utilisé la méthode obtenirNuméro ou une des activations après utilisation obtenirMultiServiceNumber.
TYPE DE RETOUR :
Paramètres :
countryId (entier) - identifiant du pays.
serviceMap(Ensemble) - ensemble de services pour lesquels l'activation est achetée
multiForwardList(Liste) - liste des services avec renvoi d'appel disponibles
opérateurSet(Set) - ensemble d'opérateurs.
TYPE DE RETOUR :
Paramètres :
AUCUN
TYPE DE RETOUR :
Paramètres :
countryId (entier) - identifiant du pays.
service(Chaîne) - le nom court du service.
TYPE DE RETOUR :
Paramètres :
countryId (entier) - identifiant du pays.
TYPE DE RETOUR :
Paramètres :
ID d'activation (entier) - identifiant d'activation
Au lieu de l'identifiant d'activation, vous pouvez transmettre l'objet de classe reçu SMSActivateActivation après avoir utilisé la méthode obtenirNuméro ou une des activations après utilisation obtenirMultiServiceNumber.
TYPE DE RETOUR :
Paramètres :
identifiant (entier) - identifiant d'activation
statut (SMSActivateClientStatus) - le statut à définir pour l'activation
Au lieu de l'identifiant d'activation, vous pouvez transmettre l'objet de classe reçu SMSActivateActivation après avoir utilisé la méthode obtenirNuméro ou une des activations après utilisation obtenirMultiServiceNumber.
TYPE DE RETOUR :
Paramètres :
AUCUN
TYPE DE RETOUR :
Paramètres :
ID d'activation (entier) - identifiant d'activation
Au lieu de l'identifiant d'activation, vous pouvez transmettre l'objet de classe reçu SMSActivateActivation après avoir utilisé la méthode obtenirNuméro ou une des activations après utilisation obtenirMultiServiceNumber.
TYPE DE RETOUR :
Algorithme de réception du texte intégral des SMS avec activation
En obtenant un numéro à l'aide de la méthode getNumber, les actions suivantes sont alors disponibles :
ANNULER - 8 - Annuler l'activation (si le numéro ne vous correspond pas)
MESSAGE_WAS_SENT - Informer que le SMS a été envoyé (Obligatoire pour recevoir le texte intégral du sms)
Après le paramétrage obligatoire du statut MESSAGE_WAS_SENT, définissez la variable pour recevoir des SMS à l'aide de la méthode waitSMS avec les paramètres d'activation et le temps d'attente du SMS.
Après avoir reçu le SMS, vous pouvez l'obtenir en utilisant la méthode getFullSMS puis afficher le texte intégral en utilisant la méthode getText() getText()
Après cela, vous pouvez définir les activations sur les statuts suivants :
Pour activer avec le statut MESSAGE_WAS_SENT :
ANNULER - Annuler l'activation
Immédiatement après avoir reçu le code :
REQUEST_ONE_MORE_CODE - Demander un autre SMS
TERMINER - Confirmez le code SMS et terminez l'activation
Pour activer avec le statut REQUEST_ONE_MORE_CODE :
TERMINER - Confirmez le code SMS et terminez l'activation
Paramètres :
countryId (entier) - identifiant du pays.
service(Chaîne) - le nom court du service.
heures (entier)* - durée de location
opérateur (Chaîne)* - nom de l'opérateur mobile
urlWebhook (Chaîne)* - lien pour le webhook (Non pris en compte par défaut)
Qu’est-ce que webHook ?* paramètre facultatif. S’il n’est pas spécifié, la valeur par défaut sera
TYPE DE RETOUR :
Paramètres :
countryId (entier) - identifiant du pays.
opérateurSet(Set) - ensemble d'opérateurs mobiles
heures (entier)* - durée de location
* paramètre facultatif. S’il n’est pas spécifié, la valeur par défaut sera
TYPE DE RETOUR :
Paramètres :
ID de location (entier) - identifiant du numéro loué
Au lieu de rentId, vous pouvez transmettre l'objet de classe résultant SMSActivateRentActivation après avoir utilisé la méthode obtenir le numéro de loyer
TYPE DE RETOUR :
API de messagerie
Description des statuts de l'API
3 - Attendre
4 - Annuler
5 - Succès
DESCRIPTION:
Respect plus strict des principes de l'API REST et augmentation du nombre de boîtes aux lettres gmail.com pour l'enregistrement des comptes Telegram.
Paramètres :
$api_clé - Clé API
$site- Le site pour lequel vous avez besoin d'un email
RÉPONDRE:
La réponse du service sera au format json, exemple :
{
"status":"OK",
"response":{
"zones":[
{
"name":"info",
"cost":2.5
},
...
],
"popular":[
{
"name":"mail.ru",
"cost":6,
"count":159008
},
...
]
}
}
ERREURS POSSIBLES :
MAUVAIS_SITE- Le site n'est pas précisé
MAUVAIS_KEY - clé API invalide
BAD_ACTION - action incorrecte
Paramètres :
$api_clé - Clé API
$site - le site pour lequel vous avez besoin d'un email
$mail_type - type de courrier : domaines ou zones populaires (1 - zones 2 - populaires)
$mail_domaine - zone ou domaine choisi
RÉPONDRE:
La réponse du service sera au format json, exemple :
{
"status":"OK",
"response":{"email":"[email protected]","id":241}
}
ERREURS POSSIBLES :
MAUVAIS_KEY - clé API invalide
BAD_ACTION - action incorrecte
MAIL_TYPE_ERROR - il n'existe pas de domaine de ce type pour le site spécifié
CHANNELS_LIMIT - compte bloqué
Paramètres :
$api_clé - Clé API
$id- Identifiant du mail pour lequel la réactivation est requise
RÉPONDRE:
La réponse du service sera au format json, exemple :
{
"status": "OK",
"response": {
"email": "[email protected]",
"id": 360
}
}
ERREURS POSSIBLES :
MAUVAIS_KEY - clé API invalide
BAD_ACTION - action incorrecte
BLOCKED_SITE - site bloqué
BAD_BALANCE - fonds insuffisants
ACTIVATION_NOT_FOUND - l'activation introuvable
CHANNELS_LIMIT - compte bloqué
Paramètres :
$api_clé - Clé API
$page- numéro de page
$par_page- nombre d'achats sur chaque page
$recherche- barre de recherche
$trier- sens de tri. (descente, ascendante)
RÉPONDRE:
La réponse du service sera au format json, exemple :
{
"status":"OK",
"response":{
"list":[
{
"id":"241",
"site":"apple.com",
"email":"[email protected]",
"status":"3",
"value":null,
"cost":"6.00",
"date":"2023-10-06 14:24:13",
"full_message":""
}
],
"pages":1,
"count":1
}
}
Paramètres :
$api_clé - Clé API
$id- identifiant d'achat
RÉPONDRE:
La réponse du service sera au format json, exemple :
{
"status":"OK",
"response":true
}
ERREURS POSSIBLES :
EARLY_CANCEL_DENIED - Vous ne pouvez pas annuler le courrier pendant les 2 premières minutes.
Paramètres :
$api_clé - Clé API
$id- identifiant de l'email acheté, il est renvoyé après un achat par email
RÉPONDRE:
La réponse du service sera au format json, exemple :
{
"status":"OK",
"response":{
"value":"Содержания письма"
}
}
Logiciel partenaire API
Paramètres :
$api_clé - Clé API
$id- Identifiant du logiciel que vous devez acheter
RÉPONDRE:
La réponse du service sera au format json, exemple :
{
"status": "success",
"key": "F5qrzFoY6afj3zrEq7SeMplbx",
"manual": "Software download link:"
}
ERREURS POSSIBLES :
BAD_DATA - Une pièce d'identité incorrecte ou une pièce d'identité n'est pas un numéro
BAD_ACTION - action invalide ou le revendeur n'est pas vérifié.
<?php
include_once ("smsactivateApi.php");//Inclusion of a class in a project
$sms = new SMSActivate($API_KEY);//Create class instance SMSActivate
$freeSlots = $sms->getNumbersStatus(0, 'tele2');//Get the number of available numbers for the country of Russia and the tele2 operator
echo "Номеров Вконтакте: " . $freeSlots['vk']."\n";//Show for Vk
echo "Номеров Whatsapp: " . $freeSlots['wa']."\n";//Show for whatsapp
var_dump($freeSlots); //Show all services with quantity
$array=$activate->getTopCountriesByService(); //Get an array whose elements contain information for each country
$balance = $sms->getBalance();//Get balance
echo "On the account " . $balance." rub.\n";//Show balance
$balance = $sms->getBalanceAndCashBack();//Request a balance with cashback account
echo "On the account " . $balance." rub.\n";//Request a balance with cashback account
$operators = $sms->getOperators();
//Get operators for all countries
if (in_array('mts', $operators['countryOperators'][0])) {
//check if 'mts' is available for Russia
//perform an action
}
if (in_array('chinamobile', $operators['countryOperators'][3])) {
//check if 'chinamobile' is available for China
//perform an action
}
$activations = $sms->getActiveActivations();
$number = $sms->getNumber('ok',0, 0, 'tele2');//Get Odnoklassniki number without forwarding
echo "Activation № " . $number['id']. "Phone ". $number['number'] \n";//Show id and activation number
$result = $sms->getNumber('vk', 0 , 1);
if (!is_array($result)) {
echo 'Ошибка: ' . $result . '\n';//If an error occurs, a string will be returned, if successful, an array will be returned.
} else {
echo 'Id: ' . $result['id'] ."\n";
echo 'Номер: ' . $result['number'] ."\n";
}
$result = $sms->getNumberV2('vk', 0 , 1);
$number = $sms->getMultiServiceNumber('ok,vk,vi,av','0,0,0,1', 0, 'tele2');//Get a number for services Odnoklassniki, Vkontakte, Viber without call forwarding and Avito with call forwarding
foreach ($number as $value) {
echo "Activation № " . $value['activation']. " for service ". $value['service'] ."\n";
}
echo "Number " . $value['phone'] ."\n";//Show activation id and number
$status = $sms->setStatus($number['id'], 3);//Change activation status by id (get 1 more code)
$status = $sms->getStatus($number['id']);//Get activation status by id
if (is_array($status) {
echo "статус : " . $status['status'];//Can be STATUS_OK or STATUS_WAIT_RETRY, otherwise a line with error text will be returned
echo "код: " . $status['code'];
} else {
echo $status ."\n";
}
$incomingCall = $sms->getIncomingCallStatus($id);//Get activation data by call
echo $incomingCall['phone'] //Show incoming number
$prices = $sms->getPrices(1, 'vk');//Get the current price for the service
echo "Price for VK (Ukraine) : " .$prices[1]['vk']['cost']." rub. quantity: ". $prices[1]['vk']['count'];//Show the result
$countries = $sms->getCountries();//Get a list of all countries
$additional = $sms->getAdditionalService('fx', $id);//Get additional activation for PGbonus service based on id activation
echo "Activation no.: " . $additional[id] . " Telephone: " . $additional[number];//Show the result
$getAvailableRentNumbers = $sms->getRentServicesAndCountries('2');//Request available countries for rent and services (for 2 hours for all operators)
echo "Full rental - Cost:" . $getAvailableRentNumbers['services']['full']['cost'] . " Quant :" .$getAvailableRentNumbers['services']['full']['quant'] ." \n"; //Display full price information
foreach( $getAvailableRentNumbers['operators'] as $value) {
echo " Operator " . $value ."\n"; }//List operators
$getRentNumber = $sms->getRentNumber('vk','10','0','yota');//Get a number for rent for Vkontakte for 10 hours, operator 'Yota', country - Russia
if ($getRentNumber['status'] === 'success'){
echo "The rental was successful! Your phone number is: " . $getRentNumber['phone']['number']." \nRent expiration : ". $getRentNumber['phone']['endDate']." \nId numbers :" .$getRentNumber['phone']['id'] ; }//Display rental information
else
echo "Error code : " . $getRentNumber['message'];
$getRentStatus = $sms->getRentStatus($getRentNumber['phone']['id']);//Get the rent status with id from the received number
if ($getRentStatus['status'] == 'success'){
foreach( $getRentStatus['values']as $index => $value) {
echo " Message " . $index .": from the number - " . $value['phoneFrom'] . " Service - " . $value ['service'] . "message text - " . $value['text'] . "Date - " . $value['date']; } }//display a list of messages received while renting a phone
else
echo "Error code : " . $getRentStatus['message'];
$setRentStatus = $sms->setRentStatus($getRentNumber['phone']['id'],1);//Set rental status 'finish' with id from received number
if ($setRentStatus['status'] == 'success')
echo " Status change was successful! ";
else
echo "Error code : " . $setRentStatus['message'];
$getRentList = $sms->getRentList();//Get a list of currently rented numbers
if (getRentList['status'] == 'success')
foreach( $getRentList['values'] as $value) {
echo " ID " . $value["id"] . " Number " . $value["phone"] ."\n"; }//List numbers
else
echo "Error code : " . $getRentList['message'];
$result = $sms->continueRentNumber($id);//Extend the lease of activation id for 4 hours (by default)
if ($result['status'] == 'success') {
echo "Number: " . $result['phone']['number']"//Display number
echo "id: " . $result['phone']['id']"//Display activation id
echo "The lease is valid until: " . $result['phone']['endDate']"//Display the date and time of the end of the lease
} else {
echo "Error code : " . $result['msg'];
}
$result = $sms->getContinueRentPriceNumber($id, 12);//Get the cost of renewing the lease to activate the id for 12 hours
if ($result['status'] == 'success') {
echo " Renewal cost " . $result['price'];//Withdraw the cost
} else {
echo "Error code: " . $result['message']; //Display error code
}
from smsactivate.api import SMSActivateAPI
# SMSActivateAPI Contains all basic tools for working with the SMSActivate API
sa = SMSActivateAPI(API_KEY)
sa.debug_mode = True
# Used for debugging. When debug_mode is active, all responses from the server and class will be output to the console
print(sa.version())
# Returns the current version of the library
status = sa.getNumbersStatus(country=0, operator='tele2')
try:
print(status['vk_0']) # 274789
except:
print(status['message']) # Error text
result = sa.getTopCountriesByService('vk')
try:
print(result[0]['count']) # 2350
except:
print(result['message']) # Error text
balance = sa.getBalance() # {'balance': '100.00'}
try:
print(balance['balance']) # 100.00
except:
print(balance['message']) # Error text
balance = sa.getBalanceAndCashBack() # {'balance': '100.00'}
try:
print(balance['balance']) # 100.00
except:
print(balance['message']) # Error text
operators = sa.getOperators(country=0)
try:
print(operators['countryOperators']['0'])
except:
print(operators['error']) # Error status
activations = sa.getActiveActivations()
try:
print(activations['activeActivations'])
except:
print(activations['error']) # Error status
number = sa.getNumber(service='vk', operator='tele2', country=0, verification="true") # {'activation_id': 000000000, 'phone': 79999999999}
try:
print(number['phone']) # 79999999999
except:
print(number['message']) # Error text
number = sa.getNumberV2(service='vk', country=0)
try:
print(number['phoneNumber']) # 79999999999
except:
print(number['message']) # Error text
multinumber = sa.getMultiServiceNumber(service='fb,ig', operator='tele2', country=0) # [{'phone': '79999999999', 'activation': 000000000, 'service': 'fb'}, {'phone': '79999999999', 'activation': 000000001, 'service': 'ig'}]
try:
print(multinumber[0]['phone']) # 79999999999
except:
print(multinumber['message']) # Error text
status = sa.setStatus(id=000000000, status=1) # ACCESS_READY
try:
print(status) # ACCESS_READY
except:
print(status['message']) # Error text
status = sa.getStatus(id=000000000) # STATUS_WAIT_CODE
try:
print(sa.activationStatus(status)) # {'status': 'STATUS_WAIT_CODE', 'message': 'Ожидание смс'}
except:
print(status['message']) # Error text
status = sa.getIncomingCallStatus(id=000000000)
try:
print(status['status']) # 2
except:
print(status['message']) # Error text
prices = sa.getPrices(service='fb', country=0)
try:
print(prices['0']) # {'fb': {'cost': 9, 'count': 27934}}
except:
print(prices['message']) # Error text
countries = sa.getCountries()
try:
print(countries['0']['eng']) # Russia
except:
print(countries['message']) # Error text
service = sa.getAdditionalService(id=000000000, service='ig')
try:
print(service['phone']) # 79999999999
except:
print(service['message']) # Error text
service = sa.getRentServicesAndCountries(time=4, operator='tele2', country=0)
try:
print(service['services']['full']['cost']) # 100.00
except:
print(service['message']) # Error text
rent = sa.getRentNumber(service='ig', time=4, operator='tele2', country=0)
try:
print(rent['phone']['number']) # 79999999999
except:
print(rent['message']) # Error text
status = sa.getRentStatus(000000000)
try:
print(status['values']['0']['text']) # SMS
except:
print(status['message']) # Error text
status = sa.setRentStatus(id=000000000, status=1)
try:
print(status['status']) # success
except:
print(status['message']) # Error text
rent = sa.getRentList()
try:
print(rent['values']['0']['phone']) # 79999999999
except:
print(rent['message']) # Error text
rent = sa.continueRentNumber(id=000000000, time=4)
try:
print(rent['phone']['number']) # 79999999999
except:
print(rent['message']) # Error text
rent = sa.getContinueRentPriceNumber(000000000)
try:
print(status['price']) # 4.00
except:
print(status['message']) # Error text
import ru.sms_activate.SMSActivateApi;//Inclusion of a class in a project
SMSActivateApi smsActivateApi = new SMSActivate("API_KEY");//Create an instance of the SMSActivate class
BigDecimal balance = smsActivateApi.getBalance();//Get the current account balance
System.out.println("Balance: "+ balance)//Withdraw the received balance
SMSActivateGetBalanceAndCashbackResponse smsActivateGetBalanceAndCashbackResponse = smsActivateApi.getBalanceAndCashback();//Get current balance and cashback
System.out.println("Cashback + balance: "+ smsActivateGetBalanceAndCashbackResponse.getBalanceAndCashback());//Withdraw the amount of balance and cashback
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Get activation for the Vkontakte service in Russia
System.out.println(activation);//Withdraw the received activation
SMSActivateGetNumbersStatusResponse smsActivateGetNumbersStatusResponse= smsActivateApi.getNumberStatus(0,null);//Get information about available services for Russia
SMSActivateServiceInfo go = smsActivateGetNumbersStatusResponse.getSMSActivateServiceInfoByShortName("go");//Getting information about numbers for the Google service
System.out.println("Short name service: " + go.getShortName();//Get the short name of the service
System.out.println("count phone numbers: "+ go.getCountPhoneNumber();//Get the number of numbers for the service
System.out.println(""Forwarding is available: "+ go.isForward() ? "yes" : "no"//Find out if the service has a redirect
SMSActivateActivation activation=smsActivateApi.getNumbersStatus(0,"ot",true);//Activations
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Setting the MESSAGE_WAS_SENT status after sending SMS for the number
SMSActivateActivation childActivation =smsActivateApi.getAdditionalService(activation,"av");//Requesting a new activation for an additional service
System.out.println(childActivation);//Displaying information about additional activation
Set<String>operatorSet= new HashSet<>();
operatorSet.add("mts");//Adding an MTS operator to the set of operators
Map<String,Boolean>serviceMap= new HashMap<>();
serviceMap.put("av",false);//Adding the Avito service to the list of services (specify true if you need a service with redirection)
SMSActivateGetMultiServiceNumberResponse multiServiceNumberResponse=smsActivateApi.getMultiServiceNumber(0, serviceMap, operatorSet);//Getting activation for multiple services
multiServiceNumberResponse.getSMSActivateActivationList().forEach(activation->{
System.out.println("Id: " + activation.getId());
System.out.println("Number: " + activation.getNumber());
System.out.println("Service name: " + activation.getShortName());
}
//Displaying information about received activations
SMSActivateGetPricesResponse smsActivateGetPricesResponse=smsActivateApi.getPricesByCountryIdAndServiceShortName(0, "vk");//Obtaining a list of prices for Russia on the Vkontakte service. For a complete list of prices, use the getAllPrices () method;
SMSActivateGetPriceInfo vk=smsActivateGetPricesResponse.getPriceInfo(0, "vk");//Getting information about the Vkontakte service for Russia
System.out.println(">>> Cost: "+ vk.getCost());//Get a price for the service
System.out.println(">>> count phone numbers: " + vk.getCountPhoneNumbers());//Get the number of numbers for the service
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Get activation for the Vkontakte service in Russia
System.out.println(activation);//Withdraw the received activation
SMSActivateGetStatusResponse getResponse = smsActivateApi.getStatus(activation);//Getting a status for activation
System.out.println(getResponse.getSMSActivateGetStatus());//Displaying information about the activation status
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Setting the MESSAGE_WAS_SENT status after receiving SMS for the number
smsActivateApi.setStatus(activation, SMSActivateClientStatus.FINISH);//Setting the FINISH status after receiving SMS for the number
SMSActivateGetCountriesResponse smsActivateGetCountriesResponse =smsActivateApi.getCountries();//Getting a list of countries with information
SMSActivateCountryInfo countryInfo = smsActivateGetCountriesResponse.get(0)//Getting information about the first country on the list
System.out.println("Russian name: "+countryInfo.getRussianName();//Display the Russian name of the country
System.out.println("English name: "+countryInfo.getEnglishName();//Display the Russian name of the country
System.out.println("Support multi-service: "+ countryInfo.isSupportMultiService() ? "yes" : "no"//Show if the country supports multi-services
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Get activation for the Vkontakte service in Russia
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Setting the MESSAGE_WAS_SENT status after sending SMS for the number
String code=smsActivateApi.waitSms(activation,2)//Set receiving sms within 2 minutes
if(code == null) {
smsActivateApi.setStatus(activation, SMSActivateClientStatus.CANCEL);//Setting the CANCEL status if sms has not arrived
}
else{
SMSActivateGetFullSmsResponse smsActivateGetFullSmsResponse=smsActivateApi.getFullSms(activation)//Receiving sms text
System.out.println("Full SMS: "+smsActivateGetFullSmsResponse.getText());//SMS text output
}
SMSActivateRentActivation rentActivation= smsActivateApi.getRentNumber(0, "vk", 6);//Getting a number with rent
System.out.println(">> ID: "+rentActivation.getId());//Activation ID withdrawal
System.out.println(">> Number: "+rentActivation.getId());//Displaying the activation number
System.out.println(">> End date: "+rentActivation.getId());//Displaying the activation expiration date
SMSActivateGetRentServicesAndCountriesResponse smsActivateGetRentServicesAndCountriesResponse= smsActivateApi.getRentServicesAndCountries(0, null, 4);//Obtaining information on services and countries that support rental
smsActivateGetRentServicesAndCountriesResponse.getAllRentServices().forEach((serviceShortName, smsActivateRentService)->{
System.out.println("Service shortname: " + serviceShortName);
System.out.println(" count phone numbers: " + smsActivateRentService.getCountPhoneNumbers());
System.out.println(">> Cost: " + smsActivateRentService.getCost());
}
//Displaying information about received services
SMSActivateRentActivation rentActivation= smsActivateApi.getRentNumber(0, "vk");//Getting a number with rent
SMSActivateGetRentStatusResponse smsActivateGetRentStatusResponse= smsActivateApi.getRentStatus(rentActivation);//Getting activation status
System.out.println(">> Count sms: "+ smsActivateGetRentStatusResponse.getCountSms());//Displaying the number of sms on the rented number