Kode OTP SMS ke Automasi CI dan QA dengan iPhone
Oleh Fwrd · · Diperbarui
Untuk membawa kode sekali pakai SMS ke CI atau automasi QA, taruh SIM yang menerima kode di iPhone tim, lalu biarkan automasi Pesan di Pintasan menyerahkan tiap SMS kode ke Fwrd, yang mengirimkannya ke webhook HTTPS Anda sendiri sebagai JSON. Job CI Anda kemudian membaca kode terbaru dari endpoint itu dan mengetikkannya di layar login.
Yang Anda perlukan: iPhone dengan iOS 26 atau yang lebih baru dan SIM yang nomornya menerima kode, app Pintasan (sudah ada di ponsel), Fwrd, dan alamat HTTPS publik yang bisa dibaca CI Anda, seperti rute staging atau alur n8n. Fwrd menolak alamat IP dan nama .local atau .internal, dan tidak mengirim header login, jadi taruh rahasia yang panjang di alamat.
Mengapa kode SMS sulit diotomatiskan?
Kode SMS menghambat CI karena kode itu masuk ke ponsel, bukan ke runner Anda, sampai ada yang membawa tiap SMS ke tempat yang bisa dibaca pipeline Anda.
Kebanyakan tim yang menulis pemeriksaan ini hanya punya ponsel mereka sendiri untuk menerima kode. iPhone tim dengan Fwrd mengubah ponsel itu menjadi sesuatu yang bisa dibaca pipeline Anda.
Kapan iPhone tim cocok digunakan?
iPhone tim cocok jika kode harus sampai ke nomor operator tertentu: layanan pihak ketiga yang Anda masuki, akun staging yang sudah terikat ke ponsel perusahaan, atau alur yang memperlakukan nomor secara berbeda menurut jenisnya. Dokumen Lookup Twilio (diperiksa 17 Oktober 2026) menunjukkan bahwa app bisa membedakan nomor seluler dari nomor VoIP non-tetap, yang dijelaskannya sebagai nomor virtual yang didapat secara online. SIM di iPhone tim adalah nomor operator biasa, jadi kode tiba seperti yang diterima pelanggan.
Konsekuensinya, satu ponsel berarti satu nomor, dan ponsel itu harus tetap menyala dan terhubung ke internet. Bagian di bawah membahas keduanya.
Cara mengirim kode SMS dari iPhone ke CI Anda
Tambahkan tujuan Webhook di Fwrd yang hanya menyimpan kode, lalu automasi Pesan yang menyerahkan tiap SMS kode ke Fwrd. Panduan webhook membahas sisi endpoint secara lengkap.
Tambahkan webhook di Fwrd. Buka Fwrd, ketuk +, lalu pilih Webhook. Tempel seluruh alamat HTTPS endpoint Anda di kolom “Konfigurasi”, ketuk “Kirim Pesan Uji Coba” agar endpoint Anda melihat kolom-kolomnya, lalu simpan dengan tanda centang.
Simpan hanya kode. Di tujuan yang sama, pilih “Hanya SMS Tertentu” di bawah “SMS yang Diteruskan” dan nyalakan “Terlihat Seperti Kode”, yang menyimpan SMS berisi kode 4 sampai 8 digit. Itu satu syarat, jadi berjalan di paket gratis.
Buat automasi Pesan. Di iOS 27, buka Pintasan, ketuk “Perpustakaan”, lalu “Automasi”, lalu +. Ketuk “Automasi”, lalu “Pesan”, ubah “Pengirim” menjadi “Pesan”, dan ketik kode, atau kata yang dipakai SMS layanan Anda. Di iOS 26, buka tab “Automasi”, ketuk +, pilih “Pesan”, dan ketik kata itu di bawah “Pesan Berisi”.
Biarkan berjalan tanpa bertanya. Di iOS 27, ketuk tanda › di samping pemicu dan pastikan “Konfirmasi Sebelum Menjalankan” mati. Di bawah ⓘ, lalu “Privasi”, pastikan “Izinkan Berjalan Saat Terkunci” menyala. Di iOS 26, pilih “Segera Jalankan”, lalu ketuk “Berikutnya” dan “Buat Pintasan Baru”.
Tambahkan tindakan Fwrd. Cari “Fwrd”, lalu tambahkan “Forward Message to All Destinations” (di pintasan, kartunya bertuliskan “Teruskan Pesan ke Semua Tujuan”). Atur “Pesan” ke “Input Pintasan”. Ketuk kembali untuk menyimpan (“Selesai” di iOS 26).
Baca kode di CI. Minta endpoint Anda menyimpan tiap isi permintaan beserta waktu masuknya. Setelah proses Anda meminta kode, lakukan polling untuk SMS terbaru yang diterima sejak saat itu dan ambil digitnya dengan ekspresi reguler.
Selesai. SMS kode baru kini sampai ke endpoint Anda dengan sendirinya, baik iPhone terkunci maupun tidak.
Apa yang diterima endpoint?
Sebuah POST dengan isi JSON yang memuat SMS persis seperti saat masuk, di content dan text. Tidak ada cap waktu, jadi catat waktunya di sisi Anda.
{
"content": "Your verification code is 482913",
"text": "Your verification code is 482913"
}
Setiap percobaan untuk SMS yang sama membawa header Idempotency-Key yang sama, sehingga Anda bisa membuang duplikatnya. Jika pengiriman kehabisan waktu, mendapat 429 atau 5xx, atau kehilangan koneksi, Fwrd mencoba lagi hingga dua kali. Jawaban 2xx apa pun dalam 15 detik dihitung sebagai terkirim, dan pengalihan ditolak. Nyalakan “Sertakan Pengirim” di “Pengaturan” Fwrd dan pilih “Pengirim” pada tindakan Fwrd, dan isi permintaan juga mendapat kolom sender, berguna jika beberapa layanan mengirim SMS ke nomor yang sama.
Yang tidak bisa dilakukan penyiapan ini
- Satu nomor melayani satu proses dalam satu waktu. Job paralel yang meminta kode di nomor yang sama bisa saling membaca kode, jadi antrekan langkah login atau cocokkan tiap kode dengan proses yang memintanya.
- Paket gratis mencakup 15 kode per bulan. Setelah itu, kode berhenti sampai bulan depan, dan pipeline yang sibuk cepat mencapainya; Fwrd Pro menghapus batasnya.
- Hanya menerima. Fwrd tidak bisa mengirim SMS dari iPhone untuk CI Anda.
- Ponsel tetap menyala dan terhubung ke internet. Setelah iPhone dimulai ulang, penerusan menunggu sampai seseorang membuka kuncinya sekali, dan iPhone yang tidak dibuka kuncinya selama tiga hari memulai ulang sendiri. Jaga agar tetap terisi daya di tempat yang bisa dijangkau seseorang.
- Tindakan Fwrd menjangkau setiap tujuan yang aktif. Jika ponsel yang sama juga meneruskan ke tempat lain, tambahkan “Forward Message to Destination” sebagai gantinya (kartunya bertuliskan “Teruskan Pesan ke Tujuan”) dan pilih webhook.
- Hanya SMS baru. Kode yang masuk sebelum automasi ada tidak dikirim.
Untuk orang yang memerlukan kode, bukan pipeline, berbagi kode 2FA dengan tim Anda di Slack membahas penyiapannya.
Pertanyaan tentang kode SMS di automasi
Bisakah Selenium atau Playwright membaca kode SMS secara langsung?
Tidak. Automasi browser tidak bisa melihat pesan di ponsel. Sesuatu harus memindahkan SMS dari ponsel lebih dulu, seperti automasi Pintasan dengan Fwrd yang mengirimkannya ke webhook yang dipantau skrip Anda secara berkala.
Apakah kodenya melewati server Fwrd?
Tidak. Fwrd tidak punya akun dan tidak punya server sendiri; tiap SMS langsung dari iPhone ke endpoint HTTPS Anda, dan alamatnya tersimpan di Rantai Kunci iPhone.
Apakah ini berfungsi dengan pengirim nomor pendek?
Ya. Automasi mencocokkan isi SMS, bukan siapa pengirimnya, jadi kode dari nomor pendek yang tidak ada di Kontak Anda tetap cocok dengan kata seperti kode.
Bisakah saya memakai alur n8n sebagai endpoint?
Bisa. Tambahkan node Webhook yang diatur ke POST, pakai URL produksinya, dan publikasikan alurnya, jika tidak alur itu tidak akan menjawab. Kirim SMS iPhone ke Zapier, Make, atau n8n memuat langkahnya.
Ingin kode SMS ada di tempat yang bisa dibaca CI Anda?
Fwrd mengirim tiap SMS yang cocok dari iPhone tim ke webhook HTTPS Anda sendiri sebagai JSON, tanpa akun dan tanpa server Fwrd di tengah. Mulai dengan 15 penerusan gratis per bulan.
Gratis untuk 15 penerusan per bulan. Pro menghapus batas penerusan dan filter serta menambahkan daftar “Jangan Pernah Teruskan”, dengan uji coba gratis pada paket tahunan untuk pelanggan yang memenuhi syarat.
iPhone · iOS 26 atau yang lebih baru