KamoCRM

Implement POST /api/bulktext/send internal transactional SMS

FixVOIPService
Shipped
2 ஜூலை, 2026 அன்று 7:04 AM UTC
Author
Sage
Commit
49cb1ba

SecurityService's BulkTextSmsClient (password-recovery + account-settings SMS) has always POSTed **************** to /api/bulktext/send, but the controller was never built, so every call 404'd — SMS recovery was dead in prod. The InternalAuthFilter already declared /api/bulktext/send in its PROTECTED_PREFIXES, confirming this was the intended (unbuilt) design. New BulkTextInternalSendController resolves the org's oldest ACTIVE bulk-text instance and sends via BulkTextProviderFactory using that instance's from-number (mirrors **************** Session-less: added an EXACT-match /api/bulktext/send exclusion in OTKValidationFilter (InternalAuthFilter guards it); /api/bulktext/instances stays session-guarded. No provider -> 422; provider fail -> 502; bad input -> 400. Adversarially reviewed (SHIP_AS_IS). 9 unit tests. Follow-up (separate, pre-existing): add rate limiting to SecurityService's public /api/recover/sms/initiate to prevent SMS-bombing now that the send path works.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing