SMS bekleme
GET /numbers/sms/wait her numara türü için (Hero SMS, Twilio ya da mobil) aynı çalışır.
Filtrelerinize uyan SMS’i döndürür; henüz gelmediyse bekler.
curl -G https://api.clearance.rest/numbers/sms/wait \ -H "X-API-Key: $CLEARANCE_REST_API_KEY" \ -H "X-Service-Timeout: 120000" \ --data-urlencode "number=+14155550100" \ --data-urlencode "sender=+15559998888" \ --data-urlencode "match_regex=Kodunuz" \ --data-urlencode "code_regex=\d{6}"const sms = await clearanceRest.numbers.wait({ number: '+14155550100', sender: '+15559998888', matchRegex: 'Kodunuz', codeRegex: '\\d{6}', timeout: 120000,});console.log(sms.code, sms.body);$sms = $client->numbers->wait( number: '+14155550100', sender: '+15559998888', matchRegex: 'Kodunuz', codeRegex: '\d{6}', timeout: 120_000,);echo $sms['code'];{ "success": true, "code": "123456", "from": "+15559998888", "to": "+14155550100", "body": "Kodunuz 123456", "messageSid": "SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "receivedAt": 1785107161430}Filtreler
Bölüm başlığı “Filtreler”| Parametre | Etkisi |
|---|---|
number (zorunlu) |
Alıcı numara, E.164 formatında. |
sender |
Yalnızca bu göndericiden gelen SMS. Verilmezse herhangi bir gönderici. |
timestamp |
Yalnızca bu andan sonra alınan SMS. Saniye, milisaniye, mikrosaniye ya da ISO 8601 dizesi. |
match_regex |
Filtre. Gövdesi eşleşmeyen mesajlar atlanır ve bekleme sürer. |
code_regex |
Çıkarma. Seçilen mesaja uygulanır; sonuç code alanına gider. |
match_regex hangi SMS’in uygun olduğunu seçer, code_regex ondan bir değer çıkarır;
ikisi birbirinden bağımsızdır. code_regex’te capture group varsa grup, yoksa tüm
eşleşme döner. code_regex vermezseniz code null olur. Geçersiz bir regex 400
döndürür.
Query string’de baştaki + işaretini %2B olarak encode edin. Ham + boşluğa çevrilir.
curl --data-urlencode ve SDK’lar bunu sizin için yapar.
SMS’i tetiklemeden önce timestamp belirleyin
Bölüm başlığı “SMS’i tetiklemeden önce timestamp belirleyin”Birden fazla SMS eşleşirse en yenisi döner ve isteğinizden önce gelmiş bir SMS de
sayılır. Bir numarayı yeniden kullanırsanız eski bir kod yeni bir beklemeyle eşleşebilir.
Zamanı SMS’i tetiklemeden önce alın ve timestamp olarak verin:
const startedAt = Date.now();await triggerVerificationSms(number); // akışın sizin tarafınızconst sms = await clearanceRest.numbers.wait({ number, timestamp: startedAt, codeRegex: '\\d{6}' });Hangi numaralar alır
Bölüm başlığı “Hangi numaralar alır”Yalnızca status değeri ACTIVE olan numaralar bir waiter’ı uyandırır. Başka bir
durumdaki numaraya gelen SMS saklanır ama bir beklemeyi çözmez. Mobil numaralarda SIM’in
de takılı olması gerekir. Bkz. Numaraları yönetme.
Timeout
Bölüm başlığı “Timeout”Bekleme en fazla 5 dakika sürer; X-Service-Timeout ile düşürebilirsiniz. Süre dolarsa
yanıt HTTP 200 ve { "success": false, "error": "timeout" } olur. Bkz.
Timeout.