Test ortamında OTPMOCK_URL=https://api.otpmock.com tanımlayın, Telesign istemcisini bu adrese yönlendirin ve Telesign kimlik bilgisi olarak otpmock API anahtarınızı kullanın. Uygulama kodunuz değişmez; canlı ortam Telesign ile göndermeye devam eder.
Kurulum
SDK, REST adresini yapıcının üçüncü bağımsız değişkeni olarak alır.
import TeleSignSDK from "telesignsdk";
export const telesign = new TeleSignSDK(
process.env.TELESIGN_CUSTOMER_ID, // testte: otpmock API anahtarı
process.env.TELESIGN_API_KEY,
process.env.OTPMOCK_URL ?? "https://rest-api.telesign.com",
);import os
from telesign.messaging import MessagingClient
telesign = MessagingClient(
os.environ["TELESIGN_CUSTOMER_ID"], # testte: otpmock API anahtarı
os.environ["TELESIGN_API_KEY"],
rest_endpoint=os.environ.get("OTPMOCK_URL", "https://rest-api.telesign.com"),
)import com.telesign.MessagingClient;
MessagingClient telesign = new MessagingClient(
System.getenv("TELESIGN_CUSTOMER_ID"), // testte: otpmock API anahtarı
System.getenv("TELESIGN_API_KEY"),
System.getenv().getOrDefault("OTPMOCK_URL", "https://rest-api.telesign.com"));using Telesign;
var messaging = new MessagingClient(
Environment.GetEnvironmentVariable("TELESIGN_CUSTOMER_ID"), // testte: otpmock API anahtarı
Environment.GetEnvironmentVariable("TELESIGN_API_KEY"),
Environment.GetEnvironmentVariable("OTPMOCK_URL") ?? "https://rest-api.telesign.com",
"csharp_telesign", null, null);use telesign\sdk\messaging\MessagingClient;
$telesign = new MessagingClient(
getenv('TELESIGN_CUSTOMER_ID'), // testte: otpmock API anahtarı
getenv('TELESIGN_API_KEY'),
getenv('OTPMOCK_URL') ?: 'https://rest-api.telesign.com',
);
// SMS Verify (HTTP; the SDK has no verify client): Basic customer ID : API key.
$verifyUrl = getenv('OTPMOCK_URL') ?: 'https://rest-ww.telesign.com';
$auth = [getenv('TELESIGN_CUSTOMER_ID'), getenv('TELESIGN_API_KEY')];
$ref = json_decode((string) (new \GuzzleHttp\Client())->post("$verifyUrl/v1/verify/sms", [
'auth' => $auth, 'form_params' => ['phone_number' => '15550142'],
])->getBody(), true)['reference_id'];
// then GET "$verifyUrl/v1/verify/$ref?verify_code=..." -> verify.code_state "VALID"require "telesign"
messaging = Telesign::MessagingClient.new(
ENV["TELESIGN_CUSTOMER_ID"], # testte: otpmock API anahtarı
ENV["TELESIGN_API_KEY"],
rest_endpoint: ENV.fetch("OTPMOCK_URL", "https://rest-api.telesign.com")
)// Telesign has no official Go SDK; call its HTTP API with net/http, only the host changes.
base := os.Getenv("OTPMOCK_URL")
if base == "" {
base = "https://rest-api.telesign.com"
}
form := url.Values{"phone_number": {"15550142"}, "message": {msg}, "message_type": {"OTP"}}
req, _ := http.NewRequest("POST", base+"/v1/messaging", strings.NewReader(form.Encode()))
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
req.SetBasicAuth(os.Getenv("TELESIGN_CUSTOMER_ID"), os.Getenv("TELESIGN_API_KEY")) // customer ID = otpmock key in tests
res, err := http.DefaultClient.Do(req) // body status.code 290 = in progressHer dil, CI'da sağlayıcının resmi SDK'sıyla (ya da başka bir adrese yönlendirilemeyen SDK'larda düz HTTP API'siyle) otpmock'a karşı sınanır.
Kimlik bilgisi. Test ortamında otpmock API anahtarınızı Telesign müşteri kimliği (customer ID) olarak kullanın. API anahtarı herhangi bir base64 değeri olabilir: SDK istekleri HMAC ile imzalar, otpmock müşteri kimliğini imzaya bakmadan okur. Basic kimlik doğrulaması da çalışır.
otpmock neyi taklit ediyor?
| Uç nokta | Ne yapar |
|---|---|
POST /v1/messaging | SMS gönderir (phone_number, message, message_type); başarıda status.code 290 |
POST /v1/verify/sms | SMS Verify: kod gönderir (verify_code isteğe bağlı, $$CODE$$ içeren template) |
GET /v1/verify/{reference_id}?verify_code= | SMS Verify: kontrol eder; verify.code_state VALID, INVALID ya da MAX_ATTEMPTS_EXCEEDED |
POST /verification | Verify API (verify.telesign.com): SMS doğrulaması başlatır, 201 ve 3901 durumu |
PATCH /verification/{reference_id}/state | Verify API: security_factor ile sonuçlandırır (başarıda 204, yanlış kodda 400) |
GET /verification/{reference_id} | Verify API: durum (3900 Doğrulandı, 3901 Sürüyor) |
Yanıtlar ve hatalar Telesign API'sinin kendi biçimindedir, bu yüzden istemci kütüphanesi onları her zamanki gibi çözümler. Yanlış anahtar ve aylık hakkın dolması da aynı hata biçimiyle döner.
Telefon numaraları
Telesign ülke kodlu rakamlar kullanır (15550142). otpmock bunu +15550142 olarak saklar.
Testinizde kodu okuyun
const telefon = otp.randomPhone(); // her test için ayrı numara
const since = Date.now() - 5_000;
await page.getByRole("button", { name: "Kod gönder" }).click(); // uygulamanız Telesign API'sini çağırır
const { code } = await otp.waitForCode(telefon, { since });otp yardımcısı bağımlılığı olmayan tek bir dosyadır: dokümandan alın (İngilizce). Baştan sona örnekler: Playwright ve Cypress rehberleri (İngilizce).
Bilmeniz gerekenler
- İstemciler, gerçek API'de olduğu gibi
status.codedeğerine bakmalıdır (290 = sürüyor). - Node SDK'sında Verify yöntemleri yok. SMS Verify'ı
telesign.rest.execute(callback, "POST", "/v1/verify/sms", params)ile çağırın. Verify API için (normaldeverify.telesign.com) HTTP istemcinizin temel adresiniOTPMOCK_URLyapın ve Basic kimlik doğrulamasında otpmock anahtarını müşteri kimliği olarak kullanın. - Yanlış ya da tükenen kodlar için Verify API hata kodları Telesign'ın hata zarfını (
errors[].code,description) izler, ama sayısal kodlar Telesign'dakinden farklı olabilir; bunun yerine HTTP durumuna bakın.
Sık sorulanlar
otpmock Telesign üzerinden gerçek SMS gönderiyor mu?
Hayır. Test ortamında uygulamanızın Telesign istekleri otpmock'a gider; mesaj 10 dakika saklanır ve Telesign ya da herhangi bir operatör ağına hiç ulaşmaz. Canlı ortamınız Telesign kullanmaya devam eder, çünkü otpmock yalnızca OTPMOCK_URL tanımlıyken devreye girer.
Resmi telesignsdk SDK'sı destekleniyor mu?
Evet. Telesign uç noktaları, resmi telesignsdk paketiyle Node.js'te uçtan uca sınanır. Adres değiştirmeye izin veren başka dillerdeki istemciler de çalışır.
otpmock hangi Telesign API'lerini destekliyor?
POST /v1/messaging (SMS gönderir (phone_number, message, message_type); başarıda status.code 290); POST /v1/verify/sms (SMS Verify: kod gönderir (verify_code isteğe bağlı, $$CODE$$ içeren template)); GET /v1/verify/{reference_id}?verify_code= (SMS Verify: kontrol eder; verify.code_state VALID, INVALID ya da MAX_ATTEMPTS_EXCEEDED); POST /verification (Verify API (verify.telesign.com): SMS doğrulaması başlatır, 201 ve 3901 durumu); PATCH /verification/{reference_id}/state (Verify API: security_factor ile sonuçlandırır (başarıda 204, yanlış kodda 400)); GET /verification/{reference_id} (Verify API: durum (3900 Doğrulandı, 3901 Sürüyor)).
Ücretsiz plan ayda 300 mesaj içerir, kart gerekmez. Yapay zeka kodlama asistanı mı kullanıyorsunuz? otpmock.com/llms-full.txt adresini verin.
Ücretsiz API anahtarı al