01 āļ.āļ„. 2568·āļ­āđˆāļēāļ™ 2 āļ™āļēāļ—āļĩ

āļĢāļđāļ›āđāļšāļšāđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļ§āļ‡āļˆāļĢāļŠāļģāļŦāļĢāļąāļš API āļ‚āļ­āļ‡āļšāļļāļ„āļ„āļĨāļ—āļĩāđˆāļŠāļēāļĄāđƒāļ™āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāđ€āļŠāļīāļ‡āļ āļēāļž

āđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļĢāļđāļ›āđāļšāļšāđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļ§āļ‡āļˆāļĢāļŠāļģāļŦāļĢāļąāļš API āļ‚āļ­āļ‡āļšāļļāļ„āļ„āļĨāļ—āļĩāđˆāļŠāļēāļĄāđƒāļ™āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāđ€āļŠāļīāļ‡āļ āļēāļž: āļ•āļąāđ‰āļ‡āđ€āļāļ“āļ‘āđŒ, āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āđ„āļ›āļĒāļąāļ‡ fallback, āļšāļĨāđ‡āļ­āļāļāļēāļĢāļĢāļĩāļ—āļĢāļēāļĒāļ—āļĩāđˆāļĢāļšāļāļ§āļ™ āđāļĨāļ°āļŠāđˆāļ‡āļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āļ—āļĩāđˆāļŠāļąāļ”āđ€āļˆāļ™

āļĢāļđāļ›āđāļšāļšāđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļ§āļ‡āļˆāļĢāļŠāļģāļŦāļĢāļąāļš API āļ‚āļ­āļ‡āļšāļļāļ„āļ„āļĨāļ—āļĩāđˆāļŠāļēāļĄāđƒāļ™āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāđ€āļŠāļīāļ‡āļ āļēāļž

