← Blog
Developer playbook · 16 dk okuma · Published April 2026 · Author Serhat Dogan

SMS-Activate Göç Merkezi 2026: Geliştirici Kontrol Listesi, API Eşleme & Geri Ödeme Karşılaştırması

If you are still carrying handler_api.php calls in your repo pointed at sms-activate.org, this is the hub you open at 9pm on a Friday and close with a working integration before midnight. Real endpoint mapping, real code diffs, refund policy comparison, and the gotchas that will bite you between the line you change and the alert that wakes you up on Monday morning.

İçindekiler

SMS-Activate Geçiş Merkezi 2026: Geliştirici Kontrol Listesi, API Haritalaması ve Geri Para Karşılaştırması

VerifySMS Kurucusu ve Mühendisi Serhat Doğan tarafından · 8 Nisan 2026'de yayınlandı · 14 dakika okuma
Özet. SMS-Activate, 29 Aralık 2025'te doğrulamaları kabul etmeyi durdurdu. Çoğu kullanıcı, resmi geri para sürecinin 30 dolarlık bir minimum gerektirmesi nedeniyle bakiyesini geri alamadı. En temiz geçiş, handler_api uyumlu bir uç nokta ile bir sağlayıcıya — VerifySMS, 5sim veya SMS-MAN — geçiş yapmaktır, bu da temel bir URL ve API anahtarı yerine entegrasyon kodunu yeniden yazmanıza izin verir. Bu kılavuz, 10 adımlı geçişi, her handler_api uç noktasını haritalandırır, fiyatlandırma ve geri para politikalarını yan yana karşılaştırır ve Python, Node.js, PHP ve Go'da çalışan kod örnekleri sağlar. Önyargı notu: Ben VerifySMS'i çalıştırıyorum, bu yüzden aşağıdaki sağlayıcılardan biri benim. Diğerlerinin nerede kazandıkları konusunda dürüst olmaya çalıştım.

Kapama işleminden bu yana dört ay geçirdim ve aynı geçiş sorusunu düzinelerce geliştiriciden cevapladım. Çoğu, bir 503 hatası ve geri çekemediği bir bakiye ile uyandı ve hepsi aynı şeyi istedi: entegrasyonunu canlı tutmak için yeniden yazmadan. Bu kılavuz, bu konuşmaların uzun biçimli versiyonudur.

Yalnızca on dakikanız varsa, 10 adımlı kontrol listesine atlayın, uç nokta haritalama tablosunu kopyalayın ve kod örneklerini başlangıç noktası olarak kullanın. Tam resmi istiyorsanız — ne oldu, neden geri para politikası daha da kötüleştirdi ve hayatta kalan sağlayıcılar nasıl birikti — doğrudan okuyun.

SMS-Activate'a Ne Oldu?

SMS-Activate, neredeyse bir on yıl boyunca SMS doğrulama pazarının önemli bir bölümünü yönetti. 2024'ün sonlarında zaten zorlanıyordu. Rus finansal düzenlemeleri o yıl iki kez sıkılaştırıldı, iki ana ödeme kanalı düştü ve destek yanıt süreleri saatlerden günlere kaydı. 2025'in 3. çeyreğinde, geri ödeme talepleri belirsiz "inceleme bekliyor" bildirimleriyle reddediliyordu ve bu bildirimler hiçbir zaman çözülmedi.

29 Aralık 2025'te, web sitesi 503 hatası döndürdü ve Telegram kanalı tek bir veda mesajı yayınladı. Discord sunucusu 48 saat içinde silindi. Veri ihracatı, iletim hizmeti ve kullanıcı bakiyelerinin halka açık uzlaştırılması yapılmadı. O haftadan itibaren haberler, topluluk subredditlerinde ve Trustpilot konularında hala okunabilir, eğer kullanıcı tarafındaki hikayeyi okumak istiyorsanız.

İşletmenin kapanması, tüm bir iş modelinin stres testi oldu. Hayatta kalan hizmetler, birden fazla ödeme kanalına, birden fazla yargı bölgesinde varlık göstermeye ve bir destek ajanının uyanmasına bağlı olmayan çalışan bir geri ödeme mekanizmasına sahip olanlardı. Piyasanın ucuz ve sallantılı bölümü, aynı pencerede sessizce ortadan kayboldu.

