API REST para compra automatizada de números virtuais para recebimento de SMS
Base URL: https://api.cotoxprovidersms.fun/api/v1
Preço por número: R$ 0,50
Timeout do número: 20 minutos
Cancelamento: Após 2 minutos da compra
Todas as requisições devem incluir o header de autenticação:
X-API-Key: sua_chave_api_aqui
Obtenha sua API Key no bot do Telegram em 🔌 API
curl -X GET "https://api.cotoxprovidersms.fun/api/v1/balance" \ -H "X-API-Key: sua_chave_api_aqui"
# pip install requests import requests response = requests.get( "https://api.cotoxprovidersms.fun/api/v1/balance", headers={"X-API-Key": "sua_chave_api_aqui"} ) print(response.json())
{
"success": true,
"balance": 15.50,
"currency": "BRL"
}
curl -X POST "https://api.cotoxprovidersms.fun/api/v1/purchase" \ -H "X-API-Key: sua_chave_api_aqui" \ -H "Content-Type: application/json" \ -d '{}'
import requests
response = requests.post(
"https://api.cotoxprovidersms.fun/api/v1/purchase",
headers={
"X-API-Key": "sua_chave_api_aqui",
"Content-Type": "application/json"
},
json={}
)
data = response.json()
print(f"Número: {data['number']}")
print(f"Order ID: {data['order_id']}")
{
"success": true,
"order_id": 12345,
"number": "+5511999998888",
"price": 0.50,
"expires_at": "2024-12-26T15:30:00Z"
}
{
"success": false,
"error": "insufficient_balance",
"message": "Saldo insuficiente. Necessário: R$ 0.50"
}
curl -X GET "https://api.cotoxprovidersms.fun/api/v1/order/12345" \ -H "X-API-Key: sua_chave_api_aqui"
import requests import time order_id = 12345 headers = {"X-API-Key": "sua_chave_api_aqui"} # Polling para aguardar SMS while True: response = requests.get( f"https://api.cotoxprovidersms.fun/api/v1/order/{order_id}", headers=headers ) data = response.json() if data["status"] == "completed": print(f"SMS: {data['sms']}") print(f"Código: {data['code']}") break print("Aguardando SMS...") time.sleep(5)
{
"success": true,
"order_id": 12345,
"number": "+5511999998888",
"status": "waiting",
"sms": null,
"code": null
}
{
"success": true,
"order_id": 12345,
"number": "+5511999998888",
"status": "completed",
"sms": "Seu código de verificação é: 123456",
"code": "123456"
}
curl -X POST "https://api.cotoxprovidersms.fun/api/v1/order/12345/cancel" \ -H "X-API-Key: sua_chave_api_aqui"
import requests
response = requests.post(
"https://api.cotoxprovidersms.fun/api/v1/order/12345/cancel",
headers={"X-API-Key": "sua_chave_api_aqui"}
)
print(response.json())
{
"success": true,
"message": "Pedido cancelado com sucesso",
"refunded": 0.50
}
{
"success": false,
"error": "too_early",
"message": "Aguarde 2 minutos para cancelar",
"wait_seconds": 85
}
curl -X POST "https://api.cotoxprovidersms.fun/api/v1/payment/create" \ -H "X-API-Key: sua_chave_api_aqui" \ -H "Content-Type: application/json" \ -d '{"amount": 10.00}'
import requests
response = requests.post(
"https://api.cotoxprovidersms.fun/api/v1/payment/create",
headers={
"X-API-Key": "sua_chave_api_aqui",
"Content-Type": "application/json"
},
json={"amount": 10.00}
)
data = response.json()
print(f"PIX Copia e Cola: {data['pix_code']}")
{
"success": true,
"payment_id": 67890,
"amount": 10.00,
"pix_code": "00020126580014br.gov.bcb.pix...",
"qr_code_base64": "data:image/png;base64,iVBORw0KGgo...",
"expires_at": "2024-12-26T15:40:00Z"
}
curl -X GET "https://api.cotoxprovidersms.fun/api/v1/payment/67890" \ -H "X-API-Key: sua_chave_api_aqui"
{
"success": true,
"payment_id": 67890,
"status": "pending",
"amount": 10.00
}
{
"success": true,
"payment_id": 67890,
"status": "approved",
"amount": 10.00,
"new_balance": 25.50
}
curl -X POST "https://api.cotoxprovidersms.fun/api/v1/payment/67890/cancel" \ -H "X-API-Key: sua_chave_api_aqui"
{
"success": true,
"message": "Pagamento cancelado com sucesso"
}
curl -X GET "https://api.cotoxprovidersms.fun/api/v1/health"
{
"status": "ok",
"version": "1.0.0"
}
import requests import time # Configuração API_KEY = "sua_chave_api_aqui" BASE_URL = "https://api.cotoxprovidersms.fun/api/v1" headers = {"X-API-Key": API_KEY} # 1. Verificar saldo r = requests.get(f"{BASE_URL}/balance", headers=headers) saldo = r.json()["balance"] print(f"Saldo: R$ {saldo}") # 2. Comprar número r = requests.post(f"{BASE_URL}/purchase", headers=headers, json={}) data = r.json() if not data["success"]: print(f"Erro: {data['message']}") exit() order_id = data["order_id"] numero = data["number"] print(f"Número: {numero}") # 3. Aguardar SMS (polling a cada 5 segundos) print("Aguardando SMS...") for _ in range(60): # Máximo 5 minutos r = requests.get(f"{BASE_URL}/order/{order_id}", headers=headers) data = r.json() if data["status"] == "completed": print(f"✅ SMS recebido!") print(f"Mensagem: {data['sms']}") print(f"Código: {data['code']}") break time.sleep(5) else: # Cancelar se não recebeu SMS r = requests.post(f"{BASE_URL}/order/{order_id}/cancel", headers=headers) print("❌ Timeout - pedido cancelado")