DaisySMS Alternative 2026: Migration Guide After Shutdown (No-Refund Recovery)
DaisySMS shut down on março 26, 2026 with no refund policy and no migration path. If you have unused balance or production code pointed at their API, this guide is the playbook to recover what you can and cut over to VerifySMS in under 30 minutes.
O que aconteceu com DaisySMS
DaisySMS encerrou o serviço em 26 de março de 2026 com um aviso estático de encerramento. O painel ficou somente leitura e, em seguida, offline. Os endpoints da API pararam de aceitar requisições em 48 horas. Não houve aviso prévio, nenhum caminho de migração e, crucialmente, nenhuma política de reembolso para saldo não utilizado na conta.
Este é o segundo grande encerramento de verificação por SMS em seis meses. SMS-Activate fechou em 29 de dezembro de 2025. DaisySMS seguiu três meses depois. O padrão está se tornando familiar: um operador de baixa margem enfrenta pressão de conformidade ou problemas com fornecedores upstream, o operador desliga, o cliente arca com a perda.
Como recuperar seu saldo não utilizado da DaisySMS
DaisySMS não possui um processo de reembolso voluntário. Seus três caminhos de recuperação, classificados por probabilidade de sucesso:
- Chargeback de cartão de crédito (60 dias do último pagamento): Entre em contato com a administradora do seu cartão. Cite "serviço não fornecido" ou "comerciante encerrou operações". Forneça capturas de tela do seu saldo DaisySMS e uma cópia do aviso de encerramento. As administradoras geralmente decidem a favor em 30-90 dias.
- Disputa no PayPal (180 dias do último pagamento): Abra uma disputa sob o motivo "item não recebido". Mesmas evidências acima. A mediação do PayPal geralmente se resolve em 10-21 dias.
- Pagamento em criptomoeda (últimos 60 dias): Irrecuperável por qualquer provedor. Reembolsos em criptomoedas exigem ação voluntária do comerciante. Documente a perda para fins de dedução fiscal.
Se você pagou mais de 60 dias antes de 26 de março de 2026, a janela de chargeback provavelmente se fechou e a recuperação é improvável. Documente a perda e siga em frente com a migração.
Comparativo de recursos DaisySMS vs VerifySMS
| Recurso | DaisySMS (anterior) | VerifySMS |
|---|---|---|
| Status | Encerrado em 26 de Mar de 2026 | Ativo, registrado no Reino Unido |
| Política de reembolso | Nenhuma (sem reembolso em caso de falha) | Reembolso automático em caso de falha (60 seg a 2 min) |
| Preço (inicial) | A partir de $0.05 | A partir de $0.10 |
| EUA não-VoIP | $0.40 | $0.25 |
| Cobertura de países | ~90 países | 200+ países |
| Estilo da API | handler_api.php | Compatível com handler_api.php + JSON nativo |
| Modo Sandbox | Nenhum | Sim (cabeçalho X-Sandbox-Mode) |
| Webhooks | Não | Sim (configurável no painel) |
| Aplicativo nativo para iOS | Não | Sim (App Store) |
| KYC exigido | Não | Não |
| Política de privacidade | Divulgação mínima | UK GDPR, divulgação completa |
| Pagamento em criptomoeda | Sim | Sim (NowPayments) |
| Idiomas suportados | Apenas EN | 15 totalmente traduzidos |
Migração de código: DaisySMS para VerifySMS em 5 minutos
A camada de compatibilidade significa que você muda apenas uma linha: a URL base.
Antes (DaisySMS)
BASE_URL = "https://daisysms.com/stubs/handler_api.php"
API_KEY = os.environ["DAISYSMS_API_KEY"]
response = requests.get(f"{BASE_URL}?api_key={API_KEY}&action=getNumber&service=wa&country=187")
# ACCESS_NUMBER:12345:+15551234567
Depois (VerifySMS)
BASE_URL = "https://api.verifysms.app/compat/handler_api.php"
API_KEY = os.environ["VERIFYSMS_API_KEY"]
response = requests.get(f"{BASE_URL}?api_key={API_KEY}&action=getNumber&service=wa&country=187")
# ACCESS_NUMBER:abc-uuid:+15551234567
Mesma string de consulta, mesmo formato de resposta. O ID do número muda de um inteiro numérico para uma string UUID, mas a maioria do código o trata como opaco de qualquer maneira.
Tabela de mapeamento de endpoints
| Ação DaisySMS | Compatibilidade VerifySMS | Observações |
|---|---|---|
getBalance | getBalance | Mesma resposta: ACCESS_BALANCE:123.45 |
getNumber | getNumber | Mesma consulta, formato do ID muda (UUID vs int) |
getStatus | getStatus | Mesmos status: STATUS_WAIT_CODE, STATUS_OK, STATUS_CANCEL |
setStatus | setStatus | Mesmas ações (status=8 cancelar, =6 recebido) |
getPrices | getPrices | Retorna preços nativos do VerifySMS |
getCountries | getCountries | VerifySMS cobre 200+, mais entradas retornadas |
| (sem equivalente) | getHistory | NOVO: acesso ao log de auditoria de 12 meses |
Checklist de migração (30 minutos)
- (2 min) Cadastre-se em verifysms.app, adicione um saldo de $5, gere uma chave de API.
- (5 min) Substitua a URL base da DaisySMS por
https://api.verifysms.app/compat/handler_api.phpem sua configuração de ambiente. - (5 min) Defina o cabeçalho
X-Sandbox-Mode: 1para o ambiente de staging. - (10 min) Execute testes de integração contra o sandbox. Verifique a taxa de sucesso, o formato da resposta e o tratamento de erros.
- (2 min) Remova o cabeçalho sandbox, implante em canary com 5%.
- (24 horas) Monitore as métricas: a taxa de sucesso deve corresponder ou exceder a linha de base da DaisySMS.
- (5 min) Migre os 95% restantes se as métricas estiverem boas.
- (1 min) Abra um chargeback para qualquer saldo não utilizado da DaisySMS.
Erros comuns e correções
Código do país não retorna números
DaisySMS usava IDs numéricos personalizados que podem não corresponder ao mapeamento do VerifySMS. Use action=getCountries para buscar a lista atual. Códigos alfanuméricos ISO-3166 alpha-2 (US, GB, DE) também funcionam.
Polling retorna STATUS_CANCEL após 60 segundos
Este é o reembolso automático sendo acionado. VerifySMS cancela e reembolsa qualquer número que não receba um SMS dentro da janela de locação. Ajuste seu tempo limite de polling, se necessário: o provedor HeroSMS tem uma janela de 60 segundos, o provedor 5SIM tem 2 minutos.
Chamada setStatus retorna BAD_STATUS
VerifySMS valida os códigos de status de forma mais rigorosa do que DaisySMS. Use status=8 para cancelar, status=6 para "código recebido e usado". Status=3 (solicitar outro SMS) é suportado, mas limitado a uma vez por número.
FAQ
Minha antiga chave de API da DaisySMS funcionará?
Não. A API da DaisySMS parou de aceitar autenticação quando o serviço foi encerrado. Você precisa de uma nova chave VerifySMS. O formato é semelhante (string de 40 caracteres), então você pode colá-la na mesma variável de ambiente.
E se VerifySMS também encerrar?
Preocupação válida após dois encerramentos recentes. Somos registrados no Reino Unido, financeiramente solventes e nossa camada de compatibilidade significa que a migração futura para qualquer provedor compatível com handler_api leva minutos, não dias. Também nos comprometemos com uma janela de depreciação de 6 meses para quaisquer alterações na API, publicadas com antecedência em nosso changelog.
Existe um plano gratuito para testes?
O modo sandbox é gratuito e ilimitado para testes. Números reais exigem um saldo pago, depósito mínimo de $5. Sem assinatura, sem taxa mensal.
E quanto a outros guias de migração?
Mantemos um guia detalhado separado para a Guia de Migração do SMS-Activate 2026: Checklist de Desenvolvedor, Mapeamento de API e Comparação de Reembolso se sua infraestrutura for mista. A mesma camada de compatibilidade VerifySMS funciona para ambos.
Comece em 5 minutos
Cadastre-se em verifysms.app, adicione um pequeno saldo (mínimo de $5), gere uma chave de API e você estará pronto para trocar a URL base. A maioria das migrações de produção termina antes da próxima janela de implantação.
Get started in 5 minutes
Sign up at verifysms.app, add a small balance ($5 minimum), generate an API key, and you are ready to swap the base URL. Most production migrations finish before the next deploy window.