30 Dolarlık Geri Para Tartışması

Küçük geliştiriciler için kapanmanın en acı verici kısmı, geri para minimumu idi. SMS-Activate'ın resmi geri para politikası, bir ödeme işlenmeden önce 30 USD bakiye gerektiriyordu. Her birkaç ayda 5 dolar yükleyen tipik bir hobi kullanıcısı - yapısal olarak herhangi bir kurtarma yolundan kilitliydi.

Bu politika, birçok ekip için göç etme aciliyetini "bu hafta" dan "bugün" e itti. Ayrıca, hayatta kalan sağlayıcıların geri paralar hakkında nasıl konuştuğunu yeniden çerçeveledi. Otomatik, düşük eşikli geri paralar, SMS-Activate sonrası grubun anlamlı bir payı için zorunlu bir gereklilik haline geldi.

Eğer hala SMS-Activate'de küçük bir bakiye varsa, bunu silinmiş olarak kabul edin. Kart geri çekmeleri, hala tartışma penceresinde olan (yükleme tarihinden itibaren 60 gün) kullanıcılar için işe yaradı, ancak çoğu hesap şimdi bu süreyi geçti. Kripto yüklemeleri bazen orijinal borsanın dolandırıcılık iddia akışı yoluyla kısmen geri kazanılabilir, gördüğüm vakalara dayanarak yaklaşık %12 başarı oranı ile.

Kapatma Zaman Çizelgesi (Gözden Geçirme)

10 Adımlı Göç Kontrol Listesi (Geliştiriciler İçin)

Her müşteriden geçirdiğim bu oyun planıdır. Üretim entegrasyonu handler_api.php stilinde SMS-Activate kullanarak, herhangi bir dilde yazılmış, getNumber, getStatus ve setStatus çağrılarını yapmaktadır. Sıra kasıtlıdır — kendi riskinize bir adımı atlayın.

Geçerli handler_api kullanımınızı denetleyin

Kod tabanınızı handler_api.php, getNumber, getStatus ve setStatus için grep edin. Her son noktayı, her parametreyi ve SMS-Activate temel URL'sini sabit kodlayan her yeri listeleyin. Çoğu ekip bu şekilde bir veya iki sürpriz çağrı sitesi bulur.

Uygun bir API ile değiştirme sağlayıcı seçin

Göçün temel URL takasından başka bir yeniden yazma olmadığı için handler_api şekilli bir HTTP arayüzü sunan bir sağlayıcı seçin. VerifySMS, 5sim ve SMS-MAN tümü uyumlu son noktalar sunar. Karar faktörleri fiyatlandırma, geri ödeme politikası ve ülke kapsamıdır — aşağıdaki karşılaştırma tablolarına bakın.

Temel URL ve API anahtarını merkezileştirin

Temel URL ve API anahtarını ortam değişkenlerine taşıyın. Kaynak kodda sabit kodlanmışlarsa, bu tek adım sizi bir sonraki kapatmadan korur. SMS_API_BASE ve SMS_API_KEY makul isimlerdir.

Tek bir hizmete karşı bir eşleştirme testi çalıştırın

Doğrulamak için düşük riskli bir hizmet seçin (Telegram iyi bir ilk hedef). Yeni sağlayıcıda 1 $ kredi yükleyin, on doğrulama çalıştırın ve başarı oranlarını ve SMS'ye kadar geçen süreyi tarihsel SMS-Activate numaralarınızla karşılaştırın. Bunu üretim ortamına dokunmadan önce yapın.

Yanıt şekillerini eşleştirin

handler_api yanıtları çoğunlukla sağlayıcılar arasında uyumludur, ancak birkaç durum kodu ince farklılıklar gösterir. Ham HTTP yanıtı ve iş mantığı arasında gelecekteki göçlerin yalnızca bir dosyayı etkilemesi için ince bir çeviri katmanı oluşturun.

İade ve bakiye uzlaştırma göçünü güncelleyin

Başarısız doğrulamaların nasıl geri ödeneceğini karar verin. Otomatik iadeler bir muhasebe hatası sınıfını kaldırır ve gerçek zamanlı olarak uzlaştırır. Manuel bilet tabanlı iadeler yeni araçlar gerektirir — genellikle günlük bir uzlaştırma cron ve finans kişinizin okuyabileceği bir pano.

Yeniden deneme ve geri çekme mantığını güncelleyin

Farklı sağlayıcılar farklı zaman aşımı özelliklerine sahiptir. SMS-Activate kullanıcıları tipik olarak 30 ila 60 saniyelik pencereler için yeniden denemeleri ayarladılar. Yeni sağlayıcıya uyacak şekilde zaman aşımını ve yeniden denemeleri ayarlayın, eski varsayılanları kopyalamayın — aksi takdirde bütçenizi sızdırırsınız.

Bir gün boyunca trafiği aynalayın

Henüz canlı olan SMS-Activate şekilli trafiğiniz varsa (düşük sağlamlık sağlayıcı, bir aşama ortamı), aynı istek akışını hem eski hem de yeni sağlayıcılara gölge modunda gönderin. Anahtarı çevirmeden önce başarı oranlarını, SMS'ye kadar geçen süreyi ve iade sayımlarını karşılaştırın.

Özellik bayrağı ile yayınlayın

Yeni sağlayıcıyı bir özellik bayrağının arkasında kapalı tutun, böylece bir dağıtım olmadan geri dönabilirsiniz. Trafiğin %5'inden başlayın, %25, sonra %50, sonra birkaç saat içinde %100'e yükselin. Bu, bu çeyrekte satın alacağınız en ucuz sigortadır.

İki hafta boyunca izleyin ve çalışma kitabını belgeleyin

Başarı oranını, SMS'ye kadar geçen süreyi ve iade uzlaştırma işlemini tam iki hafta boyunca izleyin. Ne öğrendiğinizi yazın — hangi ülkeler düşük performans gösterir, hangi hizmetler daha yüksek sürtünmeye sahiptir, yeni sağlayıcının tuhaflıkları nerede yaşar. Gelecekteki siz, 2 AM'de bir şeyler bozulduğunda buna ihtiyacınız olacak.

Sıfır kod değişikliği ile VerifySMS'e göç edin

Handler_api uç noktamız, orijinal SMS-Activate spec'e uymak üzere şekillendirilmiştir, bu nedenle çoğu ekip bir temel URL ve bir API anahtarı değiştirir ve aynı gün gönderir. Otomatik iadeler, KYC yok, 200+ ülke.

Ücretsiz Başlayın

handler_api Endpoint Eşleme

İlk gün bana verilmiş olmasını dilediğim tablo bu. Her ortak SMS-Activate uç noktasının VerifySMS eşdeğerine eşlenmesi, parametrelerin farklı olduğu yerlerde bir not ile.

SMS-Activate uç noktası VerifySMS uç noktası Parametreler hakkında notlar
handler_api.php?action=getBalance handler_api.php?action=getBalance Özdeş istek şekli. Yanıt önekleri her ikisinde de ACCESS_BALANCE şeklindedir.
action=getNumber&service=&country= action=getNumber&service=&country= Hizmet slugları eşleşir (tg için Telegram, wa için WhatsApp, vb.). Ülke kodları aynı sayısal şemayı kullanır.
action=getNumberV2 action=getNumberV2 Düz metin yerine JSON döndürür. Alan adları hizalanır.
action=getStatus&id= action=getStatus&id= Aynı aktivasyon ID akışı. Yanıt önekleri STATUS_OK ve STATUS_WAIT_CODE korunur.
action=setStatus&id=&status= action=setStatus&id=&status= Durum kodları 1, 3, 6 ve 8 aynı şekilde davranır (iste, yeniden dene, bitir, iptal).
action=getPrices&service= action=getPrices&service= Ülke başına fiyatın JSON haritasını döndürür. Varsayılan olarak para birimi USD'ye normalize edilmiştir.
action=getNumbersStatus&country= action=getNumbersStatus&country= Envanter sorgusu. VerifySMS, SMS-Activate'ın sahip olmadığı bir refund_window_seconds alanı ekler.
action=setRentNumber action=setRentNumber Uzun süreli kiralık numaralar. Şema paylaşılır, ancak minimum kiralama süreleri farklılık gösterir (1 saat vs 4 saat).
Tedarikçiler arasındaki en büyük fark, geri ödeme akışını nasıl işledikleridir. SMS-Activate'ın setStatus=8 (iptal) etkin bir şekilde manuel bir işlemdi. VerifySMS'te ise aynı çağrı, aktivasyon zaman aşımından sonraki 60 saniye içinde otomatik bir geri ödeme tetikler. Bunun için planlama yapın - birçok ekip alışkanlık nedeniyle fazla iptal eder ve beklediğinden daha temiz bir riconciliation elde eder.

