ā§¨ā§Ž āĻĢ⧇āĻŦ, ⧍ā§Ļ⧍ā§Ģ¡7 āĻŽāĻŋāύāĻŋāϟ āĻĒāĻĄāĻŧāϤ⧇

āĻ¸ā§āĻĒāĻˇā§āϟ, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āĻŦāĻžāĻ¨ā§āϧāĻŦ āĻŦāĻžāĻ°ā§āϤāĻžāϰ āϜāĻ¨ā§āϝ API āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋāϰ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ

āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āϕ⧋āĻĄ, āϞ⧋āĻ•āĻžāϞāĻžāχāϜāĻĄ āĻŦāĻžāĻ°ā§āϤāĻž, āĻāĻŦāĻ‚ UI-āĻŦāĻ¨ā§āϧ⧁āĻŦā§°ā§āϧāĻ• āĻšāĻŋāĻ¨ā§āϟ āϏāĻš āĻāĻ•āϟāĻŋ API āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋ āĻĄāĻŋāϜāĻžāχāύ āĻ•āϰ⧁āύ — āϝāĻž āϏāĻžāĻĒā§‹āĻ°ā§āĻŸā§‡āϰ āĻ•āĻžāϜ āĻ•āĻŽāĻžā§Ÿ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āĻĻā§āϰ⧁āϤ āĻĒ⧁āύāϰ⧁āĻĻā§āϧāĻžāϰ āĻ•āϰāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇āĨ¤

āĻ¸ā§āĻĒāĻˇā§āϟ, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āĻŦāĻžāĻ¨ā§āϧāĻŦ āĻŦāĻžāĻ°ā§āϤāĻžāϰ āϜāĻ¨ā§āϝ API āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋāϰ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ

āĻ…āĻ¸ā§āĻĒāĻˇā§āϟ API āĻ¤ā§āϰ⧁āϟāĻŋ āϕ⧇āύ āĻŦāĻžāĻ¸ā§āϤāĻŦ āĻŦā§āϝāĻŦāĻšāĻžāϰ āϏāĻŽāĻ¸ā§āϝāĻžāϰ āϏ⧃āĻˇā§āϟāĻŋ āĻ•āϰ⧇

āĻāĻ•āϟāĻŋ āĻ…āĻ¸ā§āĻĒāĻˇā§āϟ API āĻ¤ā§āϰ⧁āϟāĻŋ āĻļ⧁āϧ⧁ āĻĒā§āϰāϝ⧁āĻ•ā§āϤāĻŋāĻ—āϤ āĻāĻžāĻŽā§‡āϞāĻž āύ⧟āĨ¤ āĻāϟāĻŋ āĻĒāĻŖā§āϝ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ āĻ­āĻžāĻ™āĻž āĻŽā§āĻšā§‚āĻ°ā§āϤ āϝāĻ–āύ āϕ⧇āω āφāϟāϕ⧇ āϝāĻžā§Ÿ, āĻ āĻŋāĻ• āϕ⧀ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ āĻŦāϞ⧇ āϧāϰ⧇ āĻ¨ā§‡ā§Ÿ āĻāĻŦāĻ‚ āĻĒā§āϰāĻžā§Ÿāχ āϛ⧇āĻĄāĻŧ⧇ āĻĻā§‡ā§ŸāĨ¤ āϏ⧇āχ āĻāĻ•āĻ• “āĻ•āĻŋāϛ⧁ āϭ⧁āϞ āĻšā§Ÿā§‡āĻ›ā§‡â€ āĻŦāĻžāĻ°ā§āϤāĻžāϟāĻžāχ āĻŦ⧇āĻļāĻŋ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āϟāĻŋāĻ•āĻŋāϟ, āχāωāϜāĻžāϰ āϚāĻ°ā§āύ āĻāĻŦāĻ‚ āĻāĻŽāύ āĻŦāĻžāĻ— āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āϝāĻž āĻ•āĻ–āύ⧋ āĻĒ⧁āϰ⧋āĻĒ⧁āϰāĻŋ āĻŽāĻŋāĻŸā§‡ āύāĻžāĨ¤

āϏāĻžāϧāĻžāϰāĻŖ āĻāĻ•āϟāĻŋ āĻĻ⧃āĻļā§āϝ āĻāχ āϰāĻ•āĻŽ: āĻāĻ•āϜāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻāĻ•āϟāĻŋ āĻĢāĻ°ā§āĻŽ āϏ⧇āĻ­ āĻ•āϰāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧇, UI-āϤ⧇ āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻŸā§‹āĻ¸ā§āϟ āĻĻ⧇āĻ–āĻžā§Ÿ, āφāϰ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄā§‡āϰ āϞāϗ⧇ āĻĨāĻžāĻ•āĻžāϰ āφāϏāϞ āĻ•āĻžāϰāĻŖ āĻĻ⧇āĻ–āĻž āϝāĻžā§Ÿ ("unique constraint violation on email")āĨ¤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϜāĻžāύ⧇ āύāĻž āϕ⧀ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻŦ⧇āĨ¤ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻž āĻ•āĻžāϰāĻŖ āϞ⧋āϗ⧇ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ⧇āϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āϕ⧋āύ⧋ āϕ⧋āĻĄ āύ⧇āχāĨ¤ āĻāĻ•āχ āϏāĻŽāĻ¸ā§āϝāĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻ¸ā§āĻ•ā§āϰāĻŋāύāĻļāϟ āĻ“ āĻ­āĻžāώāĻžā§Ÿ āϰāĻŋāĻĒā§‹āĻ°ā§āϟ āĻšā§Ÿ āφāϰ āĻ—ā§āϰ⧁āĻĒ āĻ•āϰāĻžāϰ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āωāĻĒāĻžā§Ÿ āĻĨāĻžāϕ⧇ āύāĻžāĨ¤

āĻĄā§‡āϭ⧇āϞāĻĒāĻžāϰ āĻĄāĻŋāĻŸā§‡āχāϞ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϚāĻžāĻšāĻŋāĻĻāĻž āĻāĻ• āύ⧟āĨ¤ āχāĻžā§āϜāĻŋāύāĻŋ⧟āĻžāϰāϰāĻž āϚāĻžāύ āϏāĻ āĻŋāĻ• āĻŦā§āϝāĻ°ā§āĻĨāϤāĻž āĻĒā§āϰāϏāĻ™ā§āĻ— (āϕ⧋āύ āĻĢāĻŋāĻ˛ā§āĻĄ, āϕ⧋āύ āϏāĻžāĻ°ā§āĻ­āĻŋāϏ, āϕ⧋āύ āϟāĻžāχāĻŽāφāωāϟ) — āφāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϚāĻžāύ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻ¸ā§āĻĒāĻˇā§āϟ āĻĒāĻĻāĻ•ā§āώ⧇āĻĒ: “āĻāχ āχāĻŽā§‡āχāϞ āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāĻšā§āϛ⧇āĨ¤ āϏāĻžāχāύ āχāύ āĻ•āϰ⧁āύ āĻ…āĻĨāĻŦāĻž āĻ…āĻ¨ā§āϝ āχāĻŽā§‡āχāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤â€ āĻĻ⧁āχāϟāĻž āĻāĻ•āϏāĻ™ā§āϗ⧇ āĻŽāĻŋāĻļāĻžāϞ⧇ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻšā§Ÿ āĻŦāĻž-āϤāĻĨā§āϝ āĻĢāĻžāρāϏ (āχāĻ¨ā§āϟāĻžāϰāύāĻžāϞ āϞāĻŋāĻ•) āĻŦāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻšā§€āύ āĻŦāĻžāĻ°ā§āϤāĻž (āϏāĻŦāĻ•āĻŋāϛ⧁ āϞ⧁āĻ•āĻžāύ⧋)āĨ¤

āĻāĻ–āĻžāύ⧇āχ API āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋāϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āĻĒā§œā§‡āĨ¤ āωāĻĻā§āĻĻ⧇āĻļā§āϝ āĻŦ⧇āĻļāĻŋ āĻ¤ā§āϰ⧁āϟāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āύ⧟; āĻŦāϰāĻ‚ āĻāĻ• āϰāĻ•āĻŽ āĻ•āĻžāĻ āĻžāĻŽā§‹ āϝāĻžāϤ⧇:

  • āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟāϗ⧁āϞ⧋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āϟ āϜ⧁āĻĄāĻŧ⧇ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝāĻ­āĻžāĻŦ⧇ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻž āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇\n- āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰāĻž āύāĻŋāϰāĻžāĻĒāĻĻ, āϏāĻžāϧāĻžāϰāĻŖ āĻ­āĻžāώāĻžā§Ÿ āĻāĻŽāύ āĻŦāĻžāĻ°ā§āϤāĻž āĻĒāĻžā§Ÿ āϝāĻž āϤāĻžāĻĻ⧇āϰ āĻĒ⧁āύāϰ⧁āĻĻā§āϧāĻžāϰ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇\n- āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻ“ QA āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϏāĻŽāĻ¸ā§āϝāĻžāϕ⧇ āĻ¸ā§āĻĨāĻžā§Ÿā§€ āϕ⧋āĻĄ āĻĻāĻŋā§Ÿā§‡ āĻļāύāĻžāĻ•ā§āϤ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇\n- āχāĻžā§āϜāĻŋāύāĻŋ⧟āĻžāϰāϰāĻž āĻĄāĻžā§ŸāĻžāĻ—āύāĻ¸ā§āϟāĻŋāĻ• āĻĒāĻžā§Ÿ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āĻĄāĻŋāĻŸā§‡āχāϞ āĻĒā§āϰāĻ•āĻžāĻļ āĻšā§Ÿ āύāĻž

āĻ•āύāϏāĻŋāĻ¸ā§āĻŸā§‡āĻ¨ā§āϏāĻŋāχ āĻŽā§‚āϞāĨ¤ āϝāĻĻāĻŋ āĻāĻ• āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āϟ error: "Invalid" āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧇ āφāϰ āĻ…āĻ¨ā§āϝāϟāĻŋ message: "Bad request" āĻĻā§‡ā§Ÿ, UI āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āĻ—āĻžāχāĻĄ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻž āĻāĻŦāĻ‚ āĻĻāϞāĻ“ āύāĻŋāĻ°ā§āϪ⧟ āĻ“ āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻžāĨ¤ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĒāĻˇā§āϟ āϚ⧁āĻ•ā§āϤāĻŋ āĻ¤ā§āϰ⧁āϟāĻŋāϕ⧇ āĻĒā§‚āĻ°ā§āĻŦāĻžāύ⧁āĻŽā§‡ā§Ÿ, āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύāϝ⧋āĻ—ā§āϝ āĻāĻŦāĻ‚ āĻĢāĻŋāĻ•ā§āϏ āĻ•āϰāĻž āϏāĻšāϜ āĻ•āϰ⧇, āĻāĻŽāύāĻ•āĻŋ āφāĻ¨ā§āĻĄāĻžāϰāϞāĻžāχāύ āĻ•āĻžāϰāĻŖ āĻŦāĻĻāϞāĻžāϞ⧇āĻ“āĨ¤

āĻŦāĻžāĻ¸ā§āϤāĻŦ⧇ āĻ•āύāϏāĻŋāĻ¸ā§āĻŸā§‡āĻ¨ā§āϟ āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋ āĻŽāĻžāύ⧇ āϕ⧀

API āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋ āĻāĻ•āϟāĻŋ āĻ…āĻ™ā§āĻ—ā§€āĻ•āĻžāϰ: āĻ•āĻŋāϛ⧁ āϭ⧁āϞ āĻšāϞ⧇ āφāĻĒāύāĻžāϰ API āĻĒāϰāĻŋāϚāĻŋāϤ āĻ—āĻžāĻ āύ āĻ“ āĻĒā§‚āĻ°ā§āĻŦāĻžāύ⧁āĻŽā§‡ā§Ÿ āĻĢāĻŋāĻ˛ā§āĻĄ āĻ“ āϕ⧋āĻĄ āϏāĻš āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋ⧟āĻž āĻĻ⧇āĻŦ⧇, āϕ⧋āύ āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āϟ āĻŦā§āϝāĻ°ā§āĻĨ⧇āχ āĻšā§‹āĻ• āύāĻž āϕ⧇āύāĨ¤

āĻāϟāĻŋ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻĄāĻžāĻŽā§āĻĒ āύ⧟, āĻāĻŦāĻ‚ āϞāϗ⧇āϰ āĻŦāĻĻāϞāĻŋ āύ⧟āĨ¤ āϚ⧁āĻ•ā§āϤāĻŋ āĻšāĻšā§āϛ⧇ āϝāĻž āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ āĻ…ā§āϝāĻžāĻĒ āύāĻŋāϰāĻžāĻĒāĻĻ⧇ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϞāϗ⧇ āϰāĻžāϖ⧁āύ āĻ¸ā§āĻŸā§āϝāĻžāĻ• āĻŸā§āϰ⧇āϏ, SQL āĻĄāĻŋāĻŸā§‡āχāϞāϏ āĻāĻŦāĻ‚ āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āϤāĻĨā§āϝāĨ¤

