ඇප් එකක් තුළ දුරකථන අංකයකට OTP (One‑Time Password) යවලා, පරිශීලකයා එය ඇතුළත් කිරීමෙන් සත්යාපනය සිදු කරන්නේ බොහෝ වෙලාවට “දෙමහල් වැඩක්” ලෙස හැඟේ. නමුත් නිෂ්පාදනයේ එය ආරම්භ කළ විට, SMS ලැබීමේ ප්රතිචාරය ඔබේ පසුබැසීමේ පාලනයට එ්පා නොවන බවක් හමුවේ. මේ ලිපියෙන් අපි OTP කේතය ඔබේ යෙදුමට ගෙන එන්නේ කොහොමද, polling සහ webhook යන දෙකේ ප්රධාන ගැටලු කුමනද කියලා පැහැදිලි කරමු.
Polling ක්රමය – සරලයි, නමුත් අඩුපාඩු ඇත
ඇප් එකෙන් API එකට නියමිත කාලය තුළ (සාමාන්යයෙන් 180 සෙකන්ඩ්) නිතරම GET ඉල්ලීමක් යවා, කේතය ලැබුණාද කියලා පරීක්ෂා කරනවා. සරල Python උදාහරණයක් මෙසේය:
while time.time() < deadline:
r = requests.get(url)
if r.json()["status"] == "RECEIVED":
return r.json()["code"]
time.sleep(3)
මේ ක්රමය ඔබේ ලැප්ටොප් එකේ හොඳින් වැඩ කරයි, නමුත් සමාන වේලාවේ සියලුම verification 50ක් ක්රියාත්මක කරනවා නම්, මිනිත්තුවකට 1,000 ක් පමණ ඉල්ලීම් එනවා. ඒක සේවාදායකයාගේ rate‑limit‑ට ගැලපෙයි, “delivery failure” ලෙස ලොග් වලට පෙනෙයි. තවද, 3‑තත්පර පරතරයක් සෑම විටම භාවිතා කිරීම, කේතය 5‑20 තත්පර තුළ ලැබෙන සාමාන්ය අවස්ථාවන්හි ඉක්මනින් ප්රතිචාර නොදෙනවා.
ආරක්ෂිතව වැඩ කරවීමට exponential backoff (ආරම්භක 1 සෙකන්ඩ්, 1.4 ගුණයකින් වැඩි කර, 8 සෙකන්ඩ් දක්වා) භාවිතා කරනවා නම්, ඉල්ලීම් ගණන අඩු වෙයි, සහ අඩු‑ම පරතරයක් තුළ කේතය ලැබෙන විටත් ක්ෂණිකව පිළිතුර ලැබේ. තවත් වැදගත් කරුණක්, HTTP 502 වැනි තාවකාලික දෝෂයක් එළඹුනොත්, ඒක “no news” ලෙස ගෙන, නැවත polling කරමින් ඉදිරියට යාමයි.
Webhook ක්රමය – ඉල්ලීම් අඩුයි, නමුත් සර්වර් පැමිණිල්ලන්ට සූදානම් විය යුතුයි
සේවාදායකයා callback URL එකක් ලියාපදිංචි කර, SMS පණිවුඩයක් ලැබෙන විට POST ඉල්ලීමක් එවයි. මෙයින් එක verification එකකට එක් ඉල්ලීමක් පමණක් අවශ්යයි. ඒත් ඔබට තවත් සංකීර්ණතා ඇති වෙයි:
- කෝරලේෂන් කී එක (activation ID) පූර්වයෙන්ම සකස් කර, එය callback එකේ payload එකට සම්බන්ධ කළ යුතුයි.
- callback එක asynchronous ලෙස පැමිණෙන නිසා, එය ඔබේ ව්යාපාරික ලොජික් සමඟ සම්බන්ධ කරගැනීමට state‑management අවශ්ය වේ.
- ඩුප්ලික් කේතයන්, retry attempts, සහ HTTP 5xx දෝෂයන් ඇතුළු edge‑case ගැටලු සලකා බැලිය යුතුය.
ඒ නිසා, webhook භාවිතා කරන විට, robust endpoint එකක්, idempotent processing, සහ proper logging අත්යවශ්ය වේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ සංවර්ධකයන්, ආරම්භකයින්, සහ ව්යාපාරිකයන්ට මෙම තාක්ෂණික තේරීම් ගැඹුරු බලපෑම් ඇති කරයි:
- වෙළඳපල අභිවර්ධනය: OTP verification නවතම fintech, e‑commerce, සහ මොබයිල් ඇප් වල අත්යවශ්ය අංගයකි. නිවැරදි polling හෝ webhook ක්රමයක් තේරීම, සේවා නිරවද්යතාවය වැඩි කරයි.
- ඉගෙනුම් අවස්ථා: ශ්රී ලාංකීය තාක්ෂණ ශිෂ්යයන්ට API design, exponential backoff, සහ asynchronous processing වැනි concepts අත්හදා බැලීමට ප්රායෝගික උදාහරණයක්.
- ව්යාපාරික සුරක්ෂිතතාවය: Rate‑limit, throttling, සහ retry strategies ගැන අවබෝධය, අධික පිරිවැය සහ පාරිභෝගික අත්දැකීම් අඩු කිරීමේදී මහත් උපකාරී වේ.
ඔබේ පද්ධතියේ OTP පරිපාලනය නිවැරදිව සැලසුම් කරන්නේ නම්, පාරිභෝගික විශ්වාසය, සේවා වේගය, සහ පද්ධති පරිපාලන පිරිවැය තුනම අඩු කරගත හැක.
අවසන් වශයෙන්, polling සහ webhook අතර තේරීම ඔබේ ව්යාපෘතියේ scale, latency අවශ්යතා, සහ සම්පත් පරිමාව මත පදනම්ව සිදු කළ යුතුයි. සුදුසු ක්රමය තෝරා, production‑level අභියෝගයන්ට මුහුණ දීමට සූදානම් වන්න.