Fiyat Karşılaştırması (Nisan 2026)

Aşağıdaki tüm sayılar, Nisan 2026 itibarıyla kamuya açık fiyat sayfalarından ve panolarından alınmıştır. Her sağlayıcının fiyatları hizmete ve ülkeye göre farklılık gösterir, bu nedenle Telegram veya WhatsApp gibi popüler bir hedef için ortak bir ülkede (genellikle ABD, İngiltere veya Endonezya) göreceğiniz giriş seviyesi fiyatı veriyorum.

Sağlayıcı Doğrulama başına giriş fiyatı Minimum yükleme Ülke kapsamı
VerifySMS $0.10 $0.20 200+ ülkeler
5sim $0.014 – $0.06 $1 180+ ülkeler
HeroSMS $0.20 $2 80+ ülkeler
SMS-MAN $0.15 – $0.30 $2 130+ ülkeler
SMS-Activate (eski 2025) $0.20 – $1.00 $5 180+ (şimdi çevrimdışı)

5sim hala niş numaralar ve birkaç Rus ve Endonezya operatörü için en düşük etiket fiyatına sahiptir, bu nedenle yüksek hacimli ekipler genellikle oraya gider. VerifySMS ham fiyatta ortada yer alır, ancak otomatik geri ödeme akışını hesaba katarsanız toplam sahip olma maliyetinde üstüne çıkar - başarısız doğrulama başına bir destek bileti daha az, birim başına marjdan daha hızlı birikir.

İade Politikası Karşılaştırması

Sağlayıcı Otomatik iadeler? İade penceresi Minimum ödeme
VerifySMS Evet, tüm başarısız doğrulamalar Etkinleştirme zaman aşımından 60 saniye içinde Yok — bakiye olarak kredilendirilir
5sim Kısmi — kullanılmayan numaralar yalnızca 5 dakika içinde Yok — bakiye olarak kredilendirilir
HeroSMS Hayır — manuel bilet Destek yoluyla 24 ila 72 saat Bakiye için yok, para çekme için $5
SMS-MAN Hayır — manuel bilet Destek yoluyla 24 ila 96 saat Bakiye için $2, para çekme için $10
SMS-Activate (eski) Hayır — manuel onay Günler ila asla $30 (tartışmalı taban)

Özellik Karşılaştırması

Özellik VerifySMS 5sim HeroSMS SMS-MAN
handler_api uyumluluğu Evet Evet Evet Evet
Modern REST API Evet Evet Hayır Kısmi
Yeniden yükleme için KYC gerekli Hayır Hayır Hayır $50/ay üzeri
Kripto ödemeleri USDT, BTC, ETH USDT, BTC, ETH, TRX USDT USDT, BTC
Kart ödemeleri Visa, MC Visa, MC Hayır Visa, MC
Çok dilli destek 14 dil ES, RU öncelikle ES, RU ES, RU, ES
Yerel mobil uygulama iOS (Android Q4 2026) Hayır Hayır Hayır

Kod Örneği: Python

Bu, mevcut SMS-Activate URL'sini bir betiğe bırakıp değiştirebileceğiniz şekilde yazılmış, mümkün olan en küçük uçtan uca Python örneğidir. Sadece standart kütüphane kullanılır — ekstra bağımlılık yok.