āļ—āļģāđ„āļĄāļāļēāļĢāļĨāđˆāļĄāļ‚āļ­āļ‡ API āļ āļēāļĒāļ™āļ­āļāļ–āļķāļ‡āļ—āļģāđƒāļŦāđ‰āļŦāļĨāļēāļĒāļŸāļĩāđ€āļˆāļ­āļĢāđŒāļžāļąāļ‡āļžāļĢāđ‰āļ­āļĄāļāļąāļ™\n\nAPI āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļ āļēāļĒāļ™āļ­āļāļĄāļąāļāļ­āļĒāļđāđˆāļāļĨāļēāļ‡āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ›āļĢāļ°āļˆāļģāļ§āļąāļ™: āļĢāļąāļšāļŠāļģāļĢāļ°āđ€āļ‡āļīāļ™, āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ—āļĩāđˆāļ­āļĒāļđāđˆ, āļ‹āļīāļ‡āļāđŒāļŠāļ•āđ‡āļ­āļ, āļŠāđˆāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ, āļĒāļ·āļ™āļĒāļąāļ™āļ•āļąāļ§āļ•āļ™ āđ€āļĄāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļĄāļĩāļ›āļąāļāļŦāļē āļĄāļąāļ™āđ„āļĄāđˆāđ„āļ”āđ‰āļ—āļģāđƒāļŦāđ‰āļ›āļļāđˆāļĄāđ€āļ”āļĩāļĒāļ§āļžāļąāļ‡ āđāļ•āđˆāļŠāļēāļĄāļēāļĢāļ–āļŦāļĒāļļāļ”āļ—āļąāđ‰āļ‡āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļ—āļĩāđˆāļĢāļ­āļāļēāļĢāļ•āļ­āļšāļāļĨāļąāļšāļ™āļąāđ‰āļ™\n\nāļ™āļąāđˆāļ™āļ„āļ·āļ­āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļ§āļ‡āļˆāļĢāļŠāļģāļ„āļąāļ â€” āļĄāļąāļ™āđ„āļĄāđˆāđƒāļŠāđˆāļ—āļĪāļĐāļŽāļĩ āđāļ•āđˆāđ€āļ›āđ‡āļ™āļ§āļīāļ˜āļĩāļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļ‡āļēāļ™āļŦāļĨāļąāļāļĒāļąāļ‡āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āđāļĄāđ‰āļ§āđˆāļēāļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļˆāļ°āđ„āļĄāđˆāļžāļĢāđ‰āļ­āļĄāđƒāļŠāđ‰āļ‡āļēāļ™\n\nāļ„āļ§āļēāļĄāļŠāđ‰āļēāđāļĨāļ°āļāļēāļĢāļĨāđˆāļĄāļŠāđˆāļ‡āļœāļĨāļ•āđˆāļēāļ‡āļāļąāļ™\n\nāđ€āļĄāļ·āđˆāļ­ API āļŠāđ‰āļē āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļĒāļąāļ‡āļžāļĒāļēāļĒāļēāļĄāļ—āļģāļ‡āļēāļ™āļ•āđˆāļ­ āđāļ•āđˆāļ—āļļāļāļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ•āđ‰āļ­āļ‡āļĢāļ­ āļœāļđāđ‰āđƒāļŠāđ‰āđ€āļŦāđ‡āļ™āļŦāļ™āđ‰āļēāļˆāļ­āđ‚āļŦāļĨāļ” āļ—āļĩāļĄāļ‹āļąāļžāļžāļ­āļĢāđŒāļ•āđ„āļ”āđ‰āļĢāļąāļšāļ•āļąāđ‹āļ§āļ§āđˆāļē “āļĄāļąāļ™āļ•āļīāļ”” āđāļĨāļ°āļ‡āļēāļ™āđ€āļšāļ·āđ‰āļ­āļ‡āļŦāļĨāļąāļ‡āļŠāļ°āļŠāļĄ āļ„āļ§āļēāļĄāļŠāđ‰āļēāļ—āļģāđƒāļŦāđ‰āļ”āļđāđ€āļŦāļĄāļ·āļ­āļ™āļĢāļ°āļšāļšāļ‚āļ­āļ‡āļ„āļļāļ“āđ€āļ­āļ‡āļĄāļĩāļ›āļąāļāļŦāļē\n\nāđ€āļĄāļ·āđˆāļ­ API āļĨāđˆāļĄ āļ„āļļāļ“āļˆāļ°āđ„āļ”āđ‰ timeout āļŦāļĢāļ·āļ­āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ—āļĩāđˆāļŠāļąāļ”āđ€āļˆāļ™ āļ‹āļķāđˆāļ‡āļ”āļđāļ‡āđˆāļēāļĒāļāļ§āđˆāļēāđāļ•āđˆāļšāļēāļ‡āļ„āļĢāļąāđ‰āļ‡āļ­āļąāļ™āļ•āļĢāļēāļĒāļāļ§āđˆāļēāđ€āļžāļĢāļēāļ°āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļĄāļąāļāļĢāļĩāļ—āļĢāļēāļĒ āđ€āļĄāļ·āđˆāļ­āļ„āļģāļ‚āļ­āļˆāļģāļ™āļ§āļ™āļĄāļēāļāļĢāļĩāļ—āļĢāļēāļĒāļžāļĢāđ‰āļ­āļĄāļāļąāļ™ āļˆāļ°āđ€āļāļīāļ”āļžāļēāļĒāļļāļ—āļĢāļēāļŸāļŸāļīāļāļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļāļēāļĢāļāļđāđ‰āļ„āļ·āļ™āļĒāļēāļāļ‚āļķāđ‰āļ™āđāļĨāļ°āļ­āļēāļˆāļĨāļēāļāļĢāļ°āļšāļšāļ‚āļ­āļ‡āļ„āļļāļ“āļĨāļ‡āđ„āļ›āļ”āđ‰āļ§āļĒ\n\nāļ­āļēāļāļēāļĢāļ—āļąāđˆāļ§āđ„āļ›āļˆāļ°āđ€āļŦāđ‡āļ™āđ„āļ”āđ‰āđ€āļĢāđ‡āļ§: timeout āļ„āļīāļ§āļ—āļĩāđˆāļĒāļąāļ‡āđ€āļ•āļīāļšāđ‚āļ• āļāļēāļĢāļ­āļąāļ›āđ€āļ”āļ•āļšāļēāļ‡āļŠāđˆāļ§āļ™ āđāļĨāļ°āļ•āđ‰āļ­āļ‡āļ—āļģāļ„āļ§āļēāļĄāļŠāļ°āļ­āļēāļ”āļ”āđ‰āļ§āļĒāļĄāļ·āļ­āļˆāļģāļ™āļ§āļ™āļĄāļēāļ\n\nāļ„āļ§āļēāļĄāđ€āļŠāļĩāļĒāļŦāļēāļĒāļ—āļĩāđˆāđāļ—āđ‰āļˆāļĢāļīāļ‡āļ„āļ·āļ­āļ›āļāļīāļāļīāļĢāļīāļĒāļēāļĨāļđāļāđ‚āļ‹āđˆ āļŦāļēāļāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ­āļąāļ•āļĢāļēāļ„āđˆāļēāļŠāđˆāļ‡āļŠāđ‰āļē āļāļēāļĢāļ§āļēāļ‡āļ„āļģāļŠāļąāđˆāļ‡āļ‹āļ·āđ‰āļ­āļāđ‡āļŠāđ‰āļēāļĨāļ‡āđ€āļžāļĢāļēāļ°āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāđ„āļĄāđˆāļĒāļ­āļĄāļĒāļ·āļ™āļĒāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡āđ‚āļ”āļĒāđ„āļĄāđˆāļĄāļĩāđƒāļšāđ€āļŠāļ™āļ­āļĢāļēāļ„āļē āļŦāļēāļāļāļēāļĢāļŠāļģāļĢāļ°āđ€āļ‡āļīāļ™āļĨāđˆāļĄ āļ—āļĩāļĄāļ‹āļąāļžāļžāļ­āļĢāđŒāļ•āļ­āļēāļˆāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ„āļ·āļ™āđ€āļ‡āļīāļ™āđ„āļ”āđ‰āđāļĄāđ‰āļ§āđˆāļēāļŠāļīāđˆāļ‡āļ­āļ·āđˆāļ™āļˆāļ°āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ›āļāļ•āļī\n\nāļ„āļļāļ“āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļĄāļ­āļ‡āļ‚āđ‰āļēāļĄāļāļēāļĢāļĨāđˆāļĄāđ„āļ”āđ‰ āđ€āļ›āđ‰āļēāļŦāļĄāļēāļĒāļ„āļ·āļ­āļ­āļ­āļāđāļšāļšāđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļ—āļĩāđˆāļĄāļĩāđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļŠāļģāļĢāļ­āļ‡āļŠāļąāļ”āđ€āļˆāļ™ āļāļŽāļāļēāļĢāļšāļĨāđ‡āļ­āļāļŠāļąāđˆāļ§āļ„āļĢāļēāļ§ āđāļĨāļ°āļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āđ€āļžāļ·āđˆāļ­āļ˜āļļāļĢāļāļīāļˆāļĒāļąāļ‡āļĢāļąāļšāļ„āļģāļŠāļąāđˆāļ‡ āļ‚āļšāļĢāļīāļāļēāļĢāļĨāļđāļāļ„āđ‰āļē āđāļĨāļ°āļšāļąāļ™āļ—āļķāļāļ‡āļēāļ™āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆāļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļŸāļ·āđ‰āļ™āļ•āļąāļ§\n\n## āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļ§āļ‡āļˆāļĢāļ­āļ˜āļīāļšāļēāļĒāđāļšāļšāļ‡āđˆāļēāļĒāđ†\n\nāđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļ§āļ‡āļˆāļĢāļ„āļ·āļ­āļŠāļ§āļīāļ•āļŠāđŒāļ™āļīāļĢāļ āļąāļĒāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļĢāļĩāļĒāļ API āđ€āļĄāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļ āļēāļĒāļ™āļ­āļāđ€āļĢāļīāđˆāļĄāļĨāđ‰āļĄāđ€āļŦāļĨāļ§ āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļˆāļ°āļŦāļĒāļļāļ”āđ„āļĄāđˆāđƒāļŦāđ‰āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļ—āļļāļšāđ€āļĢāļĩāļĒāļāļ‹āđ‰āļģāđ† āđāļ—āļ™āļ—āļĩāđˆāļˆāļ°āđ€āļ›āļĨāļĩāđˆāļĒāļ™āļāļēāļĢāļĨāđˆāļĄāļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§āđƒāļŦāđ‰āļāļĨāļēāļĒāđ€āļ›āđ‡āļ™āļŦāļ™āđ‰āļēāļˆāļ­āļŠāđ‰āļē, timeout, āđāļĨāļ°āļ‡āļēāļ™āļ•āļīāļ”āļ„āđ‰āļēāļ‡ āļ„āļļāļ“āļˆāļ°āļ„āļ§āļšāļ„āļļāļĄāļ‚āļ­āļšāđ€āļ‚āļ•āļ‚āļ­āļ‡āļ„āļ§āļēāļĄāđ€āļŠāļĩāļĒāļŦāļēāļĒāđ„āļ”āđ‰\n\nāđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļĄāļĩāļœāļĨāļĨāļąāļžāļ˜āđŒāļŠāļēāļĄāđāļšāļšāļ‡āđˆāļēāļĒāđ†:\n\n- āļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āđ€āļĢāļĩāļĒāļ āđ€āļĄāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļ”āļđāļ›āļāļ•āļī\n- āļšāļĨāđ‡āļ­āļāļāļēāļĢāđ€āļĢāļĩāļĒāļ āđ€āļĄāļ·āđˆāļ­āļ„āļ§āļēāļĄāļĨāđ‰āļĄāđ€āļŦāļĨāļ§āļŠāļđāļ‡ āđāļĨāļ°āļžāļēāļ—āļģāļ‡āļēāļ™āđ„āļ›āļĒāļąāļ‡ fallback āļ—āļąāļ™āļ—āļĩ\n- āļĨāļ­āļ‡āđ€āļĢāļĩāļĒāļāļ—āļ”āļŠāļ­āļšāļˆāļģāļāļąāļ” āļŦāļĨāļąāļ‡āļˆāļēāļāļžāļąāļāļŠāļąāđ‰āļ™āđ† āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļ§āđˆāļēāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļāļĨāļąāļšāļĄāļēāļŦāļĢāļ·āļ­āļĒāļąāļ‡\n\nāļ–āđ‰āļēāļŠāļ­āļšāđƒāļŠāđ‰āļ›āđ‰āļēāļĒāļŠāļ·āđˆāļ­āļāđ‡āđ€āļ›āđ‡āļ™ â€œclosed”, “open”, āđāļĨāļ° â€œhalf-open” āļŠāļ·āđˆāļ­āđ„āļĄāđˆāļŠāļģāļ„āļąāļāđ€āļ—āđˆāļēāļ„āļ§āļēāļĄāļ„āļēāļ”āļāļēāļĢāļ“āđŒāđ„āļ”āđ‰ āđ€āļĄāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļĄāļĩāļ›āļąāļāļŦāļē āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļ‚āļ­āļ‡āļ„āļļāļ“āļ„āļ§āļĢāļ—āļģāļ‡āļēāļ™āđ€āļŦāļĄāļ·āļ­āļ™āđ€āļ”āļīāļĄāđƒāļ™āļ—āļļāļāļ„āļĢāļąāđ‰āļ‡\n\nāļŠāļīāđˆāļ‡āļ™āļĩāđ‰āđ„āļĄāđˆāļ‹āđˆāļ­āļ™āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ” āļ„āļļāļ“āļĒāļąāļ‡āļšāļąāļ™āļ—āļķāļāļĨāđ‰āļĄāđ€āļŦāļĨāļ§ āđāļŠāļ”āļ‡āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆāļŠāļąāļ”āđ€āļˆāļ™āđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰āļŦāļĢāļ·āļ­āļ—āļĩāļĄāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢ āđāļĨāļ°āđāļˆāđ‰āļ‡āļ„āļ™āļ—āļĩāđˆāļ„āļ§āļĢāļĢāļđāđ‰ āļ„āļļāļ“āļāļģāļĨāļąāļ‡āđ€āļĨāļ·āļ­āļāļ—āļĩāđˆāļˆāļ°āļĨāđ‰āļĄāđ€āļŦāļĨāļ§āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§ āļŠāđˆāļ‡āļ‡āļēāļ™āđ„āļ›āļĒāļąāļ‡āļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāļ—āļĩāđˆāļ›āļĨāļ­āļ”āļ āļąāļĒāļāļ§āđˆāļē āļŦāļĢāļ·āļ­āļĨāļ­āļ‡āļžāļąāļāļāđˆāļ­āļ™āļ—āļ”āļŠāļ­āļšāđƒāļŦāļĄāđˆ\n\n## āđ€āļĨāļ·āļ­āļāļāļēāļĢāđ€āļĢāļĩāļĒāļ API āļ—āļĩāđˆāļŦāđ‰āļēāļĄāļŦāļĒāļļāļ”āļ˜āļļāļĢāļāļīāļˆ\n\nāđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­āļ„āļļāļ“āļ„āļąāļ”āđ€āļĨāļ·āļ­āļ āđ„āļĄāđˆāđƒāļŠāđˆāļāļēāļĢāđ€āļĢāļĩāļĒāļāļ—āļļāļāļ•āļąāļ§āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļāļēāļĢāļ›āđ‰āļ­āļ‡āļāļąāļ™āļžāļīāđ€āļĻāļĐ āđ€āļĢāļīāđˆāļĄāļˆāļēāļāļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ—āļĩāđˆāļŦāļēāļāļ–āļđāļāļšāļĨāđ‡āļ­āļāļˆāļ°āļŦāļĒāļļāļ”āđ€āļ‡āļīāļ™ āļ„āļģāļŠāļąāđˆāļ‡ āļŦāļĢāļ·āļ­āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļĨāļđāļāļ„āđ‰āļē\n\nāļ§āļīāļ˜āļĩāļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļ„āļ·āļ­āđ€āļ”āļīāļ™āļ•āļēāļĄāļ„āļģāļ‚āļ­āļœāļđāđ‰āđƒāļŠāđ‰āļŦāļ™āļķāđˆāļ‡āļĢāļēāļĒāļāļēāļĢāđāļšāļš end-to-end āđāļĨāđ‰āļ§āļ–āļēāļĄāļ§āđˆāļēāļ—āļĩāđˆāđ„āļŦāļ™āļ—āļĩāđˆ timeout āļˆāļ°āļšāļąāļ‡āļ„āļąāļšāđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰āļĒāļāđ€āļĨāļīāļāļ‡āļēāļ™ āļŦāļĢāļ·āļ­āļ•āđ‰āļ­āļ‡āđƒāļŦāđ‰āļ—āļĩāļĄāļĄāļēāļ—āļģāļ„āļ§āļēāļĄāļŠāļ°āļ­āļēāļ”āļ—āļĩāļŦāļĨāļąāļ‡\n\nāļāļēāļĢāđ€āļĢāļĩāļĒāļāļ—āļĩāđˆāļ„āļ§āļĢāđƒāļŦāđ‰āļāļēāļĢāļ›āđ‰āļ­āļ‡āļāļąāļ™āļĄāļąāļāļĢāļ§āļĄāļ–āļķāļ‡āļāļēāļĢāļŠāļģāļĢāļ°āđ€āļ‡āļīāļ™ āļāļēāļĢāļˆāļąāļ”āļŠāđˆāļ‡āđāļĨāļ°āļāļēāļĢāļ›āļāļīāļšāļąāļ•āļī āļāļēāļĢāļĨāđ‡āļ­āļāļ­āļīāļ™/SSO/MFA āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ OTP āđāļĨāļ°āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī\n\nāđāļĒāļāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ—āļĩāđˆāđ€āļŦāđ‡āļ™āđ‚āļ”āļĒāļœāļđāđ‰āđƒāļŠāđ‰āļāļąāļšāļ‡āļēāļ™āđ€āļšāļ·āđ‰āļ­āļ‡āļŦāļĨāļąāļ‡āļ”āđ‰āļ§āļĒ āļŦāļēāļāļ„āļ™āļĢāļ­āļ—āļĩāđˆāļŦāļ™āđ‰āļēāļŠāļģāļĢāļ°āđ€āļ‡āļīāļ™ āļ„āļļāļ“āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ„āļģāļ•āļąāļ”āļŠāļīāļ™āđ€āļĢāđ‡āļ§: āļŠāļģāđ€āļĢāđ‡āļˆ āļŠāļģāļĢāļ­āļ‡ āļŦāļĢāļ·āļ­āļŦāļĒāļļāļ”āļžāļĢāđ‰āļ­āļĄāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļąāļ”āđ€āļˆāļ™ āļŠāļģāļŦāļĢāļąāļšāļ‡āļēāļ™āđ€āļšāļ·āđ‰āļ­āļ‡āļŦāļĨāļąāļ‡āđ€āļŠāđˆāļ™āļāļēāļĢāļ‹āļīāļ‡āļāđŒāļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ•āļīāļ”āļ•āļēāļĄ āļāļēāļĢāļĢāļĩāļ—āļĢāļēāļĒāļŠāđ‰āļēāļāļ§āđˆāļēāđ€āļ›āđ‡āļ™āļ—āļĩāđˆāļĒāļ­āļĄāļĢāļąāļšāļ•āļĢāļēāļšāđ€āļ—āđˆāļēāļ—āļĩāđˆāļĄāļąāļ™āđ„āļĄāđˆāļšāļĨāđ‡āļ­āļāđ‚āļŸāļĨāļ§āđŒāļŦāļĨāļąāļ\n\nāđ€āļĢāļīāđˆāļĄāļˆāļēāļāđ€āļĨāđ‡āļāđ† āđ€āļžāļ·āđˆāļ­āļŦāļĨāļĩāļāđ€āļĨāļĩāđˆāļĒāļ‡āļ‚āļ­āļšāđ€āļ‚āļ•āļ—āļĩāđˆāļ‚āļĒāļēāļĒāļ•āļąāļ§ āļ›āļāļ›āđ‰āļ­āļ‡ 1–3 āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļāđˆāļ­āļ™ āđāļĨāđ‰āļ§āļ„āđˆāļ­āļĒāļ‚āļĒāļēāļĒ\n\nāļāļģāļŦāļ™āļ”āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāļ‚āļ­āļ‡ â€œfallback āļ—āļĩāđˆāļ›āļĨāļ­āļ”āļ āļąāļĒ” āļāđˆāļ­āļ™āļŠāļĢāđ‰āļēāļ‡āļ­āļ°āđ„āļĢ Good fallbacks āļ„āļ§āļĢāđ€āļ‰āļžāļēāļ°āđ€āļˆāļēāļ°āļˆāļ‡āđāļĨāļ°āļ—āļ”āļŠāļ­āļšāđ„āļ”āđ‰:\n\n- āļāļēāļĢāļŠāļģāļĢāļ°āđ€āļ‡āļīāļ™: āļšāļąāļ™āļ—āļķāļāļ„āļģāļŠāļąāđˆāļ‡āđ€āļ›āđ‡āļ™ â€œpayment pending” āđ€āļžāļ·āđˆāļ­āđ„āļĄāđˆāđƒāļŦāđ‰āļ•āļ°āļāļĢāđ‰āļēāļŦāļēāļĒ\n- āļāļēāļĢāļˆāļąāļ”āļŠāđˆāļ‡: āđƒāļŠāđ‰āļ­āļąāļ•āļĢāļēāļ—āļĩāđˆāđāļ„āļŠāđ„āļ§āđ‰ āļ­āļąāļ•āļĢāļēāđāļšāļš flat rate āļŦāļĢāļ·āļ­āļĒāļ·āļ™āļĒāļąāļ™āļ„āļģāļŠāļąāđˆāļ‡āđāļĨāđ‰āļ§āđ€āļĨāļ·āđˆāļ­āļ™āļāļēāļĢāļ‹āļ·āđ‰āļ­āļ‰āļĨāļēāļ\n- āļ•āļąāļ§āļ•āļ™: āļ­āļ™āļļāļāļēāļ•āļĨāđ‡āļ­āļāļ­āļīāļ™āļ”āđ‰āļ§āļĒāļĢāļŦāļąāļŠāļœāđˆāļēāļ™āđ€āļĄāļ·āđˆāļ­ SSO āļĨāđˆāļĄ āļŦāļĢāļ·āļ­āļŠāļĨāļąāļšāđ€āļ›āđ‡āļ™āļāļēāļĢāļĒāļ·āļ™āļĒāļąāļ™āļ—āļēāļ‡āļ­āļĩāđ€āļĄāļĨ\n- āļāļēāļĢāļŠāđˆāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ: āļ•āđˆāļ­āļ„āļīāļ§ SMS āđ„āļ§āđ‰āļ āļēāļĒāļŦāļĨāļąāļ‡āđāļĨāļ°āđƒāļŦāđ‰āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļŠāļģāļĢāļ­āļ‡āļ–āđ‰āļēāđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļ”āđ‰\n\nāđƒāļ™ Business Process Editor āļ‚āļ­āļ‡ AppMaster āļ™āļĩāđˆāļĄāļąāļāļāļĨāļēāļĒāđ€āļ›āđ‡āļ™āļŠāļēāļ‚āļēāļŠāļąāļ”āđ€āļˆāļ™: āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļŦāļĨāļąāļāļĒāļąāļ‡āđ„āļ›āļ•āđˆāļ­ āļ‚āļ“āļ°āļ—āļĩāđˆāļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ—āļĩāđˆāļžāļķāđˆāļ‡āļžāļēāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđƒāļŠāđ‰āļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāļ—āļĩāđˆāļ„āļ§āļšāļ„āļļāļĄāđ„āļ”āđ‰\n\n## āļŠāļ–āļēāļ™āļ° āđ€āļāļ“āļ‘āđŒ āđāļĨāļ°āļ•āļąāļ§āļˆāļąāļšāđ€āļ§āļĨāļēāļ—āļĩāđˆāļ­āļ˜āļīāļšāļēāļĒāđ„āļ”āđ‰\n\nāđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļ§āļ‡āļˆāļĢāļ„āļ·āļ­āļŠāļ§āļīāļ•āļŠāđŒāļ™āļīāļĢāļ āļąāļĒ āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆāđ€āļ§āļĨāļēāļĄāļąāļ™āļ›āļĨāđˆāļ­āļĒāđƒāļŦāđ‰āđ€āļĢāļĩāļĒāļāļœāđˆāļēāļ™ āđ€āļĄāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđ€āļĢāļīāđˆāļĄāļĨāđ‰āļĄāđ€āļŦāļĨāļ§ āļĄāļąāļ™āļˆāļ°āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ€āļžāļ·āđˆāļ­āļ›āļāļ›āđ‰āļ­āļ‡āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļˆāļēāļāļāļēāļĢāđ€āļŠāļĩāļĒāđ€āļ§āļĨāļēāđāļĨāļ°āļāļēāļĢāļŠāļ°āļŠāļĄāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”\n\n### āļŠāļēāļĄāļŠāļ–āļēāļ™āļ°\n\nClosed āļ„āļ·āļ­āļ›āļāļ•āļī āđ€āļĢāļĩāļĒāļ API āđāļĨāđ‰āļ§āļ”āļģāđ€āļ™āļīāļ™āļ•āđˆāļ­\n\nāļ–āđ‰āļēāļ„āļ§āļēāļĄāļĨāđ‰āļĄāđ€āļŦāļĨāļ§āļ‚āđ‰āļēāļĄāđ€āļŠāđ‰āļ™āļ—āļĩāđˆāļāļģāļŦāļ™āļ” āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļˆāļ°āđ€āļ›āđ‡āļ™ Open āļ„āļļāļ“āļŦāļĒāļļāļ”āđ€āļĢāļĩāļĒāļāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđ€āļ›āđ‡āļ™āļĢāļ°āļĒāļ°āļŠāļąāđ‰āļ™āđāļĨāļ°āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ„āļ›āļĒāļąāļ‡ fallback āļ—āļąāļ™āļ—āļĩ (āļ„āđˆāļēāļ—āļĩāđˆāđāļ„āļŠāđ„āļ§āđ‰ āļ‡āļēāļ™āļ„āļīāļ§ āļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāļ­āļ·āđˆāļ™)\n\nāļŦāļĨāļąāļ‡āļ„āļđāļĨāļ”āļēāļ§āļ™āđŒ āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļˆāļ°āđ€āļ›āđ‡āļ™ Half-open āļ„āļļāļ“āļ­āļ™āļļāļāļēāļ•āļāļēāļĢāđ€āļĢāļĩāļĒāļāļ—āļ”āļŠāļ­āļšāļˆāļģāļ™āļ§āļ™āđ€āļĨāđ‡āļāļ™āđ‰āļ­āļĒ āļ–āđ‰āļēāļžāļ§āļāļĄāļąāļ™āļŠāļģāđ€āļĢāđ‡āļˆ āļ„āļļāļ“āļāļĨāļąāļšāđ€āļ›āđ‡āļ™ Closed āļ–āđ‰āļēāļĨāđ‰āļĄāđ€āļŦāļĨāļ§ āļ„āļļāļ“āļāļĨāļąāļšāđ€āļ›āđ‡āļ™ Open\n\n### āļ§āļąāļ”āļ­āļ°āđ„āļĢāļšāđ‰āļēāļ‡\n\nāđƒāļŠāđ‰āļŠāļąāļāļāļēāļ“āļ—āļĩāđˆāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļšāļ§āļīāļ˜āļĩāļ—āļĩāđˆāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļĨāđ‰āļĄāđ€āļŦāļĨāļ§:\n\n- Timeout\n- HTTP 5xx\n- āļ„āļ§āļēāļĄāļŦāļ™āđˆāļ§āļ‡āļ—āļĩāđˆāđ€āļžāļīāđˆāļĄāļ‚āļķāđ‰āļ™ (āļŠāđ‰āļēāļĄāļēāļāđ€āļāļīāļ™āļāļ§āđˆāļēāļˆāļ°āđƒāļŠāđ‰āđ„āļ”āđ‰)\n- āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­/DNS\n- 429 rate limits\n\nāđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāđ€āļŠāļīāļ‡āļ āļēāļž āļŠāļīāđˆāļ‡āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļĄāļąāļāđāļĄāļ›āđ„āļ›āļĒāļąāļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ‡āđˆāļēāļĒāđ†: āļĢāļŦāļąāļŠāļŠāļ–āļēāļ™āļ° āđ€āļ§āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰ āđāļĨāļ°āļœāļĨāļĨāļąāļžāļ˜āđŒāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđ€āļ‰āļžāļēāļ°\n\n### āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđāļĨāļ°āļ•āļąāļ§āļˆāļąāļšāđ€āļ§āļĨāļēāļŠāļ­āļ‡āļ•āļąāļ§āļŠāļģāļ„āļąāļ\n\nāđ€āļĢāļīāđˆāļĄāļ”āđ‰āļ§āļĒāļ•āļąāļ§āđ€āļĨāļ‚āļ—āļĩāđˆāļ­āļ˜āļīāļšāļēāļĒāļ‡āđˆāļēāļĒ āđāļĨāđ‰āļ§āļ›āļĢāļąāļšāļ•āļēāļĄāļ—āļĢāļēāļŸāļŸāļīāļ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡:\n\n- āđ€āļ›āļīāļ”āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļ–āđ‰āļēāļĄāļĩ 5–10 āļāļēāļĢāđ€āļĢāļĩāļĒāļāļĨāđ‰āļĄāđ€āļŦāļĨāļ§āļ āļēāļĒāđƒāļ™ 30–60 āļ§āļīāļ™āļēāļ—āļĩ\n- āļŦāļĢāļ·āļ­āđ€āļ›āļīāļ”āļ–āđ‰āļē 20%–40% āļ‚āļ­āļ‡āļāļēāļĢāđ€āļĢāļĩāļĒāļāļĨāđ‰āļĄāđ€āļŦāļĨāļ§āđƒāļ™āļŦāļ™āđ‰āļēāļ•āđˆāļēāļ‡āđ€āļĨāļ·āđˆāļ­āļ™\n- āļ–āļ·āļ­āļ§āđˆāļēāļ„āļ§āļēāļĄāļŦāļ™āđˆāļ§āļ‡āđ€āļ›āđ‡āļ™āļ„āļ§āļēāļĄāļĨāđ‰āļĄāđ€āļŦāļĨāļ§āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ™āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļĒāļ­āļĄāļĢāļąāļšāđ„āļ”āđ‰ (āļšāđˆāļ­āļĒāļ„āļĢāļąāđ‰āļ‡ 2–5 āļ§āļīāļ™āļēāļ—āļĩ)\n\nāļˆāļēāļāļ™āļąāđ‰āļ™āļ•āļąāđ‰āļ‡āļ•āļąāļ§āļˆāļąāļšāđ€āļ§āļĨāļēāļŠāļ­āļ‡āļ•āļąāļ§:\n\n- Cooldown time (āļŠāļ–āļēāļ™āļ° Open): āļĄāļąāļ 30 āļ§āļīāļ™āļēāļ—āļĩāļ–āļķāļ‡ 5 āļ™āļēāļ—āļĩ\n- āļŦāļ™āđ‰āļēāļ•āđˆāļēāļ‡āļ—āļ”āļŠāļ­āļš Half-open: āļ­āļ™āļļāļāļēāļ• 1–5 āļāļēāļĢāđ€āļĢāļĩāļĒāļāļ—āļ”āļŠāļ­āļš āļŦāļĢāļ·āļ­āļ•āļąāđ‰āļ‡āđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ‡āđ€āļ§āļĨāļē 10–30 āļ§āļīāļ™āļēāļ—āļĩ\n\nāđ€āļ›āđ‰āļēāļŦāļĄāļēāļĒāļ„āļ·āļ­: āļĨāđ‰āļĄāđ€āļŦāļĨāļ§āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§āđ€āļĄāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđ„āļĄāđˆāļ”āļĩ āđāļĨāļ°āļāļđāđ‰āļ„āļ·āļ™āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđ€āļĄāļ·āđˆāļ­āļāļĨāļąāļšāļĄāļē\n\n## āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ—āļĩāļĨāļ°āļ‚āļąāđ‰āļ™: āļŠāļĢāđ‰āļēāļ‡āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļ§āļ‡āļˆāļĢāđƒāļ™āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāđ€āļŠāļīāļ‡āļ āļēāļž\n\nāļāļēāļĢāļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļŠāļģāļ„āļąāļāļ—āļĩāđˆāļŠāļļāļ”āļ„āļ·āļ­āļ—āļģāļāļēāļĢāļ•āļąāļ”āļŠāļīāļ™āđƒāļˆ â€œāļ•āļ­āļ™āļ™āļĩāđ‰āđ€āļĢāļēāļˆāļ°āđ€āļĢāļĩāļĒāļāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđ„āļŦāļĄ?” āđ„āļ§āđ‰āļ—āļĩāđˆāļˆāļļāļ”āđ€āļ”āļĩāļĒāļ§ āđ„āļĄāđˆāļāļĢāļ°āļˆāļēāļĒāđ„āļ›āļ—āļąāđˆāļ§āļ—āļļāļāđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒ\n\n### 1) āļ§āļēāļ‡āļāļēāļĢāđ€āļĢāļĩāļĒāļāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđ„āļ§āđ‰āļŦāļĨāļąāļ‡āļšāļĨāđ‡āļ­āļāļ—āļĩāđˆāļ™āļģāļāļĨāļąāļšāļĄāļēāđƒāļŠāđ‰āđ„āļ”āđ‰āđ€āļžāļĩāļĒāļ‡āļšāļĨāđ‡āļ­āļāđ€āļ”āļĩāļĒāļ§\n\nāļŠāļĢāđ‰āļēāļ‡ sub-process (āļšāļĨāđ‡āļ­āļāđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļ™āļģāļāļĨāļąāļšāļĄāļēāđƒāļŠāđ‰āđ„āļ”āđ‰) āļ—āļĩāđˆāđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļ—āļļāļāļ­āļąāļ™āđ€āļĢāļĩāļĒāļāđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļāļēāļĢāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢ āđƒāļ™ AppMaster āļ™āļĩāđˆāļ•āļĢāļ‡āļāļąāļš Business Process āļ—āļĩāđˆāđ€āļĢāļĩāļĒāļāļˆāļēāļ endpoint āļŦāļĢāļ·āļ­ automation āđ€āļāđ‡āļšāđƒāļŦāđ‰āđāļ„āļš: āļĢāļąāļšāļ­āļīāļ™āļžāļļāļ• āļŠāđˆāļ‡āļ„āļģāļ‚āļ­āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢ āđāļĨāđ‰āļ§āļ„āļ·āļ™āļœāļĨāļŠāļģāđ€āļĢāđ‡āļˆ/āļĨāđ‰āļĄāđ€āļŦāļĨāļ§āļŠāļąāļ”āđ€āļˆāļ™\n\n### 2) āļ•āļīāļ”āļ•āļēāļĄāļ„āļ§āļēāļĄāļĨāđ‰āļĄāđ€āļŦāļĨāļ§āđ‚āļ”āļĒāđƒāļŠāđ‰āđ€āļ§āļĨāļē āđ„āļĄāđˆāđƒāļŠāđˆāđāļ„āđˆāļˆāļģāļ™āļ§āļ™\n\nāļšāļąāļ™āļ—āļķāļāļœāļĨāļĨāļąāļžāļ˜āđŒāđāļ•āđˆāļĨāļ°āļĢāļēāļĒāļāļēāļĢāļžāļĢāđ‰āļ­āļĄāļŠāđāļ•āļĄāļ›āđŒāđ€āļ§āļĨāļē āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļŠāđˆāļ™ last success, last failure, failures within a window, current state, āđāļĨāļ° cooldown deadline\n\nāđ€āļāđ‡āļšāļŸāļīāļĨāļ”āđŒāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āđƒāļ™āļ•āļēāļĢāļēāļ‡āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļĢāļ­āļ”āļāļēāļĢāļĢāļĩāļŠāļ•āļēāļĢāđŒāļ—āđāļĨāļ°āļ„āļ‡āļ—āļĩāđˆāļ‚āđ‰āļēāļĄāļ­āļīāļ™āļŠāđāļ•āļ™āļ‹āđŒāļŦāļĨāļēāļĒāļ•āļąāļ§ PostgreSQL āļœāđˆāļēāļ™ Data Designer āđ€āļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļšāļŠāļīāđˆāļ‡āļ™āļĩāđ‰\n\n### 3) āļāļģāļŦāļ™āļ”āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆāļ„āļļāļ“āļˆāļ°āļ—āļģāļ•āļēāļĄāļ—āļļāļāļ„āļĢāļąāđ‰āļ‡\n\nāđ€āļāđ‡āļšāļāļŽāđƒāļŦāđ‰āđ€āļĢāļĩāļĒāļšāļ‡āđˆāļēāļĒ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: āļ–āđ‰āļēāđ€āļāļīāļ” 5 āļ„āļ§āļēāļĄāļĨāđ‰āļĄāđ€āļŦāļĨāļ§āļ āļēāļĒāđƒāļ™ 2 āļ™āļēāļ—āļĩ āļŠāļĨāļąāļšāđ€āļ›āđ‡āļ™ Open āļ‚āļ“āļ°āļ—āļĩāđˆ Open āđƒāļŦāđ‰āļ‚āđ‰āļēāļĄāļāļēāļĢāđ€āļĢāļĩāļĒāļāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļˆāļ™āļāļ§āđˆāļēāļ„āļđāļĨāļ”āļēāļ§āļ™āđŒāļˆāļ°āļŦāļĄāļ” āļŦāļĨāļąāļ‡āļ„āļđāļĨāļ”āļēāļ§āļ™āđŒāđ„āļ› Half-open āđāļĨāļ°āļ­āļ™āļļāļāļēāļ•āļāļēāļĢāļĨāļ­āļ‡āđāļšāļšāļ„āļ§āļšāļ„āļļāļĄ āļŦāļēāļāļŠāļģāđ€āļĢāđ‡āļˆ āđƒāļŦāđ‰āļ›āļīāļ”āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒ āļ–āđ‰āļēāļĨāđ‰āļĄāđ€āļŦāļĨāļ§ āđƒāļŦāđ‰āđ€āļ›āļīāļ”āļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡\n\n### 4) āđāļĒāļāļŠāļēāļ‚āļēāđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒ: āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢ vs āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļŠāļģāļĢāļ­āļ‡\n\nāļāđˆāļ­āļ™āļ„āļģāļ‚āļ­āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢ āđƒāļŦāđ‰āļ•āļĢāļ§āļˆāļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆāđ€āļāđ‡āļš:\n\n- Closed: āđ€āļĢāļĩāļĒāļāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢ āđāļĨāđ‰āļ§āļ­āļąāļ›āđ€āļ”āļ•āļœāļĨāļŠāļģāđ€āļĢāđ‡āļˆāļŦāļĢāļ·āļ­āļ„āļ§āļēāļĄāļĨāđ‰āļĄāđ€āļŦāļĨāļ§\n- Open: āļ‚āđ‰āļēāļĄāļāļēāļĢāđ€āļĢāļĩāļĒāļāđāļĨāļ°āļĢāļąāļ™ fallback\n- Half-open: āļ­āļ™āļļāļāļēāļ•āļāļēāļĢāļĨāļ­āļ‡āļˆāļģāļ™āļ§āļ™āļˆāļģāļāļąāļ” āđāļĨāđ‰āļ§āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļ›āļīāļ”āļŦāļĢāļ·āļ­āđ€āļ›āļīāļ”āđƒāļŦāļĄāđˆ\n\nāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: āļ–āđ‰āļē API āļŠāļĢāđ‰āļēāļ‡āļ‰āļĨāļēāļāļāļēāļĢāļˆāļąāļ”āļŠāđˆāļ‡āļĨāđˆāļĄ āļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāļŠāļģāļĢāļ­āļ‡āļ­āļēāļˆāļŠāļĢāđ‰āļēāļ‡āļ„āļģāļŠāļąāđˆāļ‡āļ”āđ‰āļ§āļĒāļŠāļ–āļēāļ™āļ° â€œLabel pending” āđāļĨāļ°āļ•āđˆāļ­āļ„āļīāļ§āļ‡āļēāļ™āļĢāļĩāļ—āļĢāļēāļĒ āđāļ—āļ™āļ—āļĩāđˆāļˆāļ°āļšāļĨāđ‡āļ­āļāđ€āļŠāđ‡āļ„āđ€āļ­āļēāļ•āđŒāļŦāļĢāļ·āļ­āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļ„āļĨāļąāļ‡āļŠāļīāļ™āļ„āđ‰āļē\n\n### 5) āļ—āļģāđƒāļŦāđ‰āđāļŠāļĢāđŒāđ„āļ”āđ‰āļ‚āđ‰āļēāļĄāđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒ\n\nāļ–āđ‰āļēāļ„āļļāļ“āļĄāļĩāļŦāļĨāļēāļĒāđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāđāļĨāļ°āđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒ āļžāļ§āļāļĄāļąāļ™āļ•āđ‰āļ­āļ‡āļ­āđˆāļēāļ™āđāļĨāļ°āđ€āļ‚āļĩāļĒāļ™āļŠāļ–āļēāļ™āļ°āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āļĄāļīāļ‰āļ°āļ™āļąāđ‰āļ™āļ­āļīāļ™āļŠāđāļ•āļ™āļ‹āđŒāļŦāļ™āļķāđˆāļ‡āļ­āļēāļˆāļĒāļąāļ‡āļ„āļ‡āļ—āļļāļšāđ€āļĢāļĩāļĒāļāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢ āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆāļ­āļĩāļāļ­āļīāļ™āļŠāđāļ•āļ™āļ‹āđŒāļŦāļ™āļķāđˆāļ‡āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļŦāļĒāļļāļ”āđāļĨāđ‰āļ§\n\n## āļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāļŠāļģāļĢāļ­āļ‡āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļĒāļąāļ‡āđ„āļ›āļ•āđˆāļ­āđ„āļ”āđ‰\n\nāđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļŠāđˆāļ§āļĒāđ„āļ”āđ‰āļāđ‡āļ•āđˆāļ­āđ€āļĄāļ·āđˆāļ­āļ„āļļāļ“āļāļģāļŦāļ™āļ”āļ§āđˆāļēāļˆāļ°āđ€āļāļīāļ”āļ­āļ°āđ„āļĢāļ‚āļķāđ‰āļ™āđ€āļĄāļ·āđˆāļ­āļāļēāļĢāđ€āļĢāļĩāļĒāļāļ–āļđāļāļšāļĨāđ‡āļ­āļ āļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāļ—āļĩāđˆāļ”āļĩāļ—āļģāđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰āđ„āļ›āļ•āđˆāļ­ āļ›āļāļ›āđ‰āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ āđāļĨāļ°āļ—āļģāđƒāļŦāđ‰āļāļēāļĢāļ—āļģāļ„āļ§āļēāļĄāļŠāļ°āļ­āļēāļ”āļ āļēāļĒāļŦāļĨāļąāļ‡āļ„āļēāļ”āļāļēāļĢāļ“āđŒāđ„āļ”āđ‰\n\nāđ€āļĨāļ·āļ­āļ fallback āļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļāļąāļšāļ‡āļēāļ™ āļŦāļēāļāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļ­āļąāļ•āļĢāļēāļ„āđˆāļēāļŠāđˆāļ‡āļĨāđˆāļĄ āļ„āļļāļ“āļ­āļēāļˆāđ„āļĄāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļĄāļĩāļĢāļēāļ„āļēāļ—āļĩāđˆāđāļĄāđˆāļ™āļĒāļģāđ€āļžāļ·āđˆāļ­āļĒāļ­āļĄāļĢāļąāļšāļ„āļģāļŠāļąāđˆāļ‡ āđƒāļ™āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāđ€āļŠāļīāļ‡āļ āļēāļž āđƒāļŦāđ‰āđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™ API āļ—āļĩāđˆāļĨāđ‰āļĄāđ€āļŦāļĨāļ§āđ„āļ›āļĒāļąāļ‡āļŠāļēāļ‚āļē fallback āļ—āļĩāđˆāļĒāļąāļ‡āđƒāļŦāđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰\n\nāđƒāļ™āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļī fallback āļĄāļąāļāđ€āļ›āđ‡āļ™āļŦāļ™āļķāđˆāļ‡āđƒāļ™āļĢāļđāļ›āđāļšāļšāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰:\n\n- āđƒāļŠāđ‰āļ„āđˆāļēāļ—āļĩāđˆāļĢāļđāđ‰āļˆāļąāļāļĨāđˆāļēāļŠāļļāļ”āļ—āļĩāđˆāđāļ„āļŠāđ„āļ§āđ‰ (āļžāļĢāđ‰āļ­āļĄāļŠāđˆāļ§āļ‡āļ„āļ§āļēāļĄāļŠāļ”āļ—āļĩāđˆāļŠāļąāļ”āđ€āļˆāļ™)\n- āđƒāļŠāđ‰āļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ—āļĩāđˆāļ›āļĨāļ­āļ”āļ āļąāļĒ āđāļĨāļ°āļ•āļīāļ”āļ›āđ‰āļēāļĒāļ­āļĒāđˆāļēāļ‡āļŠāļąāļ”āđ€āļˆāļ™\n- āļŠāđˆāļ‡āđ„āļ›āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ”āđ‰āļ§āļĒāļĄāļ·āļ­\n- āļ•āđˆāļ­āļ„āļīāļ§āļ‡āļēāļ™āđ€āļžāļ·āđˆāļ­āļ™āļģāļĄāļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ āļēāļĒāļŦāļĨāļąāļ‡ (āļ‡āļēāļ™āđāļšāļš async)\n\nāļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“āđŒāļœāļđāđ‰āđƒāļŠāđ‰āļŠāļģāļ„āļąāļāļžāļ­āđ† āļāļąāļšāļ•āļĢāļĢāļāļ° āļ­āļĒāđˆāļēāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ—āļĩāđˆāļ„āļĨāļļāļĄāđ€āļ„āļĢāļ·āļ­ āđƒāļŦāđ‰āļšāļ­āļāļ§āđˆāļēāđ€āļāļīāļ”āļ­āļ°āđ„āļĢāļ‚āļķāđ‰āļ™āđāļĨāļ°āļœāļđāđ‰āđƒāļŠāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļ­āļ°āđ„āļĢāļ•āđˆāļ­āđ„āļ”āđ‰: “āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļĒāļ·āļ™āļĒāļąāļ™āļ­āļąāļ•āļĢāļēāđ„āļ”āđ‰āļ•āļ­āļ™āļ™āļĩāđ‰ āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āļŠāļąāđˆāļ‡āļ‹āļ·āđ‰āļ­āđ‚āļ”āļĒāđƒāļŠāđ‰āļ­āļąāļ•āļĢāļēāļ—āļĩāđˆāļ›āļĢāļ°āđ€āļĄāļīāļ™āđ„āļ§āđ‰ āļŦāļĢāļ·āļ­āļšāļąāļ™āļ—āļķāļāđ„āļ§āđ‰āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšâ€\n\nāļ§āļēāļ‡āđāļœāļ™āļ—āļąāđ‰āļ‡āļāļēāļĢāļĨāđˆāļĄāļŠāļąāđ‰āļ™āđāļĨāļ°āļāļēāļĢāļĨāđˆāļĄāļĒāļēāļ§ āļāļēāļĢāļĨāđˆāļĄāļŠāļąāđ‰āļ™ (āđ€āļ›āđ‡āļ™āļ™āļēāļ—āļĩ) āļĄāļąāļāļŦāļĄāļēāļĒāļ–āļķāļ‡ â€œāđ„āļ›āļ•āđˆāļ­ āđāļĨāļ°āļĢāļĩāļ—āļĢāļēāļĒāđƒāļ™āđāļšāđ‡āļāļāļĢāļēāļ§āļ”āđŒâ€ āļāļēāļĢāļĨāđˆāļĄāļĒāļēāļ§ (āđ€āļ›āđ‡āļ™āļŠāļąāđˆāļ§āđ‚āļĄāļ‡) āļ­āļēāļˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļžāļĪāļ•āļīāļāļĢāļĢāļĄāđ€āļ„āļĢāđˆāļ‡āļ„āļĢāļąāļ”āļāļ§āđˆāļē āđ€āļŠāđˆāļ™ āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ”āđ‰āļ§āļĒāļĄāļ·āļ­āļŦāļĢāļ·āļ­āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļīāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ\n\nāļŠāļļāļ”āļ—āđ‰āļēāļĒ āļ•āļīāļ”āļ•āļēāļĄāļ—āļļāļ fallback āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļāļēāļĢāļāļĢāļ°āļ—āļšāļĒāļ­āļ”āļ‡āđˆāļēāļĒ āļ­āļĒāđˆāļēāļ‡āļ™āđ‰āļ­āļĒāļ—āļĩāđˆāļŠāļļāļ” āđƒāļŦāđ‰āļšāļąāļ™āļ—āļķāļāļ›āļĢāļ°āđ€āļ āļ— fallback, āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ„āļģāļ‚āļ­āđ€āļ”āļīāļĄ, āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļŠāđˆāļ‡āđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰ (āđāļĨāļ°āļ§āđˆāļēāļĄāļąāļ™āđ€āļ›āđ‡āļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļēāļ“āļŦāļĢāļ·āļ­āđ„āļĄāđˆ), āđāļĨāļ°āļŠāļ–āļēāļ™āļ°āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāļ•āđˆāļ­\n\n## āļāļŽāļāļēāļĢāļšāļĨāđ‡āļ­āļāļŠāļąāđˆāļ§āļ„āļĢāļēāļ§āđāļĨāļ°āļāļēāļĢāļĢāļĩāļ—āļĢāļēāļĒāļ—āļĩāđˆāļŠāļēāļāļ‰āļĨāļēāļ”āļāļ§āđˆāļē\n\nāļāļēāļĢāļĢāļĩāļ—āļĢāļēāļĒāļ—āļĩāđˆāđ„āļĄāđˆāļ„āļ§āļšāļ„āļļāļĄāļˆāļ°āđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ›āļąāļāļŦāļēāđ€āļĨāđ‡āļāđ† āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđƒāļŦāđ‰āļāļĨāļēāļĒāđ€āļ›āđ‡āļ™āļāļēāļĢāļĨāđˆāļĄāļˆāļĢāļīāļ‡ āđ€āļĄāļ·āđˆāļ­āļŦāļĨāļēāļĒāđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļĢāļĩāļ—āļĢāļēāļĒāļžāļĢāđ‰āļ­āļĄāļāļąāļ™ āļˆāļ°āđ€āļāļīāļ”āļŠāļ›āĪūā·āĪ• (āļ›āļąāļāļŦāļē “thundering herd”) āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļŠāđ‰āļēāļĨāļ‡ āļ„āļīāļ§āļ‚āļ­āļ‡āļ„āļļāļ“āđ€āļ•āļīāļšāđ‚āļ• āđāļĨāļ°āļ„āļļāļ“āđƒāļŠāđ‰āđ‚āļ„āļ§āļ•āđ‰āļēāđ€āļĢāđ‡āļ§āđ€āļāļīāļ™āđ„āļ›\n\nāļāļēāļĢāļĢāļĩāļ—āļĢāļēāļĒāļ„āļ§āļĢāļ„āļēāļ”āļāļēāļĢāļ“āđŒāđ„āļ”āđ‰āđāļĨāļ°āļ–āļđāļāļˆāļģāļāļąāļ” āđāļĨāļ°āļ•āđ‰āļ­āļ‡āđ€āļ„āļēāļĢāļžāļŠāļ–āļēāļ™āļ°āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒ āļ™āđ‚āļĒāļšāļēāļĒāļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļˆāļĢāļīāļ‡āļ„āļ·āļ­:\n\n- āļˆāļģāļāļąāļ”āļāļēāļĢāļĢāļĩāļ—āļĢāļēāļĒāļŠāļđāļ‡āļŠāļļāļ” (āļĄāļąāļ 2–3 āļ„āļĢāļąāđ‰āļ‡)\n- āđƒāļŠāđ‰ exponential backoff (āđ€āļŠāđˆāļ™ 2s, 8s, 30s)\n- āđƒāļŠāđˆ jitter āđ€āļžāļ·āđˆāļ­āđ„āļĄāđˆāđƒāļŦāđ‰āļĢāļĩāļ—āļĢāļēāļĒāļ‹āļīāļ‡āļ„āđŒāļāļąāļ™\n- āļˆāļģāļāļąāļ”āđ€āļ§āļĨāļēāļĢāļ§āļĄāļ‚āļ­āļ‡āļāļēāļĢāļĢāļĩāļ—āļĢāļēāļĒ (āđ€āļŠāđˆāļ™ 60–90 āļ§āļīāļ™āļēāļ—āļĩ)\n- āļŦāļēāļāđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāđ€āļ›āđ‡āļ™ Open āļ­āļĒāđˆāļēāļĢāļĩāļ—āļĢāļēāļĒ āđƒāļŦāđ‰āđ„āļ›āļ—āļĩāđˆ fallback āļ—āļąāļ™āļ—āļĩ\n\nāļāļēāļĢāļšāļĨāđ‡āļ­āļāļŠāļąāđˆāļ§āļ„āļĢāļēāļ§āđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āđāļ•āđˆāļ•āđˆāļēāļ‡āļāļąāļ™āđ€āļĨāđ‡āļāļ™āđ‰āļ­āļĒ āļĄāļąāļ™āđƒāļŠāđ‰āļāļąāļšāļāļĢāļ“āļĩāļ—āļĩāđˆāļāļēāļĢāļ•āļ­āļšāļāļĨāļąāļšāļšāļ­āļāļ§āđˆāļē “āļˆāļ°āđ„āļĄāđˆāļ—āļģāļ‡āļēāļ™āļ•āļ­āļ™āļ™āļĩāđ‰â€ āļāļŽāļ—āļąāđˆāļ§āđ„āļ›:\n\n- 429 rate limit: āļšāļĨāđ‡āļ­āļāļ•āļēāļĄ Retry-After āļŦāļĢāļ·āļ­āļŠāđˆāļ§āļ‡āđ€āļ§āļĨāļēāļ›āļĨāļ­āļ”āļ āļąāļĒāļ„āļ‡āļ—āļĩāđˆ\n- 401/403 āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļāļēāļĢāļĒāļ·āļ™āļĒāļąāļ™āļ•āļąāļ§āļ•āļ™: āļšāļĨāđ‡āļ­āļāļˆāļ™āļāļ§āđˆāļēāļˆāļ°āļĢāļĩāđ€āļŸāļĢāļŠāļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļąāļšāļĢāļ­āļ‡ āđāļĨāđ‰āļ§āļ—āļ”āļŠāļ­āļšāļŦāļ™āļķāđˆāļ‡āļ„āļĢāļąāđ‰āļ‡\n- 5xx āļ—āļĩāđˆāļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡: āļšāļĨāđ‡āļ­āļāļŠāļąāđ‰āļ™ āđ† āđāļĨāđ‰āļ§āļ­āļ™āļļāļāļēāļ•āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļĨāđ‡āļāļ™āđ‰āļ­āļĒ\n\nāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļšāļĨāđ‡āļ­āļ āđƒāļŦāđ‰āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļ§āđˆāļēāļ‡āļēāļ™āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āļ—āļģāļ­āļĒāļđāđˆāļˆāļ°āļ—āļģāļ­āļĒāđˆāļēāļ‡āđ„āļĢ: āļ•āđˆāļ­āļ„āļīāļ§ āļĄāļļāļĄāđ„āļ›āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļ­āļ·āđˆāļ™ āļŦāļĢāļ·āļ­āđ€āļŠāļ·āđˆāļ­āļĄāļŠāļ āļēāļžāļ­āļĒāđˆāļēāļ‡āļĄāļĩāđ€āļŦāļ•āļļāļœāļĨ (āđ€āļŠāđˆāļ™ āļĒāļ­āļĄāļĢāļąāļšāļ„āļģāļŠāļąāđˆāļ‡āđāļ•āđˆāđ€āļĨāļ·āđˆāļ­āļ™āļāļēāļĢāļŠāđˆāļ‡ SMS)\n\n## āļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āļ—āļĩāđˆāļšāļ­āļāļ§āđˆāļēāļ•āđ‰āļ­āļ‡āļ—āļģāļ­āļ°āđ„āļĢ\n\nāđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļāđ‡āļ•āđˆāļ­āđ€āļĄāļ·āđˆāļ­āļ„āļ™āđ„āļ”āđ‰āļĒāļīāļ™āđ€āļĢāļ·āđˆāļ­āļ‡āļ™āļĩāđ‰āđ€āļĢāđ‡āļ§āđāļĨāļ°āļĢāļđāđ‰āļ§āđˆāļēāļˆāļ°āļ—āļģāļ­āļĒāđˆāļēāļ‡āđ„āļĢ āđ€āļ›āđ‰āļēāļŦāļĄāļēāļĒāđ„āļĄāđˆāđƒāļŠāđˆāđ€āļŠāļĩāļĒāļ‡āļĢāļšāļāļ§āļ™ āđāļ•āđˆāļ„āļ·āļ­āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļąāļ”āđ€āļˆāļ™āđ€āļĄāļ·āđˆāļ­āļžāļĪāļ•āļīāļāļĢāļĢāļĄāđ€āļ›āļĨāļĩāđˆāļĒāļ™: āļāļēāļĢāđ€āļĢāļĩāļĒāļāļ–āļđāļāļšāļĨāđ‡āļ­āļ, fallback āļ—āļģāļ‡āļēāļ™, āļŦāļĢāļ·āļ­āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļĒāļąāļ‡āđ€āļ›āļīāļ”āļ™āļēāļ™āđ€āļāļīāļ™āļ„āļēāļ”\n\nāļ—āļĢāļīāļāđ€āļāļ­āļĢāđŒāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ—āļĩāđˆāļ”āļĩ:\n\n- āđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āđ€āļĄāļ·āđˆāļ­āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāđ€āļ›āļīāļ”\n- āđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āļŦāļēāļāļĒāļąāļ‡āđ€āļ›āļīāļ”āđ€āļāļīāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāļ„āļēāļ”\n- āđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āđ€āļĄāļ·āđˆāļ­āļ•āļąāļ§āđ€āļĨāļ‚āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļžāļļāđˆāļ‡āļ‚āļķāđ‰āļ™āļ­āļĒāđˆāļēāļ‡āļĢāļļāļ™āđāļĢāļ‡āđāļĄāđ‰āļāđˆāļ­āļ™āđ€āļ›āļīāļ”\n\nāļ—āļģāđƒāļŦāđ‰āļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āļ›āļāļīāļšāļąāļ•āļīāđ„āļ”āđ‰ āļĢāļ§āļĄāļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđāļĨāļ° endpoint, āļŠāļ–āļēāļ™āļ°āļ›āļąāļˆāļˆāļļāļšāļąāļ™āđāļĨāļ°āđ€āļ§āļĨāļēāđ€āļ›āļĨāļĩāđˆāļĒāļ™, āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļœāļđāđ‰āđƒāļŠāđ‰āļˆāļ°āļĢāļđāđ‰āļŠāļķāļ, āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļāļģāļĨāļąāļ‡āļ—āļģāļ­āļ°āđ„āļĢ (āļšāļĨāđ‡āļ­āļ, āļĢāļĩāļ—āļĢāļēāļĒ, āđƒāļŠāđ‰ fallback), āđāļĨāļ°āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āđāļ™āļ°āļ™āļģāļ–āļąāļ”āđ„āļ›\n\nāđāļĒāļāļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āļ•āļēāļĄāļ„āļ§āļēāļĄāļĢāđ‰āļēāļĒāđāļĢāļ‡ API āđ€āļ•āļīāļĄāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđ„āļĄāđˆāļŠāļģāļ„āļąāļāļ­āļēāļˆāļŠāđˆāļ‡āļ­āļĩāđ€āļĄāļĨāđ„āļ”āđ‰ āļāļēāļĢāļŠāļģāļĢāļ°āđ€āļ‡āļīāļ™, āļāļēāļĢāļĨāđ‡āļ­āļāļ­āļīāļ™, āļŦāļĢāļ·āļ­āļāļēāļĢāļŠāđˆāļ‡āļ„āļģāļŠāļąāđˆāļ‡āļ„āļ§āļĢāđ„āļ”āđ‰āļŦāļ™āđ‰āļēāđ€āļžāļˆāļŦāļĢāļ·āļ­āļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āļ—āļąāļ™āļ—āļĩ āđƒāļ™ AppMaster āļ™āļĩāđˆāđāļĄāļ›āđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļāļąāļšāļŠāļēāļ‚āļēāļ—āļĩāđˆāļŠāđˆāļ‡āļ­āļĩāđ€āļĄāļĨ, Telegram, āļŦāļĢāļ·āļ­ SMS āļ•āļēāļĄ flag āļ„āļ§āļēāļĄāļĢāđ‰āļēāļĒāđāļĢāļ‡\n\nāļ•āļīāļ”āļ•āļēāļĄāđ€āļĄāļ•āļĢāļīāļāđ€āļĨāđ‡āļāļŠāļļāļ”āļŦāļ™āļķāđˆāļ‡āđ€āļžāļ·āđˆāļ­āļ”āļđāļ§āđˆāļēāļ„āļļāļ“āļāļģāļĨāļąāļ‡āļŸāļ·āđ‰āļ™āļ•āļąāļ§: āļˆāļģāļ™āļ§āļ™āļāļēāļĢāđ€āļĢāļĩāļĒāļāļ—āļĩāđˆāļ–āļđāļāļšāļĨāđ‡āļ­āļāđāļĨāļ°āļāļēāļĢāđƒāļŠāđ‰ fallback āļ•āđˆāļ­āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļĄāļąāļāđ€āļžāļĩāļĒāļ‡āļžāļ­\n\n## āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒ: āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļĨāđˆāļĄāđ‚āļ”āļĒāđ„āļĄāđˆāļŦāļĒāļļāļ”āļāļēāļĢāļĢāļąāļšāļ„āļģāļŠāļąāđˆāļ‡\n\nāļ„āļ§āļēāļĄāļĨāđ‰āļĄāđ€āļŦāļĨāļ§āļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒ: āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ­āļąāļ•āļĢāļēāļ„āđˆāļēāļŠāđˆāļ‡āļĨāđˆāļĄāļ‚āļ“āļ°āļĨāļđāļāļ„āđ‰āļēāļāļģāļĨāļąāļ‡āđ€āļŠāđ‡āļ„āđ€āļ­āļēāļ•āđŒ āļŦāļēāļāđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļ‚āļ­āļ‡āļ„āļļāļ“āļĒāļ·āļ™āļĒāļąāļ™āļ­āļąāļ•āļĢāļēāđāļšāļšāļŠāļ”āļ‚āļ“āļ°āļŠāļĢāđ‰āļēāļ‡āļ„āļģāļŠāļąāđˆāļ‡ āļāļēāļĢāļĨāđˆāļĄāļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§āļ­āļēāļˆāļŦāļĒāļļāļ”āļāļēāļĢāļŠāļąāđˆāļ‡āļ‹āļ·āđ‰āļ­āļ—āļąāđ‰āļ‡āļŦāļĄāļ”\n\nāđƒāļ™āļ§āļąāļ™āļ›āļāļ•āļī āļ„āļģāļŠāļąāđˆāļ‡āļ–āļđāļāļŠāļĢāđ‰āļēāļ‡ āđāļĨāđ‰āļ§āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļ‚āļ­āļ­āļąāļ•āļĢāļēāđāļšāļšāļŠāļ” āđāļĨāļ°āļ„āļģāļŠāļąāđˆāļ‡āļšāļąāļ™āļ—āļķāļāļžāļĢāđ‰āļ­āļĄāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđāļĨāļ°āļĢāļēāļ„āļēāļ—āļĩāđˆāđ€āļĨāļ·āļ­āļ\n\nāđ€āļĄāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđ€āļĢāļīāđˆāļĄāļĨāđ‰āļĄ āļāļēāļĢāđ€āļĢāļĩāļĒāļāļˆāļ° timeout āļŦāļĢāļ·āļ­āļ„āļ·āļ™ 5xx āđ€āļĄāļ·āđˆāļ­āļ–āļķāļ‡āđ€āļāļ“āļ‘āđŒāļ‚āļ­āļ‡āļ„āļļāļ“ (āđ€āļŠāđˆāļ™ 5 āļ„āļ§āļēāļĄāļĨāđ‰āļĄāđ€āļŦāļĨāļ§āđƒāļ™ 2 āļ™āļēāļ—āļĩ) āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļˆāļ°āđ€āļ›āļīāļ”\n\nāļ‚āļ“āļ°āļ—āļĩāđˆāđ€āļ›āđ‡āļ™ Open āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļŦāļĒāļļāļ”āđ€āļĢāļĩāļĒāļāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļŠāļąāđˆāļ§āļ„āļĢāļēāļ§ (āđ€āļŠāđˆāļ™ 10 āļ™āļēāļ—āļĩ) āđ€āļžāļ·āđˆāļ­āļ›āđ‰āļ­āļ‡āļāļąāļ™āđ„āļĄāđˆāđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļĨāđ‰āļĄāļ—āļģāđƒāļŦāđ‰āđ€āļŠāđ‡āļ„āđ€āļ­āļēāļ•āđŒāļŠāļģāļŦāļĢāļąāļšāļ—āļļāļāļ„āļ™āļĨāđˆāļĄ\n\nāđāļ—āļ™āļ—āļĩāđˆāļˆāļ°āļšāļĨāđ‡āļ­āļāđ€āļŠāđ‡āļ„āđ€āļ­āļēāļ•āđŒ āļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāļŠāļģāļĢāļ­āļ‡āļ­āļēāļˆ:\n\n- āđƒāļŠāđ‰āļ„āđˆāļēāļ„āļ‡āļ—āļĩāđˆāļŦāļĢāļ·āļ­āļ„āđˆāļēāļ›āļĢāļ°āđ€āļĄāļīāļ™āđāļšāļš flat-rate\n- āļŠāļĢāđ‰āļēāļ‡āļ„āļģāļŠāļąāđˆāļ‡āļ•āđˆāļ­āđ„āļ›\n- āļ—āļģāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāđ€āļ›āđ‡āļ™ â€œShipping rate pending” āđ€āļžāļ·āđˆāļ­āļ„āļģāļ™āļ§āļ“āđƒāļŦāļĄāđˆāļ āļēāļĒāļŦāļĨāļąāļ‡\n- āļšāļąāļ™āļ—āļķāļāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđ€āļžāļ·āđˆāļ­āļ•āļīāļ”āļ•āļēāļĄ\n\nāđƒāļ™ AppMaster āļ™āļĩāđˆāļ„āļ·āļ­āļŠāļēāļ‚āļēāļŠāļąāļ”āđ€āļˆāļ™āđƒāļ™ Business Process Editor āđāļĨāļ°āđ€āļāđ‡āļšāļŸāļīāļĨāļ”āđŒāđƒāļ™ Data Designer āđ€āļŠāđˆāļ™ shipping_rate_status āđāļĨāļ° shipping_rate_source\n\n## āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ”āđˆāļ§āļ™āļāđˆāļ­āļ™āļ›āļĨāđˆāļ­āļĒāđƒāļŠāđ‰āļ‡āļēāļ™\n\nāđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļ„āļ§āļĢāļ—āļģāļ‡āļēāļ™āđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļ™āļ•āļ­āļ™āđ‚āļŦāļĨāļ”āļŦāļ™āļąāļāđāļĨāļ°āļ•āļ­āļ™āļŠāļēāļ˜āļīāļ• āļāđˆāļ­āļ™āļ›āļĨāđˆāļ­āļĒ āļĒāļ·āļ™āļĒāļąāļ™āļžāļ·āđ‰āļ™āļāļēāļ™āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰:\n\n- āđ€āļāļ“āļ‘āđŒāđāļĨāļ°āļ„āļđāļĨāļ”āļēāļ§āļ™āđŒāļ–āļđāļāļ”okument āđāļĨāļ°āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ„āļ”āđ‰āļ‡āđˆāļēāļĒ\n- āļŠāļ–āļēāļ™āļ° Open āļšāļĨāđ‡āļ­āļāļāļēāļĢāđ€āļĢāļĩāļĒāļāļ—āļąāļ™āļ—āļĩ (āđ„āļĄāđˆāļĢāļ­ timeout āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢ)\n- āļžāļĪāļ•āļīāļāļĢāļĢāļĄ fallback āļ›āļĨāļ­āļ”āļ āļąāļĒāļ—āļēāļ‡āļāļēāļĢāđ€āļ‡āļīāļ™āđāļĨāļ°āļŠāļąāļāļāļēāļĨāļđāļāļ„āđ‰āļē\n- āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™ Half-open āļˆāļģāļāļąāļ”āđƒāļŦāđ‰āļĄāļĩāđ€āļžāļĩāļĒāļ‡āđ„āļĄāđˆāļāļĩāđˆāļāļēāļĢāđ€āļĢāļĩāļĒāļāļ—āļ”āļŠāļ­āļš\n- āļšāļąāļ™āļ—āļķāļāļ—āļģāđƒāļŦāđ‰āļ•āļ­āļšāļ„āļģāļ–āļēāļĄāđ€āļĢāļ·āđˆāļ­āļ‡āđ€āļ§āļĨāļēāđāļĨāļ°āļœāļĨāļāļĢāļ°āļ—āļšāđ„āļ”āđ‰āļ‡āđˆāļēāļĒ\n\nāđƒāļŠāđ‰āđ€āļ§āļĨāļēāđ€āļžāļīāđˆāļĄāļāļąāļšāļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ‚āļ­āļ‡ fallback āļāļēāļĢ fallback āļ—āļĩāđˆ “āļ—āļģāđƒāļŦāđ‰āļ‡āļēāļ™āđ„āļ›āļ•āđˆāļ­â€ āļ­āļēāļˆāļŠāļĢāđ‰āļēāļ‡āļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ‡āļ—āļēāļ‡āļāļēāļĢāđ€āļ‡āļīāļ™āđ„āļ”āđ‰ āļŦāļēāļāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļŠāļģāļĢāļ°āđ€āļ‡āļīāļ™āļĨāđˆāļĄ āļāļēāļĢāļĄāļēāļĢāđŒāļāļ„āļģāļŠāļąāđˆāļ‡āļ§āđˆāļē “āļŠāļģāļĢāļ°āđāļĨāđ‰āļ§â€ āđ€āļ›āđ‡āļ™āđ€āļĢāļ·āđˆāļ­āļ‡āļ­āļąāļ™āļ•āļĢāļēāļĒ āļ§āļīāļ˜āļĩāļ—āļĩāđˆāļ›āļĨāļ­āļ”āļ āļąāļĒāļāļ§āđˆāļēāļ„āļ·āļ­āļ—āļģāđ€āļ›āđ‡āļ™ â€œpending payment” āļžāļĢāđ‰āļ­āļĄāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŠāļąāļ”āđ€āļˆāļ™āļ–āļķāļ‡āļĨāļđāļāļ„āđ‰āļē\n\nāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļāļđāđ‰āļ„āļ·āļ™āđ‚āļ”āļĒāđ€āļˆāļ•āļ™āļē āļšāļąāļ‡āļ„āļąāļšāđƒāļŦāđ‰āđ€āļāļīāļ”āļ„āļ§āļēāļĄāļĨāđ‰āļĄāđ€āļŦāļĨāļ§ āļ”āļđāļ§āđˆāļēāđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāđ€āļ›āļīāļ”āđ„āļŦāļĄ āļĢāļ­āļ„āļđāļĨāļ”āļēāļ§āļ™āđŒ āđāļĨāļ°āļĒāļ·āļ™āļĒāļąāļ™āļ§āđˆāļē Half-open āļŠāđˆāļ‡āđ€āļžāļĩāļĒāļ‡ probe āđ€āļĨāđ‡āļāđ† āļŦāļēāļāļŠāļģāđ€āļĢāđ‡āļˆ āļĄāļąāļ™āļ„āļ§āļĢāļ›āļīāļ”āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§ āļ–āđ‰āļēāļĨāđ‰āļĄāđ€āļŦāļĨāļ§ āļĄāļąāļ™āļ„āļ§āļĢāđ€āļ›āļīāļ”āđƒāļŦāļĄāđˆāđ‚āļ”āļĒāđ„āļĄāđˆāļ—āđˆāļ§āļĄāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢ\n\nāļšāļąāļ™āļ—āļķāļāļ‚āļ­āļ‡āļ„āļļāļ“āļ„āļ§āļĢāļ•āļ­āļšāđƒāļ™āđ„āļĄāđˆāļāļĩāđˆāļŠāļīāļšāļ§āļīāļ™āļēāļ—āļĩāļ§āđˆāļē: āđƒāļ„āļĢāđ„āļ”āđ‰āļĢāļąāļšāļœāļĨāļāļĢāļ°āļ—āļš āđ€āļĄāļ·āđˆāļ­āđ€āļĢāļīāđˆāļĄ āđāļĨāļ°āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āđƒāļ”āđƒāļ™āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļ—āļĩāđˆāļāļĢāļ°āļ•āļļāđ‰āļ™āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāđāļĨāļ° fallback āđƒāļ”āļ—āļĩāđˆāđƒāļŠāđ‰\n\n## āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ•āđˆāļ­āđ„āļ›: āļ™āļģāļĢāļđāļ›āđāļšāļšāđ„āļ›āđƒāļŠāđ‰āđƒāļ™ AppMaster\n\nāđ€āļĨāļ·āļ­āļāļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļŦāļ™āļķāđˆāļ‡āļĢāļēāļĒāļāļēāļĢāļ—āļĩāđˆāļ­āļēāļˆāļ—āļģāļĢāđ‰āļēāļĒāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļ‡āļēāļ™āļĢāļēāļĒāļ§āļąāļ™āļŦāļēāļāļĨāđˆāļĄ (āļāļēāļĢāļŠāļģāļĢāļ°āđ€āļ‡āļīāļ™, āļ‰āļĨāļēāļāļāļēāļĢāļˆāļąāļ”āļŠāđˆāļ‡, SMS, āļāļēāļĢāļ‹āļīāļ‡āļāđŒ CRM) āļŠāļĢāđ‰āļēāļ‡āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļ„āļĢāļšāļ§āļ‡āļˆāļĢāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļĢāļĩāļĒāļāļ™āļąāđ‰āļ™āļāđˆāļ­āļ™ āđ€āļĄāļ·āđˆāļ­āļ—āļĩāļĄāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āļžāļĪāļ•āļīāļāļĢāļĢāļĄāđāļĨāđ‰āļ§ āļ—āļģāđ€āļ—āļĄāđ€āļžāļĨāļ•āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāļąāļšāļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāļ–āļąāļ”āđ„āļ›\n\nāđƒāļ™ AppMaster āđ‚āļĄāđ€āļ”āļĨāļŠāļ–āļēāļ™āļ°āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāđƒāļ™ PostgreSQL āđ‚āļ”āļĒāđƒāļŠāđ‰ Data Designer āđ€āļāđ‡āļšāđƒāļŦāđ‰āđ€āļĢāļĩāļĒāļšāļ‡āđˆāļēāļĒ: āļĢāļ°āđ€āļšāļĩāļĒāļ™āļ•āđˆāļ­āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢ (āļŦāļĢāļ·āļ­ endpoint) āļžāļĢāđ‰āļ­āļĄāļŸāļīāļĨāļ”āđŒāđ€āļŠāđˆāļ™ state, failure_count, last_failure_at, open_until, āđāļĨāļ° last_error āļŠāļąāđ‰āļ™āđ†\n\nāļˆāļēāļāļ™āļąāđ‰āļ™āļ™āļģāļ•āļĢāļĢāļāļ°āđ„āļ›āļĨāļ‡āđƒāļ™ Business Process Editor āļ”āđ‰āļ§āļĒāļŠāļēāļ‚āļēāļ—āļĩāđˆāļ­āđˆāļēāļ™āļ‡āđˆāļēāļĒ āļ„āļ§āļēāļĄāļŠāļąāļ”āđ€āļˆāļ™āļŠāļģāļ„āļąāļāļāļ§āđˆāļēāļ„āļ§āļēāļĄāļ‰āļĨāļēāļ”\n\nāļĨāļģāļ”āļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļˆāļĢāļīāļ‡:\n\n1. āļ•āļĢāļ§āļˆāļŠāļ–āļēāļ™āļ°āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāđāļĨāļ°āļšāļĨāđ‡āļ­āļāļāļēāļĢāđ€āļĢāļĩāļĒāļāđ€āļĄāļ·āđˆāļ­ open_until āļĒāļąāļ‡āļ­āļĒāļđāđˆāđƒāļ™āļ­āļ™āļēāļ„āļ•\n2. āđ€āļĢāļĩāļĒāļ API āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđāļĨāļ°āļˆāļąāļšāļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļąāđ‰āļ‡āļŠāļģāđ€āļĢāđ‡āļˆāđāļĨāļ°āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”\n3. āđ€āļĄāļ·āđˆāļ­āļŠāļģāđ€āļĢāđ‡āļˆ āļĢāļĩāđ€āļ‹āđ‡āļ•āđ€āļ„āļēāļ™āđŒāđ€āļ•āļ­āļĢāđŒāđāļĨāļ°āļ›āļīāļ”āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒ\n4. āđ€āļĄāļ·āđˆāļ­āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ āđ€āļžāļīāđˆāļĄāđ€āļ„āļēāļ™āđŒāđ€āļ•āļ­āļĢāđŒāđāļĨāļ°āđ€āļ›āļīāļ”āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāđ€āļĄāļ·āđˆāļ­āļ–āļķāļ‡āđ€āļāļ“āļ‘āđŒ\n5. āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļ—āļĩāđˆāđ€āļŦāđ‡āļ™āđ‚āļ”āļĒāļœāļđāđ‰āđƒāļŠāđ‰āđ„āļ›āļĒāļąāļ‡ fallback (āļ•āđˆāļ­āļ„āļīāļ§āļ‡āļēāļ™ āđƒāļŠāđ‰āļ‚āđ‰āļ­āļĄāļđāļĨāđāļ„āļŠ āļŦāļĢāļ·āļ­āļ­āļ™āļļāļāļēāļ•āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ”āđ‰āļ§āļĒāļĄāļ·āļ­)\n\nāļšāļąāļ™āļ—āļķāļāļāļēāļĢāļ•āļąāļ”āļŠāļīāļ™āđƒāļˆ fallback āđ€āļ›āđ‡āļ™āļ āļēāļĐāļēāļ‡āđˆāļēāļĒāđ† āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļ‹āļąāļžāļžāļ­āļĢāđŒāļ•āđāļĨāļ°āļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļĢāļđāđ‰āļ§āđˆāļēāļœāļđāđ‰āđƒāļŠāđ‰āđ€āļŦāđ‡āļ™āļ­āļ°āđ„āļĢ\n\nāđ€āļĄāļ·āđˆāļ­āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāđ€āļ›āļīāļ” āđāļˆāđ‰āļ‡āđ€āļˆāđ‰āļēāļ‚āļ­āļ‡āđ‚āļ”āļĒāđƒāļŠāđ‰āđ‚āļĄāļ”āļđāļĨāļŠāđˆāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ‚āļ­āļ‡ AppMaster (āļ­āļĩāđ€āļĄāļĨ, SMS, Telegram) āļĢāļ§āļĄāļŠāļīāđˆāļ‡āļ—āļĩāđˆāļŠāļģāļ„āļąāļ: āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢ, endpoint, āļŠāļ–āļēāļ™āļ°, āđāļĨāļ°āļāļēāļĢāļāļĢāļ°āļ—āļģāđāļ™āļ°āļ™āļģāđāļĢāļāđ†\n\nāļŦāļēāļāļ„āļļāļ“āļāļģāļĨāļąāļ‡āļāđˆāļ­āļŠāļĢāđ‰āļēāļ‡āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āđƒāļ™ AppMaster, appmaster.io āđ€āļ›āđ‡āļ™āļˆāļļāļ”āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļˆāļĢāļīāļ‡ āđ€āļžāļĢāļēāļ° Business Process āđ€āļŠāļīāļ‡āļ āļēāļžāđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļŠāļēāļĄāļēāļĢāļ–āļ‚āļąāļšāđ€āļ„āļĨāļ·āđˆāļ­āļ™ endpoint āļ‡āļēāļ™āđāļšāđ‡āļāļāļĢāļēāļ§āļ”āđŒ āđāļĨāļ°āļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āļ”āđ‰āļ§āļĒāļŠāļ–āļēāļ™āļ°āđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļĢāđˆāļ§āļĄāļāļąāļ™