āĻĒā§āϰāĻžāϝāĻŧā§‹āĻ—āĻŋāĻ•āĻ­āĻžāĻŦ⧇, āĻāĻ•āϟāĻŋ āĻļāĻ•ā§āϤ āϚ⧁āĻ•ā§āϤāĻŋ āĻ•ā§Ÿā§‡āĻ•āϟāĻž āϜāĻŋāύāĻŋāϏ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āϰāĻžāϖ⧇: āϰ⧇āϏāĻĒāĻ¨ā§āϏ āĻļ⧇āχāĻĒ (ā§Ēxx āĻ“ ā§Ģxx āωāĻ­ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝāχ), āĻŽā§‡āĻļāĻŋāύ-āĻĒāĻ āĻŋāϤ āĻ¸ā§āĻĨāĻžā§Ÿā§€ āĻ¤ā§āϰ⧁āϟāĻŋ āϕ⧋āĻĄ āĻāĻŦāĻ‚ āύāĻŋāϰāĻžāĻĒāĻĻ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āĻŽā§āĻ–ā§€ āĻŦāĻžāĻ°ā§āϤāĻžāĨ¤ āĻāϟāĻž āϏāĻžāĻĒā§‹āĻ°ā§āϟāϕ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ request/trace āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻ• āĻĻāĻŋā§Ÿā§‡ āĻāĻŦāĻ‚ āϏāĻšāϜ UI āĻšāĻŋāĻ¨ā§āϟāĻ“ āϰāĻžāĻ–āϤ⧇ āĻĒāĻžāϰ⧇, āϝ⧇āĻŽāύ āϰāĻŋāĻŸā§āϰāĻžāχ āĻ•āϰāĻž āωāϚāĻŋāϤ āĻ•āĻŋ āύāĻž āĻŦāĻž āϕ⧋āύ āĻĢāĻŋāĻ˛ā§āĻĄ āĻ āĻŋāĻ• āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤

āĻ•āύāϏāĻŋāĻ¸ā§āĻŸā§‡āĻ¨ā§āϏāĻŋ āϤāĻ–āύāχ āĻ•āĻžāϜ āĻ•āϰ⧇ āϝāĻ–āύ āφāĻĒāύāĻŋ āĻ āĻŋāĻ• āĻ•āϰ⧇āύ āϕ⧋āĻĨāĻžā§Ÿ āĻŦāĻžāĻ§ā§āϝāĻŦāĻžāϧāĻ•āϤāĻž āφāϰ⧋āĻĒ āĻ•āϰāĻŦ⧇āύāĨ¤ āϟāĻŋāĻŽāϗ⧁āϞ⧋ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāĻ• āϜāĻžā§ŸāĻ—āĻž āĻĨ⧇āϕ⧇ āĻļ⧁āϰ⧁ āĻ•āϰ⧇ āĻĒāϰ⧇ āĻŦāĻžā§œāĻžā§Ÿ: āĻāĻ•āϟāĻŋ API āϗ⧇āϟāĻ“ā§Ÿā§‡ āϝāĻž āĻ¤ā§āϰ⧁āϟāĻŋ āύāϰāĻŽāĻžāϞāĻžāχāϜ āĻ•āϰ⧇, āĻŽāĻŋāĻĄāϞāĻ“ā§Ÿā§āϝāĻžāϰ āϝāĻž āĻ…āύāĻ•āϟ āϘāĻžāϟāϤāĻŋ āĻ°â€ā§āϝāĻžāĻĒ āĻ•āϰ⧇, āĻāĻ•āϟāĻŋ āĻļā§‡ā§ŸāĻžāĻ°ā§āĻĄ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āϝāĻž āĻāĻ•āχ āĻ¤ā§āϰ⧁āϟāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āϤ⧈āϰāĻŋ āĻ•āϰ⧇, āĻŦāĻž āϏāĻžāĻ°ā§āĻ­āĻŋāϏ āĻ¸ā§āϤāϰ⧇āϰ āĻāĻ•ā§āϏ⧇āĻĒāĻļāύ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰāĨ¤

āĻĒā§āϰāϧāĻžāύ āĻĒā§āϰāĻ¤ā§āϝāĻžāĻļāĻž āϏāĻšāϜ: āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āϟ āĻŦāĻž āϏāĻžāĻĢāĻ˛ā§āϝ⧇āϰ āĻļ⧇āχāĻĒ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰāĻŦ⧇, āĻŦāĻž āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻžāϰ āϜāĻ¨ā§āϝ āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋāĨ¤ āĻāϤ⧇ āĻ­ā§āϝāĻžāϞāĻŋāĻĄā§‡āĻļāύ āĻ¤ā§āϰ⧁āϟāĻŋ, āĻ…āĻĨāϰāĻžāχāĻœā§‡āĻļāύ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻž, āϰ⧇āϟ āϞāĻŋāĻŽāĻŋāϟ, āϟāĻžāχāĻŽāφāωāϟ, āĻāĻŦāĻ‚ āφāĻĒāĻ¸ā§āĻŸā§āϰāĻŋāĻŽ āφāωāĻŸā§‡āϜ āϏāĻŦāχ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤāĨ¤

āĻāĻ•āϟāĻŋ āϏāĻšāϜ āĻ¤ā§āϰ⧁āϟāĻŋ āϰ⧇āϏāĻĒāĻ¨ā§āϏ āĻļ⧇āχāĻĒ āϝāĻž āĻŦāĻžā§œā§‡

āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ⧋ API āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋ āϛ⧋āϟ, āĻĒā§‚āĻ°ā§āĻŦāĻžāύ⧁āĻŽā§‡ā§Ÿ āĻāĻŦāĻ‚ āĻŽāĻžāύ⧁āώ āĻ“ āϏāĻĢāϟāĻ“ā§Ÿā§āϝāĻžāϰ āωāĻ­ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝāχ āĻŦā§āϝāĻŦāĻšāĻžāϰāϝ⧋āĻ—ā§āϝ āĻĨāĻžāϕ⧇āĨ¤ āϝāĻ–āύ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ āϏāĻŦāϏāĻŽā§Ÿ āĻāĻ•āχ āĻĢāĻŋāĻ˛ā§āĻĄāϗ⧁āϞ⧋ āϖ⧁āρāĻœā§‡ āĻĒāĻžā§Ÿ, āϏāĻžāĻĒā§‹āĻ°ā§āϟ āφāĻ¨ā§āĻĻāĻžāϜ āĻ•āϰāĻž āĻŦāĻ¨ā§āϧ āĻ•āϰ⧇ āĻāĻŦāĻ‚ UI āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āϏāĻšāĻžā§ŸāϤāĻž āĻĻā§‡ā§ŸāĨ¤

āύāĻŋāĻšā§‡ āĻāĻŽāύ āĻāĻ•āϟāĻŋ āĻŽāĻŋāύāĻŋāĻŽāĻžāϞ JSON āĻļ⧇āχāĻĒ āφāϛ⧇ āϝāĻž āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āĻĒā§āϰ⧋āĻĄāĻžāĻ•ā§āĻŸā§‡ āĻ•āĻžāϜ āĻ•āϰ⧇ (āĻāĻŦāĻ‚ āφāϰāĻ“ āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āϟ āĻŦāĻžā§œāĻžāϞ⧇ āĻ¸ā§āϕ⧇āϞ āĻ•āϰ⧇):

{
  "status": 400,
  "code": "AUTH.INVALID_EMAIL",
  "message": "Enter a valid email address.",
  "details": {
    "fields": {
      "email": "invalid_email"
    },
    "action": "fix_input",
    "retryable": false
  },
  "trace_id": "01HZYX8K9Q2..."
}

āϚ⧁āĻ•ā§āϤāĻŋ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āϰāĻžāĻ–āϤ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ…āĻ‚āĻļāϕ⧇ āφāϞāĻžāĻĻāĻž āĻ…āĻ™ā§āĻ—ā§€āĻ•āĻžāϰ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧁āύ:

  • status HTTP āφāϚāϰāĻŖ āĻ“ āĻŦāĻŋāĻ¸ā§āϤ⧃āϤ āĻ•ā§āϝāĻžāϟāĻžāĻ—āϰāĻŋāϰ āϜāĻ¨ā§āϝāĨ¤\n- code āĻšāϞ āĻ¸ā§āĻĨāĻžā§Ÿā§€, āĻŽā§‡āĻļāĻŋāύ-āĻĒāĻ āĻŋāϤ āφāχāĻĄā§‡āĻ¨ā§āϟāĻŋāĻĢāĻžā§ŸāĻžāϰ (āφāĻĒāύāĻžāϰ API āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋāϰ āĻŽā§‚āϞ)āĨ¤\n- message āύāĻŋāϰāĻžāĻĒāĻĻ UI āĻŸā§‡āĻ•ā§āϏāϟ (āĻāĻŦāĻ‚ āĻ­āĻŦāĻŋāĻˇā§āϝāϤ⧇ āϞ⧋āĻ•āĻžāϞāĻžāχāϜ āĻ•āϰāĻž āϝāĻžāĻŦ⧇)āĨ¤\n- details āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāĻ°ā§āĻĄ āĻšāĻŋāĻ¨ā§āϟ āϰāĻžāϖ⧇: āĻĢāĻŋāĻ˛ā§āĻĄ-āϞ⧇āϭ⧇āϞ āϏāĻŽāĻ¸ā§āϝāĻž, āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻ•āϰāĻŖā§€ā§Ÿ, āĻāĻŦāĻ‚ āϰāĻŋāĻŸā§āϰāĻžāχ āϝ⧁āĻ•ā§āϤāĻŋāĨ¤\n- trace_id āϏāĻžāĻĒā§‹āĻ°ā§āϟāϕ⧇ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϏāĻžāĻ°ā§āĻ­āĻžāϰ-āϏāĻžāχāĻĄ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻž āϖ⧁āρāĻœā§‡ āĻĒ⧇āϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āχāĻ¨ā§āϟāĻžāϰāύāĻžāϞ āĻĄāĻŋāĻŸā§‡āχāϞ āĻĢāĻžāρāϏ āĻ•āϰ⧇ āύāĻžāĨ¤

āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āĻŽā§āĻ–ā§€ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟ āφāϞāĻžāĻĻāĻž āϰāĻžāϖ⧁āύ āĻāĻŦāĻ‚ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āϤāĻĨā§āϝ āφāϞāĻžāĻĻāĻž āϰāĻžāϖ⧁āύāĨ¤ āϝāĻĻāĻŋ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻĄāĻžā§ŸāĻžāĻ—āύāĻ¸ā§āϟāĻŋāĻ• āĻĻāϰāĻ•āĻžāϰ āĻšā§Ÿ, āϏ⧇āϗ⧁āϞ⧋ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āϞāĻ— āϰāĻžāϖ⧁āύ āĻāĻŦāĻ‚ trace_id āĻĻā§āĻŦāĻžāϰāĻž āϕ⧀ āĻ•āϰ⧇ āĻŽāĻŋāϞāĻŋā§Ÿā§‡ āĻĻ⧇āϖ⧁āύ (āϰ⧇āϏāĻĒāĻ¨ā§āϏ⧇ āύ⧟)āĨ¤ āĻāϤ⧇ āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āĻĄā§‡āϟāĻž āĻĢāĻžāρāϏ āĻšāĻ“ā§ŸāĻž āϰ⧋āϧ āĻšā§Ÿ āĻ•āĻŋāĻ¨ā§āϤ⧁ āϏāĻŽāĻ¸ā§āϝāĻž āϤāĻĻāĻ¨ā§āϤ āĻ•āϰāĻž āϏāĻšāϜ āĻĨāĻžāϕ⧇āĨ¤

āĻĢāĻŋāĻ˛ā§āĻĄ āĻ¤ā§āϰ⧁āϟāĻŋāϰ āϜāĻ¨ā§āϝ, details.fields āĻāĻ•āϟāĻŋ āϏāĻšāϜ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ: āϕ⧀āϗ⧁āϞ⧋ āχāύāĻĒ⧁āϟ āύāĻžāĻŽ āĻŽāĻŋāϞ⧇, āĻŽāĻžāύāϗ⧁āϞ⧋ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āĻ•āĻžāϰāĻŖ āϧāϰ⧇ āϰāĻžāϖ⧇ āϝ⧇āĻŽāύ invalid_email āĻŦāĻž too_shortāĨ¤ āĻ—āĻžāχāĻĄā§‡āĻ¨ā§āϏ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϤāĻ–āύāχ āϝ⧋āĻ— āĻ•āϰ⧁āύ āϝāĻ–āύ āϤāĻž āϏāĻšāĻžā§ŸāĻ• āĻšā§ŸāĨ¤ āϟāĻžāχāĻŽāφāωāĻŸā§‡āϰ āϜāĻ¨ā§āϝ action: "retry_later" āϝāĻĨ⧇āĻˇā§āϟ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϏāĻžāĻŽā§ŸāĻŋāĻ• āφāωāĻŸā§‡āĻœā§‡āϰ āϜāĻ¨ā§āϝ retryable: true āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟāϕ⧇ āϰāĻŋāĻŸā§āϰāĻžāχ āĻŦāĻžāϟāύ āĻĻ⧇āĻ–āĻžāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇āĨ¤

āĻāĻ•āϟāĻž āύ⧋āϟ: āĻ•āĻŋāϛ⧁ āϟāĻŋāĻŽ error āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āϏāĻŦāĻ•āĻŋāϛ⧁ āĻ°â€ā§āϝāĻžāĻĒ āĻ•āϰ⧇ (āϝ⧇āĻŽāύ { "error": { ... } }), āφāϰ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ⧇āϰāĻž āϟāĻĒ-āϞ⧇āϭ⧇āϞ⧇ āĻĢāĻŋāĻ˛ā§āĻĄ āϰāĻžāϖ⧇āĨ¤ āϕ⧋āύ āĻĒāĻĻā§āϧāϤāĻŋāχ āĻ•āĻžāϜ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ — āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻšāĻšā§āϛ⧇ āĻāĻ•āϟāĻŋ āĻāύāϭ⧇āϞāĻĒ āĻŦ⧇āϛ⧇ āύ⧇āĻ“ā§ŸāĻž āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϜāĻžā§ŸāĻ—āĻžā§Ÿ āĻāĻ•āχ āϰāĻžāĻ–āĻžāĨ¤