import os
import time
import urllib.parse
import urllib.request

API_BASE = os.environ.get("SMS_API_BASE", "https://verifysms.app/handler_api.php")
API_KEY  = os.environ["SMS_API_KEY"]

def call(action, **params):
    params["api_key"] = API_KEY
    params["action"]  = action
    url = API_BASE + "?" + urllib.parse.urlencode(params)
    with urllib.request.urlopen(url, timeout=15) as r:
        return r.read().decode("utf-8")

def get_number(service, country):
    resp = call("getNumber", service=service, country=country)
    if not resp.startswith("ACCESS_NUMBER"):
        raise RuntimeError("getNumber failed: " + resp)
    _, activation_id, phone = resp.split(":")
    return activation_id, phone

def wait_for_code(activation_id, timeout=120):
    deadline = time.time() + timeout
    while time.time() < deadline:
        resp = call("getStatus", id=activation_id)
        if resp.startswith("STATUS_OK"):
            return resp.split(":", 1)[1]
        time.sleep(3)
    call("setStatus", id=activation_id, status=8)  # cancel + refund
    raise TimeoutError("No SMS within timeout")

if __name__ == "__main__":
    aid, phone = get_number(service="tg", country=0)  # Telegram, Russia
    print("Kullanılacak numara:", phone)
    code = wait_for_code(aid)
    print("Kod:", code)
    call("setStatus", id=aid, status=6)  # finish

Kod Örneği: Node.js

Node 18 ve sonrası sürümünde mevcut olan yerleşik fetch kullanılarak Node.js'de aynı iş akışı. Ekstra paketlere gerek yok.

const API_BASE = process.env.SMS_API_BASE || "https://verifysms.app/handler_api.php";
const API_KEY  = process.env.SMS_API_KEY;

async function call(action, params = {}) {
  const url = new URL(API_BASE);
  url.searchParams.set("api_key", API_KEY);
  url.searchParams.set("action", action);
  for (const [k, v] of Object.entries(params)) url.searchParams.set(k, v);
  const r = await fetch(url, { signal: AbortSignal.timeout(15000) });
  return await r.text();
}

async function getNumber(service, country) {
  const resp = await call("getNumber", { service, country });
  if (!resp.startsWith("ACCESS_NUMBER")) throw new Error("getNumber failed: " + resp);
  const [, activationId, phone] = resp.split(":");
  return { activationId, phone };
}

async function waitForCode(activationId, timeoutMs = 120000) {
  const deadline = Date.now() + timeoutMs;
  while (Date.now() < deadline) {
    const resp = await call("getStatus", { id: activationId });
    if (resp.startsWith("STATUS_OK")) return resp.split(":")[1];
    await new Promise(r => setTimeout(r, 3000));
  }
  await call("setStatus", { id: activationId, status: 8 }); // cancel + refund
  throw new Error("No SMS within timeout");
}

(async () => {
  const { activationId, phone } = await getNumber("tg", 0);
  console.log("Bu numarayı kullanın:", phone);
  const code = await waitForCode(activationId);
  console.log("Kod:", code);
  await call("setStatus", { id: activationId, status: 6 }); // finish
})();

Kod Örneği: PHP

PHP tabanlı bot çerçeve iş akışlarından gelen birçok SMS-Activate kullanıcısı için, bu Composer bağımlılıkları olmadan aynı iş akışıdır.

<?php
$apiBase = getenv("SMS_API_BASE") ?: "https://verifysms.app/handler_api.php";
$apiKey  = getenv("SMS_API_KEY");

function call($action, $params = []) {
  global $apiBase, $apiKey;
  $params["api_key"] = $apiKey;
  $params["action"]  = $action;
  $url = $apiBase . "?" . http_build_query($params);
  $ctx = stream_context_create(["http" => ["timeout" => 15]]);
  return file_get_contents($url, false, $ctx);
}

function getNumber($service, $country) {
  $resp = call("getNumber", ["service" => $service, "country" => $country]);
  if (strpos($resp, "ACCESS_NUMBER") !== 0) throw new RuntimeException("getNumber failed: $resp");
  [, $activationId, $phone] = explode(":", $resp);
  return [$activationId, $phone];
}