āļ„āļģāļ–āļēāļĄāļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒ

What problem does a circuit breaker actually solve for third-party APIs?

A circuit breaker stops repeated calls to a failing vendor and forces a fast, predictable outcome. Instead of waiting on timeouts and piling up retries, you either proceed normally, take a fallback path immediately, or allow a small test call after a cooldown.

When is a circuit breaker worth adding, and what should I protect first?

It’s worth it when a vendor call can block money, orders, or customer access, or when failures create a queue that’s hard to clean up. Start with 1–3 high-impact workflows like checkout payments, shipping rates/labels, login/SSO, or OTP delivery.

Why do slow APIs feel different from APIs that are fully down?

“Slow” makes your system look broken because users wait, pages spin, and jobs back up even if the vendor eventually responds. “Down” is clearer but can be worse because many systems retry aggressively, causing a traffic storm that delays recovery and can overload your own infrastructure.

What do “closed,” “open,” and “half-open” mean in plain terms?

Closed means calls are allowed as normal. Open means calls are blocked for a short period and your workflow immediately uses a fallback. Half-open means you allow a small number of test calls after cooldown to check if the vendor is healthy again.

What should count as a failure for a circuit breaker?

Use signals that match real failure: timeouts, HTTP 5xx, connection/DNS errors, rate limits (429), and latency that exceeds what your workflow can tolerate. Treat “too slow to be useful” as a failure so you fail fast instead of making users wait.

