Test ortamında OTPMOCK_URL=https://api.otpmock.com tanımlayın, Telnyx istemcisini bu adrese yönlendirin ve Telnyx kimlik bilgisi olarak otpmock API anahtarınızı kullanın. Uygulama kodunuz değişmez; canlı ortam Telnyx ile göndermeye devam eder.
Kurulum
SDK'nın belgelenmiş bir baseURL seçeneği var (TELNYX_BASE_URL değişkenini de okur). /v2 son ekini koruyun.
import Telnyx from "telnyx";
export const telnyx = new Telnyx({
apiKey: process.env.TELNYX_API_KEY, // testte: otpmock API anahtarı
...(process.env.OTPMOCK_URL && { baseURL: `${process.env.OTPMOCK_URL}/v2` }),
});import os
from telnyx import Telnyx
otpmock = os.environ.get("OTPMOCK_URL")
telnyx = Telnyx(
api_key=os.environ["TELNYX_API_KEY"], # testte: otpmock API anahtarı
base_url=f"{otpmock}/v2" if otpmock else None,
)import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;
String otpmock = System.getenv("OTPMOCK_URL");
TelnyxOkHttpClient.Builder builder = TelnyxOkHttpClient.builder()
.apiKey(System.getenv("TELNYX_API_KEY")); // testte: otpmock API anahtarı
if (otpmock != null) builder.baseUrl(otpmock + "/v2"); // keep the /v2 suffix
TelnyxClient telnyx = builder.build();
// Messaging: telnyx.messages().send(...); Verify: telnyx.verifications().triggerSms(...)using Telnyx;
TelnyxConfiguration.SetApiKey(Environment.GetEnvironmentVariable("TELNYX_API_KEY")); // testte: otpmock API anahtarı
var otpmock = Environment.GetEnvironmentVariable("OTPMOCK_URL");
if (otpmock is not null) TelnyxConfiguration.SetApiBase(otpmock + "/v2");
var messages = new MessageService();use Telnyx\Client;
$otpmock = getenv('OTPMOCK_URL');
$telnyx = new Client(
apiKey: getenv('TELNYX_API_KEY'), // testte: otpmock API anahtarı
baseUrl: $otpmock ? rtrim($otpmock, '/') . '/v2' : null,
);require "telnyx"
telnyx = Telnyx::Client.new(
api_key: ENV["TELNYX_API_KEY"], # testte: otpmock API anahtarı
**(ENV["OTPMOCK_URL"] ? { base_url: "#{ENV["OTPMOCK_URL"]}/v2" } : {})
)opts := []option.RequestOption{option.WithAPIKey(os.Getenv("TELNYX_API_KEY"))} // testte: otpmock API anahtarı
if base := os.Getenv("OTPMOCK_URL"); base != "" {
opts = append(opts, option.WithBaseURL(base+"/v2/"))
}
client := telnyx.NewClient(opts...)Her 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 Telnyx API anahtarı değişkeninizi otpmock API anahtarınıza çevirin.
otpmock neyi taklit ediyor?
| Uç nokta | Ne yapar |
|---|---|
POST /v2/messages | SMS gönderir |
POST /v2/verifications/sms | Verify: kod gönderir (otpmock üretir; custom_code dikkate alınır) |
POST /v2/verifications/by_phone_number/{phone}/actions/verify | Verify: kodu kontrol eder (response_code accepted / rejected) |
Yanıtlar ve hatalar Telnyx 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ı
E.164 biçiminde (+15550142) gönderin.
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 Telnyx 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).
Sık sorulanlar
otpmock Telnyx üzerinden gerçek SMS gönderiyor mu?
Hayır. Test ortamında uygulamanızın Telnyx istekleri otpmock'a gider; mesaj 10 dakika saklanır ve Telnyx ya da herhangi bir operatör ağına hiç ulaşmaz. Canlı ortamınız Telnyx kullanmaya devam eder, çünkü otpmock yalnızca OTPMOCK_URL tanımlıyken devreye girer.
Resmi telnyx SDK'sı destekleniyor mu?
Evet. Telnyx uç noktaları, resmi telnyx 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 Telnyx API'lerini destekliyor?
POST /v2/messages (SMS gönderir); POST /v2/verifications/sms (Verify: kod gönderir (otpmock üretir; custom_code dikkate alınır)); POST /v2/verifications/by_phone_number/{phone}/actions/verify (Verify: kodu kontrol eder (response_code accepted / rejected)).
Ü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