āĻ¸ā§āĻĨāĻžā§Ÿā§€ āĻ¤ā§āϰ⧁āϟāĻŋ āϕ⧋āĻĄ: āĻāĻŽāύ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ āϝāĻž āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ āĻ­āĻžāϙ⧇ āύāĻž

āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āĻ¤ā§āϰ⧁āϟāĻŋ āϕ⧋āĻĄ API āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋāϰ āĻŽā§‡āϰ⧁āĻĻāĻ¨ā§āĻĄāĨ¤ āĻāϗ⧁āϞ⧋ āĻ…ā§āϝāĻžāĻĒ, āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻāĻŦāĻ‚ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āϟāĻŋāĻŽāϕ⧇ āĻāĻ•āϟāĻŋ āϏāĻŽāĻ¸ā§āϝāĻž āϚāĻŋāύāϤ⧇ āĻĻā§‡ā§Ÿ āĻāĻŽāύāĻ•āĻŋ āφāĻĒāύāĻŋ āĻ“ā§ŸāĻžāĻ°ā§āĻĄāĻŋāĻ‚ āĻŦāĻĻāϞāĻžāϞ⧇āĻ“ āĻŦāĻž āĻĢāĻŋāĻ˛ā§āĻĄ āĻŦāĻžā§œāĻžāϞ⧇āĻ“āĨ¤

āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ• āύāĻžāĻŽāĻ•āϰāĻŖ āĻ•āύāϭ⧇āύāĻļāύ āĻšāϞ⧋:

DOMAIN.ACTION.REASON

āωāĻĻāĻžāĻšāϰāĻŖ: AUTH.LOGIN.INVALID_PASSWORD, BILLING.PAYMENT.CARD_DECLINED, PROFILE.UPDATE.EMAIL_TAKENāĨ¤ āĻĄā§‹āĻŽā§‡āχāύāϗ⧁āϞ⧋ āϛ⧋āϟ āĻ“ āĻĒāϰāĻŋāϚāĻŋāϤ āϰāĻžāϖ⧁āύ (AUTH, BILLING, FILES)āĨ¤ āĻ•ā§āϰāĻŋ⧟āĻžāĻĒāĻĻ⧇āϰ āĻŽāϤ⧋ āĻ…ā§āϝāĻžāĻ•āĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ (CREATE, UPDATE, PAY)āĨ¤

āϕ⧋āĻĄāϗ⧁āϞ⧋āϕ⧇ āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āĻŸā§‡āϰ āĻŽāϤ⧋ āφāϚāϰāĻŖ āĻ•āϰ⧁āύ: āĻāĻ•āĻŦāĻžāϰ āĻĒāĻžāĻŦāϞāĻŋāĻ• āĻšāϞ⧇ āϤāĻžāĻĻ⧇āϰ āĻŽāĻžāύ āĻŦāĻĻāϞāĻžāύ⧋ āωāϚāĻŋāϤ āύ⧟āĨ¤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻ•āĻžāϛ⧇ āĻĻ⧇āĻ–āĻžāύ⧋ āĻŸā§‡āĻ•ā§āϏāϟ āϏāĻŽā§Ÿā§‡āϰ āϏāĻžāĻĨ⧇ āωāĻ¨ā§āύāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ (āĻ­āĻžāώāĻž, āĻŸā§‹āύ), āĻ•āĻŋāĻ¨ā§āϤ⧁ āϕ⧋āĻĄāϟāĻŋ āĻ…āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āϰāĻžāĻ–āĻž āωāϚāĻŋāϤ āϝāĻžāϤ⧇ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ āĻ­āĻžāĻ™ā§āϗ⧇ āύāĻž āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāύāĻžāϞāĻŋāϟāĻŋāĻ•ā§āϏ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āĻĨāĻžāϕ⧇āĨ¤

āĻāĻ›āĻžā§œāĻž āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āύāĻŋāύ āϕ⧋āύ āϕ⧋āĻĄ āĻĒāĻžāĻŦāϞāĻŋāĻ• āĻāĻŦāĻ‚ āϕ⧋āύāϟāĻž āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖāĨ¤ āϏāĻžāϧāĻžāϰāĻŖ āύāĻŋ⧟āĻŽ: āĻĒāĻžāĻŦāϞāĻŋāĻ• āϕ⧋āĻĄāϗ⧁āϞ⧋ UI-āϤ⧇ āĻĻ⧇āĻ–āĻžāύ⧋ āύāĻŋāϰāĻžāĻĒāĻĻ, āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ, āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻĄ āĻāĻŦāĻ‚ UI āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāϝ⧋āĻ—ā§āϝāĨ¤ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āϕ⧋āĻĄ āϞāϗ⧇ āϰāĻžāϖ⧁āύ (āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āύāĻžāĻŽ, āϭ⧇āĻ¨ā§āĻĄāϰ āĻĄāĻŋāĻŸā§‡āχāϞāϏ, āĻ¸ā§āĻŸā§āϝāĻžāĻ• āχāύāĻĢ)āĨ¤ āĻāĻ•āϟāĻŋ āĻĒāĻžāĻŦāϞāĻŋāĻ• āϕ⧋āĻĄ āĻŦāĻšā§ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻ•āĻžāϰāĻŖāϕ⧇ āĻŽāĻžāύāϤ⧇ āĻĒāĻžāϰ⧇, āĻŦāĻŋāĻļ⧇āώāϤ āϝāĻ–āύ āĻāĻ•āϟāĻŋ āĻĄāĻŋāĻĒ⧇āĻ¨ā§āĻĄā§‡āĻ¨ā§āϏāĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύāĻ­āĻžāĻŦ⧇ āĻŦā§āϝāĻ°ā§āĻĨ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻĄāĻŋāĻĒā§āϰ⧇āϕ⧇āĻļāύ āϤāĻ–āύāχ āĻ­āĻžāϞ⧋ āĻšā§Ÿ āϝāĻ–āύ āϤāĻž āϭ⧇āϜāĻŋāϞ āύāĻž āĻšā§ŸāĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϕ⧇ āϕ⧋āĻĄ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāϤ⧇ āĻšā§Ÿ, āϤāĻž āϚ⧁āĻĒāϚāĻžāĻĒ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻŽāĻžāύ⧇ āĻĒ⧁āύāϰāĻžā§Ÿ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ⧇āύ āύāĻžāĨ¤ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āϕ⧋āĻĄ āĻĒāϰāĻŋāϚ⧟ āĻ•āϰāĻžāύ āĻāĻŦāĻ‚ āĻĒ⧁āϰāĻžāύ⧋āϟāĻž āĻĄāĻŋāĻĒā§āϰāĻŋāϕ⧇āϟ āĻ•āϰāĻž āĻšāĻŋāϏ⧇āĻŦ⧇ āϚāĻŋāĻšā§āύāĻŋāϤ āĻ•āϰ⧁āύāĨ¤ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟāĻĻ⧇āϰ āϜāĻ¨ā§āϝ āĻ“āĻ­āĻžāϰāĻ˛ā§āϝāĻžāĻĒ āωāχāĻ¨ā§āĻĄā§‹ āĻĻāĻŋāύ āϝ⧇āĻ–āĻžāύ⧇ āĻĻ⧁āĻĻāĻŋāϕ⧇āϰ āϕ⧋āĻĄāχ āĻĻ⧇āĻ–āĻžāύ⧋ āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āĻĢāĻŋāĻ˛ā§āĻĄ deprecated_by āĻĻā§‡ā§Ÿ, āϏ⧇āϟāĻŋāϤ⧇ āύāϤ⧁āύ āϕ⧋āĻĄ āĻĻ⧇āĻ–āĻžāύ (āϕ⧋āύāĻ“ URL āύ⧟)āĨ¤

āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, BILLING.PAYMENT.CARD_DECLINED āĻŦāϜāĻžā§Ÿ āϰāĻžāϖ⧁āύ āĻāĻŽāύāĻ•āĻŋ āφāĻĒāύāĻŋ UI āĻ•āĻĒāĻŋ āωāĻ¨ā§āύāϤ āĻ•āϰāϞ⧇ āĻ“ āĻāϟāĻŋāϕ⧇ āĻĻ⧁āχāϟāĻŋ āφāϞāĻžāĻĻāĻž āĻ—āĻžāχāĻĄā§‡ āĻ­āĻžāĻ— āĻ•āϰāϞ⧇āĻ“ — āϕ⧋āĻĄ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āĻĨāĻžāĻ•āϞ⧇ āĻ…āύ⧁āĻŦāĻ°ā§āϤ⧀āϤāĻž āĻ…āĻŦā§āϝāĻžāĻšāϤ āĻĨāĻžāϕ⧇āĨ¤

āĻ•āύāϏāĻŋāĻ¸ā§āĻŸā§‡āĻ¨ā§āϏ āĻšāĻžāϰāĻŋā§Ÿā§‡ āύāĻž āĻĻāĻŋā§Ÿā§‡ āϞ⧋āĻ•āĻžāϞāĻžāχāϜāĻĄ āĻŦāĻžāĻ°ā§āϤāĻž āĻ•āϰāĻž

āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ…ā§āϝāĻžāĻĒ āĻ“ā§ŸāĻžāĻ°ā§āĻ•āĻĢā§āϞ⧋ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ
āĻĒā§āϰāϤāĻŋāϟāĻŋ āχāĻ¨ā§āϟāĻŋāĻ—ā§āϰ⧇āĻļāύ āĻšāĻžāϤ⧇ āϕ⧋āĻĄ āύāĻž āĻ•āϰ⧇ authentication, āĻĒ⧇āĻŽā§‡āĻ¨ā§āϟ āĻ“ āĻŽā§‡āϏ⧇āϜāĻŋāĻ‚ āĻŽāĻĄāĻŋāωāϞ āϝ⧋āĻ— āĻ•āϰ⧁āύ
āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύ

āϞ⧋āĻ•āĻžāϞāĻžāχāĻœā§‡āĻļāύ āϜāϟāĻŋāϞ āĻšā§Ÿ āϝāĻ–āύ API āĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻžāĻ•ā§āϝ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ āϏ⧇āϗ⧁āϞ⧋āϕ⧇ āϞāϜāĻŋāĻ• āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤ āĻ­āĻžāϞ⧋ āĻĒāĻĻā§āϧāϤāĻŋ āĻšāϞ⧋ āϚ⧁āĻ•ā§āϤāĻŋāϟāĻŋāϕ⧇ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āϰāĻžāĻ–āĻž āĻāĻŦāĻ‚ "āϞāĻžāĻ¸ā§āϟ-āĻŽāĻžāχāϞ" āĻŸā§‡āĻ•ā§āϏāϟ āĻ…āύ⧁āĻŦāĻžāĻĻ āĻ•āϰāĻž āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āĻŸā§‡ āĻŦāĻž āĻāĻ•āĻ• āĻ‰ā§ŽāϏ⧇ āĻ•āϰāĻžāĨ¤ āĻāϤ⧇ āĻāĻ•āχ āĻ¤ā§āϰ⧁āϟāĻŋ āĻāĻ•āχ āĻ­āĻžāώāĻžā§Ÿ āĻ“ āĻĄāĻŋāĻ­āĻžāχāϏ⧇ āĻāĻ•āχ āĻ…āĻ°ā§āĻĨ āϰāĻžāĻ–āĻŦ⧇āĨ¤

āĻĒā§āϰāĻĨāĻŽā§‡ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āύāĻŋāύ āĻ…āύ⧁āĻŦāĻžāĻĻ āϕ⧋āĻĨāĻžā§Ÿ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻ“ā§Ÿā§‡āĻŦ, āĻŽā§‹āĻŦāĻžāχāϞ āĻ“ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āϟ⧁āϞ⧇ āĻāĻ•āĻ• āĻŸā§āϰ⧁āĻĨ āĻĻāϰāĻ•āĻžāϰ āĻšā§Ÿ, āϏāĻžāĻ°ā§āĻ­āĻžāϰ-āϏāĻžāχāĻĄ āĻŽā§‡āϏ⧇āϜ āϏāĻšāĻžā§ŸāϤāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϝāĻĻāĻŋ UI-āϤ⧇ āĻŸā§‹āύ āĻ“ āϞ⧇āφāωāϟ āύāĻŋ⧟āĻ¨ā§āĻ¤ā§āϰāĻŖ āϜāϰ⧁āϰāĻŋ, āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ-āϏāĻžāχāĻĄ āĻ…āύ⧁āĻŦāĻžāĻĻ āϏ⧁āĻŦāĻŋāϧāĻžāϜāύāĻ•āĨ¤ āĻ…āύ⧇āĻ• āϟāĻŋāĻŽ āĻšāĻžāχāĻŦā§āϰāĻŋāĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇: API āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āϕ⧋āĻĄ, message_key āĻāĻŦāĻ‚ āĻĒāϰāĻžāĻŽāĻŋāϟāĻžāϰ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧇, āφāϰ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ āωāĻĒāϝ⧁āĻ•ā§āϤ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύāϝ⧋āĻ—ā§āϝ āĻŸā§‡āĻ•ā§āϏāϟ āĻŦ⧇āϛ⧇ āĻ¨ā§‡ā§ŸāĨ¤

API āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋāϰ āϜāĻ¨ā§āϝ, āĻŽā§‡āϏ⧇āϜ āϕ⧀āϗ⧁āϞ⧋ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻšāĻžāĻ°ā§āĻĄāϕ⧋āĻĄā§‡āĻĄ āĻŦāĻžāĻ•ā§āϝ⧇āϰ āĻšā§‡ā§Ÿā§‡ āύāĻŋāϰāĻžāĻĒāĻĻāĨ¤ API āĻ•āĻŋāϛ⧁āϟāĻž āĻĻā§‡ā§Ÿ āϝ⧇āĻŽāύ message_key: "auth.too_many_attempts" āĻāĻŦāĻ‚ params: {"retry_after_seconds": 300}āĨ¤ UI āĻāϟāĻŋāϕ⧇ āĻ…āύ⧁āĻŦāĻžāĻĻ āĻ“ āĻĢāϰāĻŽā§āϝāĻžāϟ āĻ•āϰ⧇ āϏāϰāĻŦāϰāĻžāĻš āĻ•āϰ⧇āĨ¤

āĻĒā§āϞ⧁āϰāĻžāϞāĻžāχāĻœā§‡āĻļāύ āĻāĻŦāĻ‚ āĻĢā§āϝāĻžāϞāĻŦā§āϝāĻžāĻ• āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϞ⧋āϕ⧇āϞ⧇ āĻĒā§āϞ⧁āϰāĻžāϞ āϰ⧁āϞ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇ āĻāĻŽāύ i18n āϏ⧇āϟāφāĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āĻāĻ•āϟāĻŋ āĻĢā§āϝāĻžāϞāĻŦā§āϝāĻžāĻ• āĻšā§‡āχāύ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧁āύ (āϝ⧇āĻŽāύ: fr-CA -> fr -> en) āϝāĻžāϤ⧇ āĻ…āύ⧁āĻĒāĻ¸ā§āĻĨāĻŋāϤ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻ–āĻžāϞāĻŋ āĻ¸ā§āĻ•ā§āϰāĻŋāύ āύāĻž āĻ•āϰ⧇āĨ¤

āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ āĻ—āĻžāχāĻĄāϞāĻžāχāύ: āĻ…āύ⧁āĻŦāĻžāĻĻāĻ•ā§ƒāϤ āĻŸā§‡āĻ•ā§āϏāϟāϕ⧇ āĻ•āĻ ā§‹āϰāĻ­āĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āĻŽā§āĻ–ā§€ āĻšāĻŋāϏ⧇āĻŦ⧇ āϧāϰ⧁āύāĨ¤ āĻ¸ā§āĻŸā§āϝāĻžāĻ• āĻŸā§āϰ⧇āϏ, āχāĻ¨ā§āϟāĻžāϰāύāĻžāϞ āφāχāĻĄāĻŋ āĻŦāĻž āĻ•āĻžāρāϚāĻž āĻŦā§āϝāĻ°ā§āĻĨāϤāĻžāϰ āĻ•āĻžāϰāĻŖ āϞ⧋āĻ•āĻžāϞāĻžāχāϜāĻĄ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ā§Ÿā§‡ āϰāĻžāĻ–āĻŦ⧇āύ āύāĻžāĨ¤ āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āĻĄāĻŋāĻŸā§‡āχāϞ āϞāϗ⧇ āϰāĻžāϖ⧁āύ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϜāĻ¨ā§āϝ āύāĻŋāϰāĻžāĻĒāĻĻ āĻ“ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ⧀ āĻŸā§‡āĻ•ā§āϏāϟ āĻĻāĻŋāύāĨ¤

āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻžāϕ⧇ UI āĻšāĻŋāĻ¨ā§āĻŸā§‡ āĻĒāϰāĻŋāĻŖāϤ āĻ•āϰāĻž

UI āĻšāĻŋāĻ¨ā§āϟāϗ⧁āϞ⧋āϕ⧇ āϕ⧋āĻĄā§‡āϰ āϏāĻžāĻĨ⧇ āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧁āύ
āĻ­āĻ™ā§āϗ⧁āϰ āĻŸā§‡āĻ•ā§āϏāĻŸā§‡āϰ āĻŦāĻĻāϞ⧇ āĻ¤ā§āϰ⧁āϟāĻŋ āϕ⧋āĻĄā§‡ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋ⧟āĻž āĻ•āϰāĻž āĻ“āϝāĻŧ⧇āĻŦ āĻ“ āĻŽā§‹āĻŦāĻžāχāϞ āĻ¸ā§āĻ•ā§āϰāĻŋāύ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ
āĻāĻ–āύ āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύ

āĻŦāĻšā§ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āĻ¤ā§āϰ⧁āϟāĻŋ āχāĻžā§āϜāĻŋāύāĻŋ⧟āĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āĻĻāϰāĻ•āĻžāϰ⧀, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻĒā§āϰāĻžāϝāĻŧāχ āϏ⧇āϗ⧁āϞ⧋ āĻ¸ā§āĻ•ā§āϰāĻŋāύ⧇ āĻāϏ⧇ āĻĒā§œā§‡ āĻļ⧁āϧ⧁ "āĻ•āĻŋāϛ⧁ āϭ⧁āϞ āĻšā§Ÿā§‡āϛ⧇" āφāĻ•āĻžāϰ⧇āĨ¤ āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ⧋ āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻžāϕ⧇ āĻ¸ā§āĻĒāĻˇā§āϟ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āϧāĻžāĻĒ⧇ āĻĒāϰāĻŋāĻŖāϤ āĻ•āϰ⧇, āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āĻĄāĻŋāĻŸā§‡āχāϞ āĻĢāĻžāρāϏ āύāĻž āĻ•āϰ⧇āĨ¤

āϏāĻšāϜāĻ­āĻžāĻŦ⧇ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻžāϗ⧁āϞ⧋āϕ⧇ āϤāĻŋāύāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰāĻŋ āĻ•ā§āϰāĻŋ⧟āĻžāϰ āĻŽāĻ§ā§āϝ⧇ āĻŽā§āϝāĻžāĻĒ āĻ•āϰ⧁āύ: fix input, retry, āĻŦāĻž contact supportāĨ¤ āĻāϤ⧇ UI āĻ“āϝāĻŧ⧇āĻŦ āĻ“ āĻŽā§‹āĻŦāĻžāχāϞ⧇ āϏāĻ™ā§āĻ—āϤāĻŋāĻŦāĻĻā§āϧ āĻĨāĻžāϕ⧇ āĻāĻŽāύāĻ•āĻŋ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻžāϰ āĻ­āĻžāĻŖā§āĻĄāĻžāϰ āĻĨāĻžāĻ•āϞ⧇āĻ“āĨ¤

  • Fix input: āĻ­ā§āϝāĻžāϞāĻŋāĻĄā§‡āĻļāύ āĻŦā§āϝāĻ°ā§āĻĨ, āĻĢāϰāĻŽā§āϝāĻžāϟ āϭ⧁āϞ, āĻĒā§āĻ°ā§Ÿā§‹āϜāĻ¨ā§€ā§Ÿ āĻĢāĻŋāĻ˛ā§āĻĄ āĻ…āύ⧁āĻĒāĻ¸ā§āĻĨāĻŋāϤāĨ¤\n- Retry: āϟāĻžāχāĻŽāφāωāϟ, āϏāĻžāĻŽā§ŸāĻŋāĻ• āφāĻĒāĻ¸ā§āĻŸā§āϰāĻŋāĻŽ āϏāĻŽāĻ¸ā§āϝāĻž, āϰ⧇āϟ āϞāĻŋāĻŽāĻŋāϟāĨ¤\n- Contact support: āĻ…āύ⧁āĻŽāϤāĻŋ āϏāĻŽāĻ¸ā§āϝāĻž, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻŽā§€āĻŽāĻžāĻ‚āϏāĻž āĻ•āϰāϤ⧇ āύāĻž āĻĒāĻžāϰāĻž āĻ•āύāĻĢā§āϞāĻŋāĻ•ā§āϟ, āĻ…āύāĻžāĻ•āĻžāĻ™ā§āĻ•ā§āώāĻŋāϤ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻ¤ā§āϰ⧁āϟāĻŋāĨ¤

āĻĢāĻŋāĻ˛ā§āĻĄ āĻšāĻŋāĻ¨ā§āϟāϗ⧁āϞāĻŋ āϞāĻŽā§āĻŦāĻž āĻŦāĻžāĻ°ā§āϤāĻžāϰ āĻšā§‡ā§Ÿā§‡ āĻŦ⧇āĻļāĻŋ āĻ•āĻžāĻ°ā§āϝāĻ•āϰāĨ¤ āϝāĻ–āύ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āϜāĻžāύ⧇ āϕ⧋āύ āχāύāĻĒ⧁āϟ āĻŦā§āϝāĻ°ā§āĻĨ āĻšā§Ÿā§‡āϛ⧇, āĻāĻ•āϟāĻŋ āĻŽā§‡āĻļāĻŋāύ-āĻĒāĻ āĻŋāϤ āĻĒā§Ÿā§‡āĻ¨ā§āϟāĻžāϰ (āϝ⧇āĻŽāύ email āĻŦāĻž card_number) āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āĻ•āĻžāϰāĻŖ āĻĻāĻŋāύ āϝāĻž UI āχāύāϞāĻžāχāύ āĻĻ⧇āĻ–āĻžāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϝāĻĻāĻŋ āĻāĻ•āĻžāϧāĻŋāĻ• āĻĢāĻŋāĻ˛ā§āĻĄ āϭ⧁āϞ āĻĨāĻžāϕ⧇, āϏāĻŦāϗ⧁āϞ⧋ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧁āύ āϝāĻžāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻāĻ•āĻŦāĻžāϰ⧇ āϏāĻŦ āĻ āĻŋāĻ• āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

UI āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύāĻ“ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϰ āϏāĻžāĻĨ⧇ āĻŽāĻŋāϞāĻŋā§Ÿā§‡ āϰāĻžāϖ⧁āύāĨ¤ āϏāĻžāĻŽā§ŸāĻŋāĻ• āϰāĻŋāĻŸā§āϰāĻžāĻ‡ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ āĻŸā§‹āĻ¸ā§āϟ āĻ āĻŋāĻ• āφāϛ⧇; āχāύāĻĒ⧁āϟ āĻ¤ā§āϰ⧁āϟāĻŋ āχāύāϞāĻžāχāύ āĻĻ⧇āĻ–āĻžāύ; āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ āĻŦāĻž āĻĒ⧇āĻŽā§‡āĻ¨ā§āϟ āĻŦā§āϞāĻ•āĻžāϰāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āĻŦā§āϞāĻ•āĻŋāĻ‚ āĻĄāĻžā§ŸāĻžāϞāĻ— āĻĻāϰāĻ•āĻžāϰāĨ¤

āĻāĻ•āϟāĻŋ āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ• āĻŸā§āϰāĻžāĻŦāϞāĻļ⧁āϟāĻŋāĻ‚ āĻ•āύāĻŸā§‡āĻ•ā§āϏāϟ āϰāĻžāϖ⧁āύ: trace_id, āϏāĻŽā§ŸāĻŦāĻŋāĻ¨ā§āĻĻ⧁ āϝāĻĻāĻŋ āĻĨāĻžāϕ⧇, āĻāĻŦāĻ‚ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āϏ⧁āĻĒāĻžāϰāĻŋāĻļ āϝ⧇āĻŽāύ āϰāĻŋāĻŸā§āϰāĻžāχ āĻĄāĻŋāϞ⧇āĨ¤ āĻāϤ⧇ āĻĒ⧇āĻŽā§‡āĻ¨ā§āϟ āĻĒā§āϰ⧋āĻ­āĻžāχāĻĄāĻžāϰ āϟāĻžāχāĻŽāφāωāϟ āĻĻ⧇āĻ–āĻžāϞ⧇ UI āĻŦāϞāĻŦ⧇ "āĻĒ⧇āĻŽā§‡āĻ¨ā§āϟ āϏāĻžāĻ°ā§āĻ­āĻŋāϏ āϧ⧀āϰāĨ¤ āĻ…āύ⧁āĻ—ā§āϰāĻš āĻ•āϰ⧇ āφāĻŦāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ" āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āϰāĻŋāĻŸā§āϰāĻžāχ āĻŦāĻžāϟāύ āĻĻ⧇āĻ–āĻžāĻŦ⧇, āφāϰ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻāĻ•āχ trace_id āĻĻāĻŋā§Ÿā§‡ āϏāĻžāĻ°ā§āĻ­āĻžāϰ-āϏāĻžāχāĻĄ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻž āϝāĻžāϚāĻžāχ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āĨ¤

āϧāĻžāĻĒ⧇ āϧāĻžāĻĒ⧇: āϚ⧁āĻ•ā§āϤāĻŋ āχāĻ¨ā§āĻĄ-āϟ⧁-āχāĻ¨ā§āĻĄ āϰ⧋āϞāφāωāϟ āĻ•āϰāĻž

āĻāϟāĻŋ āϛ⧋āϟ āĻāĻ•āϟāĻŋ āĻĒā§āϰ⧋āĻĄāĻžāĻ•ā§āϟ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻŽāύ⧇ āĻ•āϰ⧇ āχāĻŽāĻĒā§āϞāĻŋāĻŽā§‡āĻ¨ā§āϟ āĻ•āϰ⧁āύ, āϰ⧇āĻĢā§āϝāĻžāĻ•ā§āϟāϰ āύ⧟āĨ¤ āχāĻ™ā§āĻ•ā§āϰāĻŋāĻŽā§‡āĻ¨ā§āϟāĻžāϞ āϰāĻžāϖ⧁āύ, āĻāĻŦāĻ‚ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻ“ UI āϟāĻŋāĻŽāĻĻ⧇āϰ āφāϗ⧇ āĻĨ⧇āϕ⧇ āϜ⧜āĻŋāϤ āĻ•āϰ⧁āύāĨ¤