What are good starter thresholds for opening the breaker?

Start with simple rules you can explain, then tune from traffic. A common setup is opening after 5–10 failures in 30–60 seconds, or when 20%–40% of calls fail in a rolling window, with latency over 2–5 seconds counted as failure for user-facing steps.

How long should cooldown and half-open testing last?

A safe default is 30 seconds to 5 minutes for the Open cooldown, so you stop hammering the vendor while it’s unhealthy. In Half-open, allow only 1–5 test calls (or a brief window like 10–30 seconds) so you can recover quickly without flooding the vendor.

What are practical fallback paths when a vendor call is blocked?

Pick a fallback that keeps work moving without lying about the outcome. Examples include saving an order as “payment pending,” using a cached or flat shipping rate with clear labeling, queueing messages for later, or routing the case to manual review.

How should retries work alongside a circuit breaker?

Keep retries low (often 2–3), use exponential backoff, add jitter, and cap total retry time so you don’t clog queues. If the breaker is Open, don’t retry at all; go straight to fallback so you avoid creating a thundering herd.

What alerting should I add so outages are actionable, not noisy?

Alert when the breaker opens, when it stays open too long, and when errors spike even before it opens. Each alert should say which vendor/endpoint is affected, what users will see, what fallback is active, when the state changed, and the next action your team should take.

