The partner protocol is designed to provide phone numbers and incoming SMS messages via API directly to the Grizzly SMS server.
All requests include the parameter — KEY. This key is provided by support staff and is available in the personal account.
Quantity requests GET_SERVICES, number requests GET_NUMBER and activation completion requests FINISH_ACTIVATION are sent directly from our server to the partner's server.
URL format : https://GrizzlySMS where GrizzlySMS can be partner.ru:port/GrizzlySMS.php
or partner.ru/GrizzlySMS.php
The Grizzly SMS server sends a request for quantity of phone numbers using the GET_SERVICES method approximately every 10-20 seconds.
If you provide a count > 0 in response, you will receive a request for phone number issuance using the GET_NUMBER method.
After receiving the GET_NUMBER request, you are required to provide a
phone number that meets all criteria and forward all incoming SMS messages to us using the PUSH_SMS method. This is necessary for us to perform clear and objective filtering and deliver the relevant SMS messages to the right service for our clients.
Upon completing all necessary tasks related to the phone numbers, you will receive a status 3 through the FINISH_ACTIVATION method. This status indicates that the phone number was successfully registered, and you have been rewarded for it.
Requirements:
Field types:
This request provides us with information about the quantity of phone number for services available for sale.
The POST request is transmitted from the Grizzly SMS server to the partner's server.
! Please note: If your GSM modem is limited in the number of concurrently active modules, you should provide a count equal to the number of active modules.
Field | Type | Required | Description |
action | String |
|
GET_SERVICES |
key | String |
|
Protocol key |
Field | Type | Required | Desciption |
status | String |
|
Status of the response (см. Status Table) |
countryList | Array of CountryList |
|
List of countries |
Field | Type | Required | Description |
country | String |
|
(see Data Table) |
operatorMap* | Associative array |
|
Key - operator (see Data Table), value - associative array of services** |
* You should not send empty data arrays in the operatorMap
** Associative array of services: Key - a brief service name (see Data Table), value - the quantity of phone numbers available for the service (type: int)
{
"action": "GET_SERVICES",
"key": "qwerty123"
}
{
"countryList":
[
{
"country": "russia",
"operatorMap":
{
"any":
{
"vk": 3,
"ok": 10
}
}
},
{
"country": "ukraine",
"operatorMap":
{
"any":
{
"vk": 0,
"wa": 32
}
}
}
],
"status": "SUCCESS"
}
This request provides us with a phone number that we pass on to the client.
The POST request is transmitted from the Grizzly SMS server to the partner's server.
If the exceptionPhoneSet array contains a list of prefixes, for example 44742 and 44740, you should not provide a number that starts with any of these prefixes. The number of digits is not limited by the size of the prefix.
Field | Type | Required | Desctiption |
action | String |
|
GET_NUMBER |
key | String |
|
Protocol key |
country | String |
|
see Data Table |
service | String |
|
see Data Table |
operator | String |
|
see Data Table |
sum | Cur |
|
The amount you will receive for a successfully registered service |
exceptionPhoneSet |
Array of String |
|
List of prefixes that are PROHIBITED to give when requesting a phone number |
Field | Type | Required | Description |
status | String |
|
(see Status Table) |
number | Ulong |
|
Phone number with country code |
activationId | Ulong |
|
Activation ID in the partner's system |
flashcall | Boolean | TRUE if support PUSH_CALL | |
voice | Boolean | TRUE if support PUSH_CALL_RECORD |
{
"action": "GET_NUMBER",
"key": "qwerty123",
"country": "russia",
"operator": "any",
"service": "tg",
"sum": 20.00,
}
{
"action": "GET_NUMBER",
"key": "qwerty123",
"country": "russia",
"operator": "any",
"service": "vk",
"sum": 10,
"exceptionPhoneSet": [
"7918",
"79281"
]
}
{
"status": "SUCCESS",
"number": 79157891133,
"activationId": 571346,
"flashcall": true,
"voice": false
}
{
"status": "NO_NUMBERS"
}
This POST request is sent from the partner's server to the Grizzly SMS server at the address: https://api.grizzlysms.com/agent/api/sms
If you receive a response with the status "SUCCESS," mark the SMS as successfully delivered in your database and do not send it again. If a status other than "SUCCESS" is returned, repeat the request with a 10-second delay until you receive a "SUCCESS" status.
Field | Type | Required | Description |
action | String |
|
PUSH_SMS |
key | String |
|
Protocol key |
smsId | Ulong |
|
ID of the SMS in the partner's system |
phone | Ulong |
|
Phone number (including the county code) to which the SMS was sent |
phoneFrom | String |
|
The sender's name (may be either alphanumeric or numeric) which sent the SMS |
Text | String |
|
SMS text |
Field | Type | Required | Description |
status |
String |
|
(see Status Table) |
{
"action": "PUSH_SMS",
"key": "qwerty123",
"smsID": 1
"phone": 447472190082
"phoneFrom": "Microsoft",
"text": "Microsoft access code: 5015"
}
{
"status": "SUCCESS"
}
This request is transmitted from the Grizzly SMS server to the partner's server to complete activation.
POST request initiated from the Grizzly SMS server to the partner's server.
Activation management is fully controlled by Grizzly SMS. Due to factors beyond our control, we may not receive a response from you regarding a successful status change. Therefore, if Grizzly SMS sends a repeat activation completion request, you should check for the existence of the activation ID on your end. If the activation exists, send a status of SUCCESS in response.
Field | Type | Required | Desciption |
action | String |
|
FINISH_ACTIVATION |
key | String |
|
Protocol key |
activationId | Ulong |
|
Activation ID obtained in the second request |
status | Ulong |
|
See Status Table |
Answer fields | |||
Field | Type | Required | Desctiption |
status |
String |
|
See Status Table |
{
"action": "FINISH_ACTIVATION",
"key": "qwerty123",
"smsId": 100,
"status": 3
}
{
"status": "SUCCESS"
}
This POST request is sent from the partner's server to the Grizzly SMS server at the address: https://api.grizzlysms.com/agent/api/sms
If you receive a response with the status "SUCCESS," mark the SMS as successfully delivered in your database and do not send it again. If a status other than "SUCCESS" is returned, repeat the request with a 10-second delay until you receive a "SUCCESS" status.
Content-Type: multipart/form-data
Field | Type | Required | Description |
action | String |
|
PUSH_CALL_RECORD |
key | String |
|
Protocol key |
callId | Ulong |
|
ID of the call in the partner's system |
phone | Ulong |
|
Phone number (including the county code) |
phoneFrom | String |
|
The caller's phone |
text | String | required if 'file' is empty | text of record |
file | Binary | reuired if 'text' is empty | file wav, amr, mp3, ogg |
Field | Type | Required | Description |
status |
String |
|
(see Status Table) |
{
"action": "PUSH_CALL_RECORD",
"key": "qwerty123",
"recordID": 1
"phone": 447472190082
"phoneFrom": "443355667788",
"text": "Microsoft access code: 5015"
}
{
"status": "SUCCESS"
}
This POST request is sent from the partner's server to the Grizzly SMS server at the address: https://api.grizzlysms.com/agent/api/sms
If you receive a response with the status "SUCCESS," mark the SMS as successfully delivered in your database and do not send it again. If a status other than "SUCCESS" is returned, repeat the request with a 10-second delay until you receive a "SUCCESS" status.
Field | Type | Required | Description |
action | String |
|
PUSH_CALL |
key | String |
|
Protocol key |
callId | Ulong |
|
ID of the call in the partner's system |
phone | Ulong |
|
Phone number (including the county code) |
phoneFrom | String |
|
The caller's phone |
Field | Type | Required | Description |
status |
String |
|
(see Status Table) |
{
"action": "PUSH_CALL",
"key": "qwerty123",
"callID": 1
"phone": 447472190082,
"phoneFrom": "447472190099"
}
{
"status": "SUCCESS"
}
Status | Description |
SUCCESS | The request was finished successfully |
ERROR | Error during request execution. The ERROR field should be filled with a description |
NO_NUMBERS | No numbers are available. This response is only returned for a number request |
Activation Status | |
Status | Desctiption |
1 |
Issuing a number for this service is prohibited |
3 | Activation was successfully sold. You have received a reward |
4 | Activation was canceled* |
5 | Activation has been returned. The customer has been refunded for the activation. It's possible that this number was previously registered, and two-factor authentication may be enabled on the number |
**The mechanism for cancellation works as follows: If a phone number has been canceled 5 times, you should not issue the same number again. It's possible that the number was not suitable for the client or was already registered for the specific service.
{
"status": "SUCCESS",
//information
}
{
"status": "ERROR",
"error": "Description of the error"
}
Simultaneous Number Issuance. You should handle simultaneous requests properly and not issue numbers repeatedly. For example, if you have 100 numbers for Telegram Indonesia, and Grizzly SMS simultaneously makes 100 requests for Telegram United Kingdom, the partner server should provide 100 unique numbers. If a number is issued multiple times, the test fails.
Crrect Activation Completion. The change in activation status is fully controlled by Grizzly SMS. The partner server should not autonomously complete activations.
SMS Delivery Verification. Once you receive an SMS, you must immediately forward it to the Grizzly SMS server. If you receive a status of SUCCESS, you should not forward the SMS again. However, if you receive a different status, you should retry the request every 10-20 seconds. If an SMS is issued again after receiving a SUCCESS status, the test fails.
Field Type Verification. Thoroughly check the field types specified in this documentation. If this condition is violated, the testing fails.
Country Code in Phone Number. Phone number issuance should be in digital format and include the country code.
Number Issuance Time Verification. You must issue numbers with a delay of less than 3 seconds. If it takes more than 3 seconds, the testing fails.
Number Quantity Verification. If you issue 1000 numbers in a request for quantity of numbers, but only 100 are issued at the same time, then testing has failed.
Exception Handling Verification. If you incorrectly handle exceptions for issuing a number, then testing has failed.
Lists | Links |
List of countries | The full list of countries with names and IDs can be found at the link https://grizzlysms.com/docs |
List of operators | At the moment, the breakdown by operators is under development, so you should pass the value 'any'. Once this functionality is implemented, we will notify you through the technical support chat. |
List of services | The full list of services with names and IDs can be found at the link https://grizzlysms.com/docs |
This API is aimed at automatization of work with the sliders on your side (services’ prices).
API can be found by this address https://apiagent.7grizzlysms.com.
For authentication in requests you need to send your API-key in the HTTP-header apikey
.
All data is transmitted in the JSON format.
As for GET requests, it is necessary to send HTTP-header Accept: application/json
, as for POST request - Accept: application/json
and Content-Type: application/json
.
Available values of the country
parameter are located in Country list in the columns ID and Countries, so, you can use both 0
, and russia
.
Available values of the service parameter are located in List of services in the column ID.
Withdrawal founds. Withdrawal of earned funds is carried out by requests. A partner can create a request in the Withdrawal section. Withdrawal of earnings from 100 USDT is available for one transaction. Requests are processed daily from 8:00 to 20:00 (UTC) within 20 to 180 minutes. If you are promised any bonus (according to the terms and conditions published on the website), please be sure to indicate it in the comments to the request.
Compensations for 2FA and Wrong code. Grizzly SMS platform, as an intermediary, compensates customers for Telegram numbers with 2FA and wrong codes in full. Grizzly SMS receives information on 2FA automatically from Telegram Expert and TG-GIANT software. Important: Funds for numbers with 2FA and wrong code (answer 'wrong code') and on Telegram accounts are not charged. You can see the information about 2FA or wronge_code in the Activation History.