āϰ⧋āϞāφāωāϟ āϏāĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¨ā§āϏ āϝāĻž āĻĻā§āϰ⧁āϤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āĻŽā§āĻ–ā§€ āĻŦāĻžāĻ°ā§āϤāĻž āωāĻ¨ā§āύāϤ āĻ•āϰ⧇ āϕ⧋āύ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ āĻ­āĻžāĻ™āĻŦ⧇ āύāĻž:

  1. āχāύāϭ⧇āĻ¨ā§āϟāϰāĻŋ āύāĻŋāύ (āĻĄā§‹āĻŽā§‡āχāύ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āĻ—ā§āϰ⧁āĻĒ āĻ•āϰ⧁āύ)āĨ¤ āϞāĻ— āĻĨ⧇āϕ⧇ āφāϏāϞ āĻ¤ā§āϰ⧁āϟāĻŋ āϰ⧇āϏāĻĒāĻ¨ā§āϏ āĻāĻ•ā§āϏāĻĒā§‹āĻ°ā§āϟ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ auth, signup, billing, file upload, permissions āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āĻŦāĻžāϟāϕ⧇ āĻ­āĻžāĻ— āĻ•āϰ⧁āύāĨ¤ āϰāĻŋāĻĒāĻŋāϟ, āĻ…āĻ¸ā§āĻĒāĻˇā§āϟ āĻŦāĻžāĻ°ā§āϤāĻž āĻāĻŦāĻ‚ āĻāĻ•āχ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻžāϰ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻļ⧇āχāĻĒ āϖ⧁āρāϜ⧁āύāĨ¤\n2. āĻ¸ā§āĻ•āĻŋāĻŽāĻž āϏāĻ‚āĻœā§āĻžāĻžā§ŸāĻŋāϤ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āωāĻĻāĻžāĻšāϰāĻŖ āĻļā§‡ā§ŸāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āϰ⧇āϏāĻĒāĻ¨ā§āϏ āĻļ⧇āχāĻĒ, āĻŦāĻžāĻ§ā§āϝāϤāĻžāĻŽā§‚āϞāĻ• āĻĢāĻŋāĻ˛ā§āĻĄ āĻāĻŦāĻ‚ āĻĄā§‹āĻŽā§‡āχāύāĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āωāĻĻāĻžāĻšāϰāĻŖ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āĻ•āϰ⧁āύāĨ¤ āĻ¸ā§āĻĨāĻžā§Ÿā§€ āϕ⧋āĻĄ āύāĻžāĻŽ, āϞ⧋āĻ•āĻžāϞāĻžāχāĻœā§‡āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ message key āĻāĻŦāĻ‚ UI-āĻāϰ āϜāĻ¨ā§āϝ āĻ…āĻĒāĻļāύāĻžāϞ āĻšāĻŋāĻ¨ā§āϟ āϏāĻ¨ā§āύāĻŋāĻŦ⧇āĻļ āĻ•āϰ⧁āύāĨ¤\n3. āĻāĻ•āϟāĻŋ āϕ⧇āĻ¨ā§āĻĻā§āĻ°ā§€ā§Ÿ āĻ¤ā§āϰ⧁āϟāĻŋ āĻŽā§āϝāĻžāĻĒāĻžāϰ āχāĻŽāĻĒā§āϞāĻŋāĻŽā§‡āĻ¨ā§āϟ āĻ•āϰ⧁āύāĨ¤ āĻĢāϰāĻŽā§āϝāĻžāϟāĻŋāĻ‚ āĻāĻ• āϜāĻžāĻ—āĻžā§Ÿ āϰāĻžāϖ⧁āύ āϝāĻžāϤ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āϟ āĻāĻ•āχ āĻ•āĻžāĻ āĻžāĻŽā§‹ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧇āĨ¤ āĻœā§‡āύāĻžāϰ⧇āĻŸā§‡āĻĄ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āĻŦāĻž āϕ⧋āύ⧋-āύ⧋-āϕ⧋āĻĄ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄā§‡ āĻāϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāĻ•āϟāĻŋ āĻļā§‡ā§ŸāĻžāĻ°ā§āĻĄ "map error to response" āϧāĻžāĻĒ⧇ āĻšā§Ÿ āϝāĻž āϏāĻŦ āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āϟ āĻŦāĻž āĻŦāĻŋāϜāύ⧇āϏ āĻĒā§āϰāϏ⧇āϏ āĻ•āϞ āĻ•āϰ⧇āĨ¤\n4. UI āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧁āύ āϝāĻžāϤ⧇ āϕ⧋āĻĄāϗ⧁āϞāĻŋ āχāĻ¨ā§āϟāĻžāϰāĻĒā§āϰ⧇āϟ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻšāĻŋāĻ¨ā§āϟ āĻĻ⧇āĻ–āĻžā§ŸāĨ¤ UI-āϕ⧇ āĻŸā§‡āĻ•ā§āϏāϟ āύ⧟, āϕ⧋āĻĄā§‡āϰ āĻ“āĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰāϤ⧇ āĻļ⧇āĻ–āĻžāύ — āϕ⧋āύ āĻĢāĻŋāĻ˛ā§āĻĄ āĻšāĻžāχāϞāĻžāχāϟ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇, āϰāĻŋāĻŸā§āϰāĻžāχ āĻĻ⧇āĻ–āĻžāϤ⧇ āĻšāĻŦ⧇, āĻŦāĻž āϏāĻžāĻĒā§‹āĻ°ā§āĻŸā§‡ āĻĒāĻžāĻ āĻžāϤ⧇ āĻšāĻŦ⧇āĨ¤\n5. āϞāĻ—āĻŋāĻ‚ āϝ⧋āĻ— āĻ•āϰ⧁āύ āĻ“ trace_id āĻĻāĻŋāύ āϝāĻžāϤ⧇ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āϏ⧇āϟāĻž āϚāĻžāχāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϰāĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āĻŸā§‡ trace_id āĻœā§‡āύāĻžāϰ⧇āϟ āĻ•āϰ⧁āύ, āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻ•āĻžāρāϚāĻž āĻŦā§āϝāĻ°ā§āĻĨāϤāĻžāϰ āĻĄāĻŋāĻŸā§‡āχāϞ āϞāĻ— āĻ•āϰ⧁āύ, āĻāĻŦāĻ‚ āϰ⧇āϏāĻĒāĻ¨ā§āϏ⧇ trace_id āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧁āύ āϝāĻžāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻ•āĻĒāĻŋ āĻ•āϰ⧇ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻĒā§āϰāĻĨāĻŽ āĻĒāĻžāϏ⧇āϰ āĻĒāϰ⧇, āϚ⧁āĻ•ā§āϤāĻŋāϟāĻŋ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āϰāĻžāĻ–āĻžāϰ āϜāĻ¨ā§āϝ āĻ•ā§Ÿā§‡āĻ•āϟāĻŋ āĻšāĻžāϞāĻ•āĻž āĻ“āϜāύ⧇āϰ āφāĻ°ā§āϟāĻŋāĻĢā§āϝāĻžāĻ•ā§āϟ āϰāĻžāϖ⧁āύ: āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĄā§‹āĻŽā§‡āχāύ⧇āϰ āϜāĻ¨ā§āϝ āĻ¤ā§āϰ⧁āϟāĻŋ āϕ⧋āĻĄā§‡āϰ āĻļ⧇āϝāĻŧāĻžāĻ°ā§āĻĄ āĻ•ā§āϝāĻžāϟāĻžāϞāĻ—, āϞ⧋āĻ•āĻžāϞāĻžāχāĻœā§‡āĻļāύ⧇āϰ āĻĢāĻžāχāϞ, āϕ⧋āĻĄ -> UI āĻšāĻŋāĻ¨ā§āϟ āĻŽāĻžāύāϚāĻŋāĻ¤ā§āϰ, āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻĒā§āϞ⧇āĻŦ⧁āĻ• āϝāĻž āĻļ⧁āϰ⧁ āĻšā§Ÿ "āφāĻŽāĻžāĻĻ⧇āϰ trace_id āĻĻāĻŋāύ" āĻĻāĻŋā§Ÿā§‡āĨ¤

āϞāĻŋāĻ—ā§āϝāĻžāϏāĻŋ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ āĻĨāĻžāĻ•āϞ⧇ āĻĒ⧁āϰāύ⧋ āĻĢāĻŋāĻ˛ā§āĻĄāϗ⧁āϞāĻŋ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āĻ…āĻĒāϏāĻžāϰāĻŖ āωāχāĻ¨ā§āĻĄā§‹ āϰāĻžāϖ⧁āύ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āύāϤ⧁āύ āĻ…āύāĻžāĻ°ā§āĻ•āĻŋāϤ āĻļ⧇āχāĻĒ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻŦāĻ¨ā§āϧ āĻ•āϰ⧁āύāĨ¤

āϏāĻžāϧāĻžāϰāĻŖ āϭ⧁āϞ āϝāĻž āĻ¤ā§āϰ⧁āϟāĻŋāϕ⧇ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻ•āϰāĻž āĻ•āĻ āĻŋāύ āĻ•āϰ⧇ āϤ⧋āϞ⧇

āĻĻāϞ⧇ āφāϰ⧋ āĻ­āĻžāϞ⧋ āĻĻ⧃āĻļā§āϝāĻŽāĻžāύāϤāĻž āĻĻāĻŋāύ
āĻāĻ•āϟāĻŋ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āϟ⧁āϞ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ āϝāĻž āĻ¤ā§āϰ⧁āϟāĻŋ āϕ⧋āĻĄ āĻĻ⧇āĻ–āĻžā§Ÿ āĻāĻŦāĻ‚ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻĻā§āϰ⧁āϤ āĻ•āϰ⧇
āĻāĻ–āύāχ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ

āĻ…āϧāĻŋāĻ•āĻžāĻ‚āĻļ āϏāĻžāĻĒā§‹āĻ°ā§āϟ-āϝāĻ¨ā§āĻ¤ā§āϰāĻŖāĻž āφāϏ⧇ āĻ…āĻ¸ā§āĻĒāĻˇā§āϟāϤāĻžāχāĨ¤ āϝāĻ–āύ API āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋ āĻ…āϏāĻ‚āĻ—āϤ āĻĨāĻžāϕ⧇, āĻĒā§āϰāĻ¤ā§āϝ⧇āĻ• āϟāĻŋāĻŽ āϤāĻžāĻĻ⧇āϰ āύāĻŋāϜāĻ¸ā§āĻŦ āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻŦāĻžāύāĻžā§Ÿ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰāĻž āĻāĻŽāύ āĻŦāĻžāĻ°ā§āϤāĻž āĻĒā§‡ā§Ÿā§‡ āφāϟāϕ⧇ āϝāĻžā§Ÿ āϝāĻž āϤāĻžāϰāĻž āĻ•āĻžāĻ°ā§āϝāĻ•āϰāĻ­āĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻžāĨ¤

āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻĢāĻžāρāĻĻ āĻšāϞ⧋ HTTP āĻ¸ā§āĻŸā§āϝāĻžāϟāĻžāϏ āϕ⧋āĻĄāϕ⧇ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ—āĻ˛ā§āĻĒ āϧāϰ⧇ āĻ¨ā§‡ā§ŸāĻžāĨ¤ "400" āĻŦāĻž "500" āĻŦāϞ⧇ āĻĒā§āϰāĻžāϝāĻŧ āĻ•āĻŋāϛ⧁āχ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϕ⧇ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āϧāĻžāĻĒ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻŦāϞ⧇ āύāĻžāĨ¤ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻžāϏ āϕ⧋āĻĄ āĻŸā§āϰāĻžāĻ¨ā§āϏāĻĒā§‹āĻ°ā§āϟ āĻ“ āĻŦāĻŋāĻ¸ā§āϤ⧃āϤ āĻļā§āϰ⧇āĻŖāĻŋāĻŦāĻŋāĻ­āĻžāϗ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āφāĻĒāύāĻžāϕ⧇ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĨāĻžā§Ÿā§€, āĻ…ā§āϝāĻžāĻĒ-āϞ⧇āϭ⧇āϞ āϕ⧋āĻĄā§‡āϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āφāϛ⧇ āϝāĻž āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ āĻœā§ā§œā§‡ āĻŽāĻžāύ āϰāĻžāϖ⧇āĨ¤

āφāϰ⧇āĻ•āϟāĻŋ āϭ⧁āϞ āĻšāϞ⧋ āĻāĻ•āϟāĻŋ āϕ⧋āĻĄā§‡āϰ āĻ…āĻ°ā§āĻĨ āϏāĻŽā§Ÿā§‡āϰ āϏāĻžāĻĨ⧇ āĻŦāĻĻāϞāĻžāύ⧋āĨ¤ āϝāĻĻāĻŋ PAYMENT_FAILED āφāϗ⧇ āĻŽāĻžāύ⧇ āĻ›āĻŋāϞ "āĻ•āĻžāĻ°ā§āĻĄ āĻĒā§āϰāĻ¤ā§āϝāĻžāĻ–ā§āϝāĻžāϤ" āĻāĻŦāĻ‚ āĻĒāϰ⧇ āĻŽāĻžāύ⧇ āĻšā§Ÿ "Stripe āĻĄāĻžāωāύ", āϤāĻžāĻšāϞ⧇ UI āĻ“ āĻĄāĻ• āϭ⧁āϞ āϤāĻĨā§āϝ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āϤāĻ–āύ āĻĒāĻžāĻŦ⧇āύ āϟāĻŋāϕ⧇āϟ āϝ⧇āĻŽāύ "āφāĻŽāĻŋ āϤāĻŋāύāϟāĻŋ āĻ•āĻžāĻ°ā§āĻĄ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧇āĻ›āĻŋ, āϤāĻŦ⧁āĻ“ āĻŦā§āϝāĻ°ā§āĻĨ" āϝāĻ–āύ āφāϏāϞ āϏāĻŽāĻ¸ā§āϝāĻž āφāωāĻŸā§‡āϜāĨ¤