āļ‡āđˆāļēāļĒāļ•āđˆāļ­āļāļēāļĢāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™
āļŠāļĢāđ‰āļēāļ‡āļšāļēāļ‡āļŠāļīāđˆāļ‡āļ—āļĩāđˆ āļ™āđˆāļēāļ—āļķāđˆāļ‡

āļ—āļ”āļĨāļ­āļ‡āļāļąāļš AppMaster āļ”āđ‰āļ§āļĒāđāļœāļ™āļŸāļĢāļĩ
āđ€āļĄāļ·āđˆāļ­āļ„āļļāļ“āļžāļĢāđ‰āļ­āļĄ āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļāļāļēāļĢāļŠāļĄāļąāļ„āļĢāļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄāđ„āļ”āđ‰

āđ€āļĢāļīāđˆāļĄ
āļĢāļđāļ›āđāļšāļšāđ€āļšāļĢāļāđ€āļāļ­āļĢāđŒāļ§āļ‡āļˆāļĢāļŠāļģāļŦāļĢāļąāļš API āļ‚āļ­āļ‡āļšāļļāļ„āļ„āļĨāļ—āļĩāđˆāļŠāļēāļĄāđƒāļ™āđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāđ€āļŠāļīāļ‡āļ āļēāļž | AppMaster