function waitForCode($activationId, $timeout = 120) {
  $deadline = time() + $timeout;
  while (time() < $deadline) {
    $resp = call("getStatus", ["id" => $activationId]);
    if (strpos($resp, "STATUS_OK") === 0) return explode(":", $resp, 2)[1];
    sleep(3);
  }
  call("setStatus", ["id" => $activationId, "status" => 8]); // cancel + refund
  throw new RuntimeException("No SMS within timeout");
}

[$aid, $phone] = getNumber("tg", 0);
echo "Bu numarayı kullanın: $phone\n";
$code = waitForCode($aid);
echo "Kod: $code\n";
call("setStatus", ["id" => $aid, "status" => 6]); // finish

Kod Örneği: Go

Go sürümü en çok konuşulanıdır ancak tek bir statik ikili dosyaya derlenir, ki bazı müşterilerim bunu ana uygulamalarının yanındaki bir yan araç olarak kullanır.

package main

import (
    "errors"
    "fmt"
    "io"
    "net/http"
    "net/url"
    "os"
    "strings"
    "time"
)

var apiBase = envOr("SMS_API_BASE", "https://verifysms.app/handler_api.php")
var apiKey  = os.Getenv("SMS_API_KEY")

func envOr(k, d string) string { if v := os.Getenv(k); v != "" { return v }; return d }

func call(action string, params url.Values) (string, error) {
    if params == nil { params = url.Values{} }
    params.Set("api_key", apiKey)
    params.Set("action", action)
    client := &http.Client{Timeout: 15 * time.Second}
    resp, err := client.Get(apiBase + "?" + params.Encode())
    if err != nil { return "", err }
    defer resp.Body.Close()
    body, err := io.ReadAll(resp.Body)
    return string(body), err
}

func getNumber(service string, country string) (string, string, error) {
    resp, err := call("getNumber", url.Values{"service": {service}, "country": {country}})
    if err != nil { return "", "", err }
    if !strings.HasPrefix(resp, "ACCESS_NUMBER") {
        return "", "", errors.New("getNumber failed: " + resp)
    }
    parts := strings.Split(resp, ":")
    return parts[1], parts[2], nil
}

func waitForCode(activationID string, timeout time.Duration) (string, error) {
    deadline := time.Now().Add(timeout)
    for time.Now().Before(deadline) {
        resp, err := call("getStatus", url.Values{"id": {activationID}})
        if err == nil && strings.HasPrefix(resp, "STATUS_OK") {
            return strings.SplitN(resp, ":", 2)[1], nil
        }
        time.Sleep(3 * time.Second)
    }
    call("setStatus", url.Values{"id": {activationID}, "status": {"8"}}) // cancel + refund
    return "", errors.New("no SMS within timeout")
}

func main() {
    aid, phone, err := getNumber("tg", "0")
    if err != nil { panic(err) }
    fmt.Println("Kullanın bu numarayı:", phone)
    code, err := waitForCode(aid, 120*time.Second)
    if err != nil { panic(err) }
    fmt.Println("Kod:", code)
    call("setStatus", url.Values{"id": {aid}, "status": {"6"}}) // finish
}

Bugün göç etmeye hazır mısınız?

Ücretsiz bir API anahtarı alın, iki ortam değişkenini değiştirin ve aynı gün teslim edin. Göç ettirmeniz on doğrulamadan fazlasını etkilerse, bizimle ücretsiz olarak bir ekran paylaşımı oturumuna oturacağız.

Ücretsiz Başlayın

Sık Sorulan Sorular

SMS-Activate ne zaman kapanış yaptı?

SMS-Activate 29 Aralık 2025 tarihinde yeni doğrulamaları kabul etmeyi durdurdu. Web sitesi 48 saat içinde hatalar döndürdü ve Ocak 2026 itibariyle kontrol paneli, API ve Telegram destek kanalı tümüyle çevrimdışı hale geldi.

SMS-Activate'den hâlâ geri ödeme alabilir miyim?