āϰ' āĻāĻ•ā§āϏāϏ⧇āĻĒāĻļāύ āĻŸā§‡āĻ•ā§āϏāϟ (āĻŦāĻž āĻ¸ā§āĻŸā§āϝāĻžāĻ• āĻŸā§āϰ⧇āϏ) āϏāϰāĻžāϏāϰāĻŋ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰāĻžāϟāĻž āĻĻā§āϰ⧁āϤtempting, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻ•āĻžāϛ⧇ āϏāĻšāĻžā§ŸāĻ• āύ⧟ āĻāĻŦāĻ‚ āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āϤāĻĨā§āϝ āĻĢāĻžāρāϏ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϰ āĻŦāĻž āϰ āĻĄāĻŋāĻŸā§‡āχāϞāϏ āϰāĻžāϖ⧁āύ āϞāϗ⧇, āϰ⧇āϏāĻĒāĻ¨ā§āϏ⧇ āύ⧟āĨ¤

āĻ•āĻŋāϛ⧁ āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻ—ā§‹āϞāĻŽāĻžāϞ āĻ•āϰāĻž āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ:

  • UNKNOWN_ERROR āĻŽāϤ⧋ āĻ•ā§āϝāĻžāϚ-āĻ…āϞ āϕ⧋āĻĄ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇ āϕ⧋āύ⧋ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻĻā§‡ā§Ÿ āύāĻžāĨ¤\n- āĻāĻ•āϟāĻŋ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āĻŸā§āϝāĻžāĻ•ā§āϏ⧋āύāĻŽāĻŋ āĻ›āĻžā§œāĻž āĻ…āύ⧇āĻ• āϕ⧋āĻĄ āϤ⧈āϰāĻŋ āĻ•āϰāϞ⧇ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻ“ āĻĒā§āϞ⧇āĻŦ⧁āĻ• āĻŦāϜāĻžā§Ÿ āϰāĻžāĻ–āĻž āĻ•āĻ āĻŋāύ āĻšā§ŸāĨ¤\n- āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āĻĢ⧇āϏāĻŋāĻ‚ āĻŸā§‡āĻ•ā§āϏāϟ āĻ“ āĻĄā§‡āĻ­-āĻĄāĻžā§ŸāĻžāĻ—āύāĻ¸ā§āϟāĻŋāĻ• āĻāĻ•āχ āĻĢāĻŋāĻ˛ā§āĻĄā§‡ āϰāĻžāĻ–āϞ⧇ āϞ⧋āĻ•āĻžāϞāĻžāχāĻœā§‡āĻļāύ āĻ“ UI āĻšāĻŋāĻ¨ā§āϟ āĻ­āĻ™ā§āϗ⧁āϰ āĻšā§ŸāĨ¤

āĻāĻ•āϟāĻŋ āϏāĻšāϜ āύāĻŋ⧟āĻŽ āĻ•āĻžāϜ āĻ•āϰ⧇: āĻĒā§āϰāĻ¤ā§āϝ⧇āĻ• āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĨāĻžā§Ÿā§€ āϕ⧋āĻĄāĨ¤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āχāύāĻĒ⧁āϟ āĻŦāĻĻāϞ⧇ āϏāĻŽāĻ¸ā§āϝāĻžāϰ āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāϞ⧇ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϕ⧋āĻĄ āĻ“ āĻ¸ā§āĻĒāĻˇā§āϟ āĻšāĻŋāĻ¨ā§āϟ āĻĻāĻŋāύāĨ¤ āϝāĻĻāĻŋ āϤāĻžāϰāĻž āĻ•āĻŋāϛ⧁āχ āĻ•āϰāϤ⧇ āύāĻž āĻĒāĻžāϰ⧇ (āϝ⧇āĻŽāύ āĻĒā§āϰ⧋āĻ­āĻžāχāĻĄāĻžāϰ āφāωāĻŸā§‡āϜ), āϤāĻžāĻšāϞ⧇ āϕ⧋āĻĄ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āϰāĻžāϖ⧁āύ āĻāĻŦāĻ‚ āύāĻŋāϰāĻžāĻĒāĻĻ āĻŦāĻžāĻ°ā§āϤāĻž āϏāĻš "āĻĒāϰ⧇ āφāĻŦāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ" āĻ“ āĻāĻ•āϟāĻŋ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ ID āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧁āύāĨ¤

āĻĻā§āϰ⧁āϤ āĻĒā§āϰāĻŋ-āϰāĻŋāϞāĻŋāϜ āĻšā§‡āĻ•āϞāĻŋāĻ¸ā§āϟ

āĻļāĻŋāĻĒ āĻ•āϰāĻžāϰ āφāϗ⧇ āĻ¤ā§āϰ⧁āϟāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āĻĒā§āϰ⧋āĻĄāĻžāĻ•ā§āϟ āĻĢāĻŋāϚāĻžāϰ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻĻ⧇āϖ⧁āύāĨ¤ āĻ•āĻŋāϛ⧁ āĻŦā§āϝāĻ°ā§āĻĨ āĻšāϞ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϜāĻžāύāϤ⧇ āĻĒāĻžāϰāĻŦ⧇ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻ•āϰāĻŖā§€ā§Ÿ, āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻāĻ•āχ āϘāϟāύāĻžāϟāĻŋ āϖ⧁āρāĻœā§‡ āĻĒāĻžāĻŦ⧇, āφāϰ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āĻŦāĻĻāϞāĻžāϞ⧇āĻ“ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ āĻ­āĻžāĻ™ā§āĻ—āĻŦ⧇ āύāĻžāĨ¤

  • āϏāĻŦ āϜāĻžā§ŸāĻ—āĻžā§Ÿ āĻāĻ•āχ āĻļ⧇āχāĻĒ: āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āϟ (auth, webhooks, file uploads āϏāĻš) āĻāĻ• āϏāĻŽā§āĻŽāĻŋāϞāĻŋāϤ āĻ¤ā§āϰ⧁āϟāĻŋ āĻāύāϭ⧇āϞāĻĒ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰāĻŦ⧇āĨ¤\n- āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ, āĻĻāĻžāϝāĻŧāĻŋāĻ¤ā§āĻŦāĻļā§€āϞ āϕ⧋āĻĄ: āĻĒā§āϰāϤāĻŋāϟāĻŋ āϕ⧋āĻĄā§‡āϰ āĻ¸ā§āĻĒāĻˇā§āϟ āĻŽāĻžāϞāĻŋāĻ• (Payments, Auth, Billing) āĻĨāĻžāĻ•āĻŦ⧇āĨ¤ āĻāĻ•āχ āϕ⧋āĻĄ āĻĻāĻŋā§Ÿā§‡ āĻ­āĻŋāĻ¨ā§āύ āĻ…āĻ°ā§āĻĨ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ⧇āύ āύāĻžāĨ¤\n- āύāĻŋāϰāĻžāĻĒāĻĻ, āϞ⧋āĻ•āĻžāϞāĻžāχāĻœā§‡āĻŦāϞ āĻŽā§‡āϏ⧇āϜ: āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āĻĢ⧇āϏāĻŋāĻ‚ āĻŸā§‡āĻ•ā§āϏāϟ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āϰāĻžāϖ⧁āύ āĻāĻŦāĻ‚ āĻ•āĻ–āύāχ āϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ-āϰāϞāĻŋ āϤāĻĨā§āϝ āύāĻž āĻĻāĻŋāύ (āĻŸā§‹āϕ⧇āύ, āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻžāĻ°ā§āĻĄ āĻĄā§‡āϟāĻž, āĻ•āĻžāρāϚāĻž SQL, āĻ¸ā§āĻŸā§āϝāĻžāĻ• āĻŸā§āϰ⧇āϏ)āĨ¤\n- āĻ¸ā§āĻĒāĻˇā§āϟ UI āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻĒāĻĻāĻ•ā§āώ⧇āĻĒ: āĻĒā§āϰāϧāĻžāύ āĻ¤ā§āϰ⧁āϟāĻŋ āϟāĻžāχāĻĒāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ UI āĻāĻ•āϟāĻŋ āϏāĻšāϜ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻĒāĻĻāĻ•ā§āώ⧇āĻĒ āĻĻ⧇āĻ–āĻžā§Ÿ (āφāĻŦāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ, āĻĢāĻŋāĻ˛ā§āĻĄ āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧁āύ, āĻ…āĻ¨ā§āϝ āĻĒ⧇āĻŽā§‡āĻ¨ā§āϟ āĻĒāĻĻā§āϧāϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ, āϏāĻžāĻĒā§‹āĻ°ā§āĻŸā§‡ āϝ⧋āĻ—āĻžāϝ⧋āĻ— āĻ•āϰ⧁āύ)āĨ¤\n- āϏāĻžāĻĒā§‹āĻ°ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ āĻŸā§āϰ⧇āϏāĻāĻŦāĻŋāϞāĻŋāϟāĻŋ: āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ¤ā§āϰ⧁āϟāĻŋ āϰ⧇āϏāĻĒāĻ¨ā§āϏ⧇ trace_id āĻĨāĻžāĻ•āĻŦ⧇ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āϞāĻ—āĻŋāĻ‚/āĻŽāύāĻŋāϟāϰāĻŋāĻ‚ āĻĻā§āϰ⧁āϤ āĻĒ⧁āϰ⧋ āĻ—āĻ˛ā§āĻĒ āϖ⧁āρāĻœā§‡ āĻĒāĻžāĻŦ⧇āĨ¤

āĻ•āĻŋāϛ⧁ āĻŦāĻžāĻ¸ā§āϤāĻŦ āĻĢā§āϞ⧋ āĻāĻ¨ā§āĻĄ-āϟ⧁-āĻāĻ¨ā§āĻĄ āĻŸā§‡āĻ¸ā§āϟ āĻ•āϰ⧁āύ: āĻāĻ•āϟāĻŋ āχāύāĻ­ā§āϝāĻžāϞāĻŋāĻĄ āχāύāĻĒ⧁āϟ āĻĢāĻ°ā§āĻŽ, āĻŽā§‡āϝāĻŧāĻžāĻĻā§‹āĻ¤ā§āϤ⧀āĻ°ā§āĻŖ āϏ⧇āĻļāύ, āϰ⧇āϟ āϞāĻŋāĻŽāĻŋāϟ, āĻāĻŦāĻ‚ āϤ⧃āĻ¤ā§€ā§Ÿ-āĻĒāĻ•ā§āώ āφāωāĻŸā§‡āϜāĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āĻāĻ• āĻŦāĻžāĻ•ā§āϝ⧇ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻž āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰāϤ⧇ āύāĻž āĻĒāĻžāϰ⧇āύ āĻāĻŦāĻ‚ āϞāϗ⧇ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ trace_id āĻĻ⧇āĻ–āĻžāϤ⧇ āύāĻž āĻĒāĻžāϰ⧇āύ, āϤāĻžāĻšāϞ⧇ āĻļāĻŋāĻĒ⧇āϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āύāύāĨ¤

āωāĻĻāĻžāĻšāϰāĻŖ: āϏāĻžāχāύāφāĻĒ āĻ“ āĻĒ⧇āĻŽā§‡āĻ¨ā§āϟ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻž āϝāĻžāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻĒ⧁āύāϰ⧁āĻĻā§āϧāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇

āĻ¤ā§āϰ⧁āϟāĻŋ āϕ⧋āĻĄ āĻĻā§āϰ⧁āϤ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ•āϰ⧁āύ
āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āĻ¤ā§āϰ⧁āϟāĻŋ āϕ⧋āĻĄ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻ­ā§āϝāĻžāϞāĻŋāĻĄā§‡āĻļāύ āĻ¤ā§āϰ⧁āϟāĻŋāϗ⧁āϞ⧋ āĻāĻ• āϜāĻžā§ŸāĻ—āĻžā§Ÿ āĻŽā§‹āĻ•āĻžāĻŦāĻŋāϞāĻž āĻ•āϰ⧁āύ
āϤ⧈āϰāĻŋ āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύ

āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ⧋ API āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋ āĻāĻ•āχ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻŋāϕ⧇ āϤāĻŋāύāϟāĻŋ āϜāĻžā§ŸāĻ—āĻžā§Ÿ āĻŦā§‹āĻāĻžāĻĒ⧜āĻž āϝ⧋āĻ—ā§āϝ āϰāĻžāϖ⧇: āĻ“āϝāĻŧ⧇āĻŦ UI, āĻŽā§‹āĻŦāĻžāχāϞ āĻ…ā§āϝāĻžāĻĒ, āĻāĻŦāĻ‚ āĻŦā§āϝāĻ°ā§āĻĨ āĻĒā§āϰāĻšā§‡āĻˇā§āϟāĻžāϰ āĻĒāϰ⧇ āĻ¸ā§āĻŦ⧟āĻ‚āĻ•ā§āϰāĻŋ⧟ āχāĻŽā§‡āχāϞāĨ¤ āĻāϟāĻŋ āϏāĻžāĻĒā§‹āĻ°ā§āϟāϕ⧇ āĻĒāĻ°ā§āϝāĻžāĻĒā§āϤ āĻĄāĻŋāĻŸā§‡āχāϞ āĻĻā§‡ā§Ÿ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰāϤ⧇, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϕ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ¸ā§āĻ•ā§āϰāĻŋāύ⧇ āĻāĻ•āχ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻĻāĻŋāĻŦ⧇āĨ¤

āϏāĻžāχāύāφāĻĒ: āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻ āĻŋāĻ• āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŽāύ āĻ­ā§āϝāĻžāϞāĻŋāĻĄā§‡āĻļāύ āĻ¤ā§āϰ⧁āϟāĻŋ

āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āχāĻŽā§‡āχāϞ āĻšāĻŋāϏ⧇āĻŦ⧇ sam@ āĻāĻ¨ā§āĻŸā§āϰāĻŋ āĻ•āϰ⧇ Sign up āĻŸā§āϝāĻžāĻĒ āĻ•āϰāϞ⧇ API āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĨāĻŋāϤ āϕ⧋āĻĄ āĻ“ āĻĢāĻŋāĻ˛ā§āĻĄ-āϞ⧇āϭ⧇āϞ āĻšāĻŋāĻ¨ā§āϟ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰāĻŦ⧇, āϝāĻžāϤ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ āĻāĻ•āχ āχāύāĻĒ⧁āϟ āĻšāĻžāχāϞāĻžāχāϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

{
  "error": {
    "code": "AUTH.EMAIL_INVALID",
    "message": "Enter a valid email address.",
    "i18n_key": "auth.email_invalid",
    "params": { "field": "email" },
    "ui": { "field": "email", "action": "focus" },
    "trace_id": "4f2c1d..."
  }
}

āĻ“āϝāĻŧ⧇āĻŦ⧇ āφāĻĒāύāĻŋ āχāĻŽā§‡āχāϞ āĻŦāĻ•ā§āϏ⧇āϰ āύāĻŋāĻšā§‡ āĻŽā§‡āϏ⧇āϜ āĻĻ⧇āĻ–āĻžāĻŦ⧇āύāĨ¤ āĻŽā§‹āĻŦāĻžāχāϞ āĻ āĻĢā§‹āĻ•āĻžāϏ āĻ•āϰ⧇ āϛ⧋āϟ āĻŦā§āϝāĻžāύāĻžāϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇āύāĨ¤ āχāĻŽā§‡āχāϞ⧇ āĻŦāϞāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇: "āφāĻŽāϰāĻž āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋāύāĻŋ āĻ•āĻžāϰāĻŖ āχāĻŽā§‡āχāϞ āĻ āĻŋāĻ•āĻŽāϤ⧋ āĻĒā§‚āĻ°ā§āĻŖ āĻ•āϰāĻž āĻšā§ŸāύāĻŋāĨ¤" āĻāĻ•āχ āϕ⧋āĻĄ, āĻāĻ•āχ āĻ…āĻ°ā§āĻĨāĨ¤

āĻĒ⧇āĻŽā§‡āĻ¨ā§āϟ: āύāĻŋāϰāĻžāĻĒāĻĻ āĻŦā§āϝāĻžāĻ–ā§āϝāĻžāϰ āϏāĻ™ā§āϗ⧇ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻž

āĻāĻ•āϟāĻŋ āĻ•āĻžāĻ°ā§āĻĄ āĻĒ⧇āĻŽā§‡āĻ¨ā§āϟ āĻŦā§āϝāĻ°ā§āĻĨ āĻšāϞ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϕ⧇ āĻ—āĻžāχāĻĄ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻĒā§āϰāϏ⧇āϏāϰ⧇āϰ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻĄāĻŋāĻŸā§‡āχāϞ āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰāĻž āωāϚāĻŋāϤ āύ⧟āĨ¤ āϚ⧁āĻ•ā§āϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻĻ⧇āĻ–āĻžāϰ āĻ…āĻ‚āĻļ āĻ“ āϏāĻžāĻĒā§‹āĻ°ā§āĻŸā§‡āϰ āϝāĻžāϚāĻžāχāϝ⧋āĻ—ā§āϝ āĻ…āĻ‚āĻļ āφāϞāĻžāĻĻāĻž āϰāĻžāĻ–āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

{
  "error": {
    "code": "PAYMENT.DECLINED",
    "message": "Your payment was declined. Try another card or contact your bank.",
    "i18n_key": "payment.declined",
    "params": { "retry_after_sec": 0 },
    "ui": { "action": "show_payment_methods" },
    "trace_id": "b9a0e3..."
  }
}

āϏāĻžāĻĒā§‹āĻ°ā§āϟ trace_id āϚāĻžāχāϞ⧇ āϜāĻžāύāϤ⧇ āĻĒāĻžāϰāĻŦ⧇ āϕ⧋āύ āĻ¸ā§āĻĨāĻžā§Ÿā§€ āϕ⧋āĻĄ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻšā§Ÿā§‡āϛ⧇, āĻĄāĻŋāĻ•ā§āϞāĻžāχāύ āĻĢāĻžāχāύāĻžāϞ āύāĻž āϰāĻŋāĻŸā§āϰāĻžāχāϝ⧋āĻ—ā§āϝ āĻ•āĻŋāύāĻž, āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ āĻ“ āĻ…ā§āϝāĻžāĻŽāĻžāωāĻ¨ā§āϟ āĻ•āĻŋāϏ⧇āϰ āĻ›āĻŋāϞ āχāĻ¤ā§āϝāĻžāĻĻāĻŋ — āϏāĻŦ āĻ•āĻŋāϛ⧁ āϏāĻžāĻ°ā§āĻ­āĻžāϰ-āϞāĻ— āĻĻ⧇āϖ⧇ āύāĻŋāĻ°ā§āϪ⧟ āĻ•āϰāĻž āϝāĻžāĻŦ⧇āĨ¤

āĻāĻ–āĻžāύ⧇āχ API āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋāϰ āĻŽā§‚āĻ˛ā§āϝ āφāϏ⧇: āĻ“āϝāĻŧ⧇āĻŦ, iOS/Android āĻāĻŦāĻ‚ āχāĻŽā§‡āχāϞ āĻĢā§āϞ⧋ āĻ•āύāϏāĻŋāĻ¸ā§āĻŸā§‡āĻ¨ā§āϟ āĻĨāĻžāϕ⧇ āĻāĻŽāύāĻ•āĻŋ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āĻĒā§āϰ⧋āĻ­āĻžāχāĻĄāĻžāϰ āĻŦāĻž āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āĻŦāĻĻāϞāĻžāϞ⧇āĻ“āĨ¤

āϏāĻŽā§Ÿā§‡āϰ āϏāĻžāĻĨ⧇ āφāĻĒāύāĻžāϰ āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋ āĻŸā§‡āĻ¸ā§āϟ āĻ“ āĻŽāύāĻŋāϟāϰ āĻ•āϰāĻž

āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻĨ⧇āϕ⧇ āĻŦāĻžāĻ¸ā§āϤāĻŦ API āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ
āφāĻĒāύāĻžāϰ āĻĄā§‡āϟāĻž āĻŽāĻĄā§‡āϞ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻāĻŽāύ āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āĻœā§‡āύāĻžāϰ⧇āϟ āĻ•āϰ⧁āύ āϝāĻž āĻĒā§‚āĻ°ā§āĻŦāĻžāύ⧁āĻŽā§‡ā§Ÿ āĻ¤ā§āϰ⧁āϟāĻŋ āφāĻ•ā§ƒāϤāĻŋ āĻĢ⧇āϰāϤ āĻĻā§‡ā§Ÿ
āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ

āĻāĻ•āϟāĻŋ API āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋ āĻļāĻŋāĻĒ⧇āϰ āϏāĻ™ā§āϗ⧇ āĻļ⧇āώ āĻšā§Ÿ āύāĻžāĨ¤ āĻāϟāĻŋ āϤāĻ–āύāχ āĻ āĻŋāĻ•āĻ āĻžāĻ• āϚāϞ⧇ āϝāĻ–āύ āĻāĻ•āχ āĻ¤ā§āϰ⧁āϟāĻŋ āϕ⧋āĻĄ āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻāĻ•āχ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻ•ā§āϰāĻŋ⧟āĻžā§Ÿ āύāĻŋā§Ÿā§‡ āϝāĻžā§Ÿ, āĻāĻŽāύāĻ•āĻŋ āĻŽāĻžāϏ āĻ–āĻžāύ⧇āϕ⧇āϰ āϰāĻŋāĻĢā§āϝāĻžāĻ•ā§āϟāϰ āĻ“ āύāϤ⧁āύ āĻĢāĻŋāϚāĻžāϰ āĻāϞ⧇āĻ“āĨ¤

āĻŦāĻžāχāϰ⧇āϰ āĻĻāĻŋāĻ• āĻĨ⧇āϕ⧇ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āĻŸā§‡āϰ āĻŽāϤ āĻ•āϰ⧇ āĻŸā§‡āĻ¸ā§āϟ āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύāĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ¤ā§āϰ⧁āϟāĻŋ āϕ⧋āĻĄā§‡āϰ āϜāĻ¨ā§āϝ āĻ…āĻ¨ā§āϤāϤ āĻāĻ•āϟāĻŋ āϰāĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āϟ āϞāĻŋāϖ⧇ āϤāĻž āĻŸā§āϰāĻŋāĻ—āĻžāϰ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ āϝ⧇āϟāĻžāϰ āĻ“āĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇āύ āϤāĻž assert āĻ•āϰ⧁āύ: HTTP status, code, localization key, āĻāĻŦāĻ‚ UI āĻšāĻŋāĻ¨ā§āϟ āĻĢāĻŋāĻ˛ā§āĻĄ (āϕ⧋āύ āĻĢāĻ°ā§āĻŽ āĻĢāĻŋāĻ˛ā§āĻĄ āĻšāĻžāχāϞāĻžāχāϟ āĻšāĻŦ⧇) āχāĻ¤ā§āϝāĻžāĻĻāĻŋāĨ¤

āĻāĻ•āϟāĻŋ āϛ⧋āϟ āĻŸā§‡āĻ¸ā§āϟ āϏ⧇āϟ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āĻā§āρāĻ•āĻŋ āĻ•āĻ­āĻžāϰ āĻ•āϰ⧇:

  • āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ¤ā§āϰ⧁āϟāĻŋ āϕ⧇āϏ⧇āϰ āĻĒāĻžāĻļ⧇ āĻāĻ•āϟāĻŋ āĻšā§āϝāĻžāĻĒāĻŋ-āĻĒāĻžāĻĨ āϰāĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āϟ (āĻ…ā§āϝāĻžāĻ•ā§āϏāĻŋāĻĄā§‡āĻ¨ā§āϟāĻžāϞāĻŋ āĻ“āĻ­āĻžāϰ-āĻ­ā§āϝāĻžāϞāĻŋāĻĄā§‡āĻļāύ āϧāϰāϤ⧇)\n- āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ¸ā§āĻĨāĻžā§Ÿā§€ āϕ⧋āĻĄā§‡āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻŸā§‡āĻ¸ā§āϟ āϝāĻžāϤ⧇ UI āĻšāĻŋāĻ¨ā§āϟ āĻŦāĻž āĻĢāĻŋāĻ˛ā§āĻĄ āĻŽā§āϝāĻžāĻĒāĻŋāĻ‚ āĻšā§‡āĻ• āĻ•āϰ⧇\n- āĻāĻ•āϟāĻŋ āĻŸā§‡āĻ¸ā§āϟ āϝāĻžāϤ⧇ āĻ…āϜāĻžāύāĻž āĻŦā§āϝāĻ°ā§āĻĨāϤāĻž āĻāĻ•āϟāĻŋ āύāĻŋāϰāĻžāĻĒāĻĻ āĻœā§‡āύ⧇āϰāĻŋāĻ• āϕ⧋āĻĄ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧇\n- āĻāĻ•āϟāĻŋ āĻŸā§‡āĻ¸ā§āϟ āϝāĻžāϤ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ āĻ­āĻžāώāĻžāϰ āϜāĻ¨ā§āϝ āϞ⧋āĻ•āĻžāϞāĻžāχāĻœā§‡āĻļāύ āϕ⧀ āφāϛ⧇ āϤāĻž āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧇\n- āĻāĻ•āϟāĻŋ āĻŸā§‡āĻ¸ā§āϟ āϝāĻžāϤ⧇ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧇ āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āĻĄāĻŋāĻŸā§‡āχāϞāϏ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ āϰ⧇āϏāĻĒāĻ¨ā§āϏ⧇ āĻ•āĻ–āύ⧋ āφāϏ⧇ āύāĻž

āĻŽāύāĻŋāϟāϰāĻŋāĻ‚ āĻāĻŽāύ āϰ⧇āĻ—ā§āϰ⧇āĻļāύ āϧāϰāϤ⧇ āϏāĻšāĻžā§ŸāϤāĻž āĻ•āϰ⧇ āϝāĻž āĻŸā§‡āĻ¸ā§āϟ āĻŽāĻŋāϏ āĻ•āϰ⧇āĨ¤ āϏāĻŽā§Ÿā§‡āϰ āϏāĻžāĻĨ⧇ āĻ¤ā§āϰ⧁āϟāĻŋ āϕ⧋āĻĄā§‡āϰ āĻ—āĻŖāύāĻž āĻŸā§āĻ°ā§āϝāĻžāĻ• āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āφāĻ•āĻ¸ā§āĻŽāĻŋāĻ• āĻŦ⧃āĻĻā§āϧāĻŋ āĻšāϞ⧇ āĻ…ā§āϝāĻžāϞāĻžāĻ°ā§āϟ āĻĻāĻŋāύ (āϝ⧇āĻŽāύ, āĻāĻ•āϟāĻŋ āĻĒ⧇āĻŽā§‡āĻ¨ā§āϟ āϕ⧋āĻĄ āϰāĻŋāϞāĻŋāϜ āĻĒāϰ āĻĄāĻžāĻŦāϞ āĻšā§Ÿā§‡ āϗ⧇āϞ⧇)āĨ¤ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ⧇ āύāϤ⧁āύ āϕ⧋āύ⧋ āϕ⧋āĻĄ āĻĻ⧇āĻ–āĻž āϗ⧇āϞ⧇ āϏ⧇āĻ“ āϞāĻ•ā§āĻˇā§āϝ āϰāĻžāϖ⧁āύ — āϏāĻŽā§āĻ­āĻŦāϤ āϕ⧇āω āϚ⧁āĻ•ā§āϤāĻŋ āĻŦāĻžāχāĻĒāĻžāϏ āĻ•āϰ⧇āϛ⧇āĨ¤

āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āύāĻŋāύ āϕ⧀ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻĨāĻžāĻ•āĻŦ⧇ āĻāĻŦāĻ‚ āϕ⧀ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟāϕ⧇ āĻĻ⧇āĻ“ā§ŸāĻž āĻšāĻŦ⧇āĨ¤ āĻāĻ•āϟāĻŋ āĻŦāĻžāĻ¸ā§āϤāĻŦāϏāĻŽā§āĻŽāϤ āĻŦāĻŋāĻ­āĻžāϜāύ: āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ āĻĒāĻžāĻŦ⧇ āĻ¸ā§āĻĨāĻžā§Ÿā§€ āϕ⧋āĻĄ, āϞ⧋āĻ•āĻžāϞāĻžāχāĻœā§‡āĻļāύ āϕ⧀, āĻ“ āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āĻ…ā§āϝāĻžāĻ•āĻļāύ āĻšāĻŋāĻ¨ā§āϟ; āϞāϗ⧇ āĻĨāĻžāĻ•āĻŦ⧇ āĻ•āĻžāρāϚāĻž āĻāĻ•ā§āϏāϏ⧇āĻĒāĻļāύ, āĻ¸ā§āĻŸā§āϝāĻžāĻ• āĻŸā§āϰ⧇āϏ, āϰāĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āϟ ID, āĻāĻŦāĻ‚ āĻĄāĻŋāĻĒ⧇āĻ¨ā§āĻĄā§‡āĻ¨ā§āϏāĻŋ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻžāϰ āĻĄāĻŋāĻŸā§‡āχāϞāϏāĨ¤

āĻŽāĻžāϏ⧇ āĻāĻ•āĻŦāĻžāϰ āϰāĻŋā§Ÿā§‡āϞ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻ•āύāĻ­āĻžāϰāϏ⧇āĻļāύ āĻĻ⧇āϖ⧇ āĻ¤ā§āϰ⧁āϟāĻŋāϗ⧁āϞ⧋ āĻĒāĻ°ā§āϝāĻžāϞ⧋āϚāύāĻž āĻ•āϰ⧁āύāĨ¤ āĻ­āϞāĻŋāωāĻŽ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āĻļā§€āĻ°ā§āώ āĻĒāĻžāρāϚāϟāĻŋ āϕ⧋āĻĄ āύāĻŋāύ āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāϟāĻŋāϰ āϜāĻ¨ā§āϝ āĻ•ā§Ÿā§‡āĻ•āϟāĻŋ āϟāĻŋāĻ•āĻŋāϟ āĻĒ⧜⧁āύāĨ¤ āϝāĻĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰāĻž āĻŦāĻžāϰāĻŦāĻžāϰ āĻāĻ•āχ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰ⧇, UI āĻšāĻŋāĻ¨ā§āĻŸā§‡ āĻāĻ•āϟāĻŋ āϧāĻžāĻĒ āĻŽāĻŋāϏāĻŋāĻ‚ āφāϛ⧇ āĻŦāĻž āĻŽā§‡āϏ⧇āϜ āϖ⧁āĻŦ āĻ…āĻ¸ā§āĻĒāĻˇā§āϟāĨ¤

āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āϧāĻžāĻĒ: āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύāϟāĻŋ āφāĻĒāύāĻžāϰ āĻĒā§āϰ⧋āĻĄāĻžāĻ•ā§āϟ āĻ“ āĻ“ā§ŸāĻžāĻ°ā§āĻ•āĻĢā§āϞ⧋āϤ⧇ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āϰāĻž

āϝ⧇āĻ–āĻžāύ⧇ āĻŦāĻŋāĻ­ā§āϰāĻžāĻ¨ā§āϤāĻŋ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻŦā§āϝ⧟āĻŦāĻšā§āϞ āϏ⧇āχ āϜāĻžā§ŸāĻ—āĻž āĻĨ⧇āϕ⧇ āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύ: āϏāĻžāϧāĻžāϰāĻŖāϤ āϝ⧇ āϧāĻžāĻĒāϗ⧁āϞ⧋āϤ⧇ āĻĄā§āϰāĻĒāĻ…āĻĢ āĻŦ⧇āĻļāĻŋ (āϏāĻžāχāύāφāĻĒ, āĻšā§‡āĻ•āφāωāϟ, āĻĢāĻžāχāϞ āφāĻĒāϞ⧋āĻĄ) āĻāĻŦāĻ‚ āϝ⧇āϏāĻŦ āĻ¤ā§āϰ⧁āϟāĻŋ āĻŦ⧇āĻļāĻŋ āϟāĻŋāĻ•āĻŋāϟ āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āϏ⧇āϗ⧁āϞ⧋ āĻĒā§āϰāĻĨāĻŽ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ•āϰ⧁āύ āϝāĻžāϤ⧇ āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĒā§āϰāĻŋāĻ¨ā§āĻŸā§‡ āĻĒā§āϰāĻ­āĻžāĻŦ āĻĻ⧇āĻ–āĻž āĻļ⧁āϰ⧁ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

āĻ•āĻŋāϛ⧁ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ• āϟāĻŋāĻĒāϏ:

  • āϟāĻĒ ā§§ā§Ļ āϏāĻžāĻĒā§‹āĻ°ā§āϟ-āϚāĻžāϞāĻŋāϤ āĻ¤ā§āϰ⧁āϟāĻŋāϰ āϜāĻ¨ā§āϝ āĻ¸ā§āĻĨāĻžā§Ÿā§€ āϕ⧋āĻĄ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧇ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āϏ⧇āϟ āĻ•āϰ⧁āύ\n- āĻĒā§āϰāϤāĻŋāϟāĻŋ āϏāĻžāϰāĻĢ⧇āϏ (āĻ“āϝāĻŧ⧇āĻŦ, āĻŽā§‹āĻŦāĻžāχāϞ, āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ) āĻ…āύ⧁āϝāĻžā§Ÿā§€ āϕ⧋āĻĄ -> UI āĻšāĻŋāĻ¨ā§āϟ -> āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻ…ā§āϝāĻžāĻ•āĻļāύ āĻŽāĻžāύāϚāĻŋāĻ¤ā§āϰ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧁āύ\n- āύāϤ⧁āύ āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ āϚ⧁āĻ•ā§āϤāĻŋāϟāĻŋāϕ⧇ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āĻŦāĻžāύāĻžāύ āĻāĻŦāĻ‚ āĻ…āύ⧁āĻĒāĻ¸ā§āĻĨāĻŋāϤ āĻĢāĻŋāĻ˛ā§āĻĄāϗ⧁āϞ⧋āϕ⧇ āϰāĻŋāĻ­āĻŋāω-āĻĢ⧇āχāϞ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧁āύ\n- āĻāĻ•āϟāĻŋ āϛ⧋āϟ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻĒā§āϞ⧇āĻŦ⧁āĻ• āϰāĻžāϖ⧁āύ: āĻĒā§āϰāϤāĻŋāϟāĻŋ āϕ⧋āĻĄā§‡āϰ āĻŽāĻžāύ⧇, āϏāĻžāĻĒā§‹āĻ°ā§āϟ āϕ⧀ āϚāĻžāχāĻŦ⧇, āĻāĻŦāĻ‚ āĻ•āĻžāϰ āĻĻāĻžā§ŸāĻŋāĻ¤ā§āĻŦ āĻŽā§‡āϰāĻžāĻŽāϤ āĻ•āϰāĻž\n- āĻ•ā§Ÿā§‡āĻ•āϟāĻŋ āĻŽā§‡āĻŸā§āϰāĻŋāĻ• āĻŸā§āĻ°ā§āϝāĻžāĻ• āĻ•āϰ⧁āύ: āϕ⧋āĻĄ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āĻ¤ā§āϰ⧁āϟāĻŋ āĻšāĻžāϰ, "UNKNOWN_ERROR" āĻ—āĻŖāύāĻž, āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϕ⧋āĻĄā§‡āϰ āϟāĻŋāĻ•āĻŋāϟ āĻ­āϞāĻŋāωāĻŽ

āϝāĻĻāĻŋ āφāĻĒāύāĻŋ AppMaster āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽ āĻĻāĻŋā§Ÿā§‡ āύāĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āϰ⧇āύ, āϤāĻ–āύ āĻāϟāĻž āφāϗ⧇āĻ­āĻžāϗ⧇ āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻ•āϰāĻž āĻŽā§‚āĻ˛ā§āϝāĻŦāĻžāύ: āφāĻĒāύāĻžāϰ āĻāĻ¨ā§āĻĄāĻĒā§Ÿā§‡āĻ¨ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ•āύāϏāĻŋāĻ¸ā§āĻŸā§‡āĻ¨ā§āϟ āĻ¤ā§āϰ⧁āϟāĻŋ āĻļ⧇āχāĻĒ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧁āύ, āϤāĻžāϰāĻĒāϰ UI āĻŽā§āϝāĻžāĻĒ āĻ•āϰ⧇ āĻ“āϝāĻŧ⧇āĻŦ āĻ“ āĻŽā§‹āĻŦāĻžāχāϞ āĻ¸ā§āĻ•ā§āϰāĻŋāύ⧇ āĻ¸ā§āĻĨāĻžā§Ÿā§€ āϕ⧋āĻĄāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āĻāĻ•āχ āĻ…āĻ°ā§āĻĨ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰ⧁āύāĨ¤

āĻāĻ•āϟāĻŋ āϏāĻšāϜ āωāĻĻāĻžāĻšāϰāĻŖ: āϝāĻĻāĻŋ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻŦāĻžāϰāĻŦāĻžāϰ "Payment failed" āϜāĻŦāĻžāĻŦ āĻĒāĻžā§Ÿ, āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄāĻžāχāϜ āĻ•āϰ⧇ UI āĻāĻ•āϟāĻŋ āϕ⧋āĻĄā§‡āϰ āϜāĻ¨ā§āϝ "Card declined" āĻĻ⧇āĻ–āĻžāĻŦ⧇ āĻāĻŦāĻ‚ āϟāĻŋāĻĒāϏ āĻĻ⧇āĻŦ⧇ āφāϰ⧇āĻ•āϟāĻŋ āĻ•āĻžāĻ°ā§āĻĄ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ, āφāϰ āφāϰ⧇āĻ• āϕ⧋āĻĄā§‡āϰ āϜāĻ¨ā§āϝ āĻŦāϞāĻŦ⧇ "Payment system temporarily unavailable" āĻ“ āϰāĻŋāĻŸā§āϰāĻžāχ āĻŦāĻžāϟāύ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻāĻ–āύ āϕ⧇āĻŦāϞ trace_id āĻšā§‡ā§Ÿā§‡ āĻĒāĻžāϰ⧇ āĻŦ⧁āϞāĻŋā§Ÿā§‡ āύāĻž āϗ⧇āϏ āĻ•āϰ⧇āĨ¤

āĻāĻ•āϟāĻŋ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋ āĻ•ā§āϞāĻŋāύāφāĻĒ āĻ•ā§āϝāĻžāϞ⧇āĻ¨ā§āĻĄāĻžāϰ āϰāĻžāϖ⧁āύ: āĻ…āĻŦā§āϝāĻŦāĻšā§ƒāϤ āϕ⧋āĻĄ āĻ…āĻŦāϏāĻžāύ āĻ•āϰ⧁āύ, āĻ…āĻ¸ā§āĻĒāĻˇā§āϟ āĻŽā§‡āϏ⧇āϜ āϏāϰāĻžāύ, āĻāĻŦāĻ‚ āϝ⧇āĻ–āĻžāύ⧇ āĻŦāĻžāĻ¸ā§āϤāĻŦ āĻ­āϞāĻŋāωāĻŽ āφāϛ⧇ āϏ⧇āĻ–āĻžāύ⧇ āϞ⧋āĻ•āĻžāϞāĻžāχāĻœā§‡āĻļāύ āϝ⧋āĻ— āĻ•āϰ⧁āύāĨ¤ āϚ⧁āĻ•ā§āϤāĻŋ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āĻĨāĻžāϕ⧁āĻ•, āĻĒāĻŖā§āϝ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āĻšā§‹āĻ•āĨ¤

āĻļ⧁āϰ⧁ āĻ•āϰāĻž āϏāĻšāϜ
āĻ•āĻŋāϛ⧁ āφāĻļā§āϚāĻ°ā§āϝāϜāύāĻ•āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ

āĻŦāĻŋāύāĻžāĻŽā§‚āĻ˛ā§āϝ⧇āϰ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āϏāĻš āĻ…ā§āϝāĻžāĻĒāĻŽāĻžāĻ¸ā§āϟāĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύāĨ¤
āφāĻĒāύāĻŋ āϝāĻ–āύ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āĻšāĻŦ⧇āύ āϤāĻ–āύ āφāĻĒāύāĻŋ āϏāĻ āĻŋāĻ• āϏāĻĻāĻ¸ā§āϝāϤāĻž āĻŦ⧇āϛ⧇ āύāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āύ⧎

āĻāĻŦāĻžāϰ āĻļ⧁āϰ⧁ āĻ•āϰāĻž āϝāĻžāĻ•
āĻ¸ā§āĻĒāĻˇā§āϟ, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āĻŦāĻžāĻ¨ā§āϧāĻŦ āĻŦāĻžāĻ°ā§āϤāĻžāϰ āϜāĻ¨ā§āϝ API āĻ¤ā§āϰ⧁āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋāϰ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ | AppMaster