20230817-SMS-Area¶
Background¶
Currently, SMS are used for two types of messages in the backend, OTP for auth and informational/transactional messages, i.e. money was deposited on your account. The OTP messages are sent with the 3rd party services Sinch and Infobip, with the integration residing within the User area. The transactional messages are sent through 3rd party service Braze, and is mainly used for remittances.
Braze will stop supporting this case, meaning the transactional messages will need to be handled in some other way.
Decision¶
- Create a new area called SMS
Reasoning¶
- For a long time we have had a desire to move Sinch & Infobip outside of User area.
- The transactional SMS use case does not fit with the existing responsibilities of the User area (or any other existing area).
Consequences¶
- Creation of a new area SMS
- Another area to keep track of..
- The existing logic and sinch/infobip integration in User should be migrated to the new area.
Notes (optional)¶
We should try to make the API of the new service event based as much as possible (e.g. other areas should publish events to trigger SMS sending, not do a direct HTTP call).
While it would be possible to instead create a new notification area which handles more kinds of notifications (like emails and push notifications), we did not see it useful. For example, neither push nor emails sent have much at all in common with sending SMS. There are no product plans that would change this that we know of.