Resmi geri ödeme süreci 30 dolar minimum bakiye gerektirdi ve erişilemez olarak geniş çapta eleştirildi. Daha küçük bakiyeli çoğu kullanıcı fonlarını geri alamadığını bildirdi. Kart iadeleri, çoğu hesabın artık geçtiği uyuşmazlık penceresi içinde hala kullanıcılar için en başarılı yol olmuştur.

SMS-Activate'in handler_api'sinin en yakın API alternatifi nedir?

VerifySMS, 5sim ve SMS-MAN, handler_api tarzı HTTP uç noktalarını açıklar. VerifySMS, orijinaline en yakın istek şeklini korur, bu genellikle yalnızca temel URL ve API anahtarını değiştirerek geçiş yapmanıza olanak tanır. 5sim, eski uyumluluk katmanının yanı sıra kendi modern REST API'sine sahiptir.

Varolan SMS-Activate entegrasyon kodumu yeniden yazmam gerekiyor mu?

Genellikle hayır. handler_api uyumluluğu olan bir sağlayıcıya geçiş yaparsanız, yalnızca temel URL ve API anahtarını değiştirmeniz gerekir. En büyük değişiklikler genellikle yeniden deneme zamanlaması, geri ödeme işleme ve sağlayıcılar arasında biraz farklı olan durum kodları için küçük bir çeviri katmanı etrafındadır.

Hangi sağlayıcı en iyi otomatik geri ödeme mekanizmasına sahiptir?

VerifySMS, aktivasyon penceresi içinde başarısız doğrulamaları destek bileti gerekmeden otomatik olarak geri öder. 5sim, kullanılmayan numaraları otomatik olarak geri öder, ancak teslimat başarısızlıklarını manuel bir vaka olarak değerlendirir. SMS-MAN ve HeroSMS her ikisi de herhangi bir geri ödeme için bir destek bileti gerektirir.

Tam bir geçiş genellikle ne kadar sürer?

Doğrulamak için tek bir hizmeti olan tipik küçük bir SaaS için, dikkatli bir geçiş, eşleştirme testi ve özellik-flag'li bir yayım dahil olmak üzere uçtan uca yaklaşık bir iş günü sürer. Birden fazla hizmeti ve yüksek hacimli işlemleri olan daha büyük üretim sistemleri, trafiklenen bir pencere ile bir ila iki haftalık bir yayım planlamalıdır.

Eski SMS-Activate API anahtarım yeni bir sağlayıcıda çalışır mı?

Hayır. API anahtarları tek bir sağlayıcı hesabına özeldir. Değiştirme sağlayıcısında yeni bir hesap oluşturmanız, bir bakiye eklemeniz ve yeni bir API anahtarı oluşturmanız gerekir. İstek şekli benzer kalır, ancak kimlik bilgisinin kendisi bunu yapmaz.

SMS-Activate'in fiyatlandırması mevcut sağlayıcılarla nasıl karşılaştırılır?

SMS-Activate'in 2025 sonundaki fiyatlandırması, yaygın hizmetler için yaklaşık 0,20 dolar ile başladı ve yüksek sürtünmeli hedefler için 1 dolar veya daha fazlaya çıktı. Nisan 2026'da, VerifySMS doğrulama başına ortalama 0,10 dolar, 5sim bazı numaralar için 0,014 dolara kadar düşüyor ve HeroSMS ve SMS-MAN, ülke ve hedef hizmete bağlı olarak 0,15 ila 0,30 dolar aralığında bulunuyor.

Ya yeni sağlayıcım da bir gün kapanırsa?

Honest cevap, bunu tamamen önleyemezsiniz, ancak darbe yumuşatabilirsiniz. İki pratik adım, temel URL ve API anahtarınızı ortam değişkenlerinde tutmaktır (böylece bir geçiş bir yapılandırma değişikliği olur) ve sağlayıcıyı kodunuzda ince bir çeviri katmanı arkasında sarmanızdır. Bu iki adım birlikte, gelecekteki bir kapanışı çok günlük bir yeniden yazmadan bir dağıtım haline getirir.

Bu tür SMS doğrulama hizmetlerini kullanmak yasal mı?

Doğrulama için sanal telefon numaraları, çoğu ülkede kişisel gizlilik veya meşru iş iş akışları için kullanıldığında yasaldır. Bazı yargı bölgeleri ticari mesajlaşmayı daha sıkı bir şekilde düzenler. SMS-Activate kapanış yaptı diye yasal duruş değişmedi - ülke-by-country yasal kılavuzumuza bakın.

Pratikte Göç: Üç Yaygın Senaryo

Yukarıdaki 10 adımlı kontrol listesi güvenli, tam sürümüdür. Pratikte çoğu ekip üç kategoriden birine girer ve her biri için iş biraz farklı görünür.

Senaryo 1: Tek bir bot ile hobi sahibi

Tek bir hesabı haftada bir kez doğrulayan bir Python betiği yazdınız. SMS-Activate'de 3 dolarınız takılı kaldı ve tek bir dosyaya sığan bir dağıtımınız var. Göçünüz bir temel URL değişikliği, bir API anahtarı takası ve çalışıp çalışmadığını onaylamak için tek bir doğrulamadır. Toplam süre: yaklaşık on beş dakika. Özellik bayrağını atlayın, yansıtılan trafiği atlayın, tek bir test doğrulaması çalıştırın ve gönderin. Yeni sağlayıcıda bir tampona sahip olmak için 1 dolar ekleyin.

Senaryo 2: Doğrulama akışı ile küçük SaaS

Günde 50 ila 500 doğrulama yapan bir kayıt hunisi çalıştırıyorsunuz ve iki veya üç hizmet arasında. Muhtemelen bir kuyruk işçisi, yeniden deneme mantığı ve başarı oranını izleyen bir panounuz vardır. Bu, 10 adımlı kontrol listesinin yazıldığı durumdur. Kod için yarım gün, eşdeğerlik testi için yarım gün ve özellik bayrağını %100'e çevirmeden önce 24 saatlik bir gözlem penceresi planlayın. Çalışma kitabınızı ve müşteri desteği makrolarınızı güncellemek için başka yarım gün bütçe ayırın.

Senaryo 3: Yüksek hacimli operatör

Günde birçok hizmet ve birçok ülkede binlerce hesabı doğruluyorsunuz. Entegrasyonunuz kendi hizmetinizle sarılmıştır. Göçünüz, bir yapılandırma değişikliğinden ziyade bir veritabanı takasına daha yakındır - gölge trafiğe, ülke başına yan yana başarı oranı izlemeye ve otomatik bir geri dönüşe ihtiyacınız vardır. Bir ila iki haftalık bir dağıtım planlayın. İyi haber: bu hacimde, daha iyi bir geri ödeme mekanizmasından elde edilen doğrulama başına tasarruf, ilk ay içinde göç işini öder.

Son Not

Kapatma acı vericiydi ancak piyasayı yararlı bir şekilde temizledi. Aynı dönemi sağ kurtulan sağlayıcılar, daha iyi geri ödeme mekanizmaları, daha dürüst fiyatlandırma ve ucuz ve sarsıntılı gruptan daha dayanıklı altyapı kurdular. Dikkatlice göç ederseniz ve öğrendiğinizi belgelediğinizde, bir sonraki sağlayıcınız da bir sonraki kapatma turuna kadar dayanmalıdır.

Bu kılavuz size yardımcı olduysa, yapabileceğiniz en yararlı şey, geliştirici sohbetinde "neye göç etmeliyim?" diye soran bir sonraki kişiye paylaşmaktır — tam olarak bu merkezlerin çözmesi gereken andır.

Next steps

If you have read this far, you already have the pieces you need. Start with the inventory step, get the base URL swap in front of a teammate for review, and run the canary overnight. The playbook is small on purpose; the hard part is the discipline to stop after the canary window instead of cutting everything over in one commit.

Related reading on the rest of the site:

Ready to cut the migration to a single evening?

Create a VerifySMS API key →

Sandbox mode included · Auto-refund guarantee · 200+ countries · SMS-Activate compat layer on /compat/handler_api.php