Many eCommerce websites, especially in Asian countries, nowadays use short messaging service (SMS) to notify customers with their order detail, shipment tracking, one time passwords etc. So we thought of contributing generic code and one sample implementation of SMS gateway integration to the OFBiz.
User Stories:
- As a user/developer, I should be able to configure multiple SMS gateway vendors into the system so that there will not be any dependency on single SMS gateway vendors.
- As a developer, the implementation process for multiple SMS gateway vendors should be simple and generic.
- As a user, I should be able to send different types of SMS like order confirmation, new user registrations etc using any of the SMS gateway setup in the system.
- As a user, I should be able to setup the static/dynamic contents for the SMS to be sent.
- As a user, I should be able to configure different SMS gateways for different stores.
Taking the reference of already implemented email and shipment gateway integration in OFBiz, the database schematic for SMS gateway integration can be designed as follows:
Brief about the data model:
- SmsConfigType:
It will store the name of the custom entity which contains the configuration data for connecting and sending SMS. For example, in above data model, we have custom vendor specific entities like SmsConfigMsg91 and SmsConfigTextLocal. - SmsConfig:
Config entity saving the association of an custom SMS configuration entity with configuration type. - SmsTemplateSetting:
It will contain the information for the template/content of the SMS and type of the SMS like order confirmation SMS, New user registration SMS etc. - ProductStoreSmsSetting:
It will contain the association of product store with the SMS template setting. - SmsConfigMsg91/SmsConfigTextLocal:
The custom configuration entity which will save the basic and required fields and information for using the SMS Gateway API services for different vendors.
At service level, we will be writing one common generic service to send SMS as like sendEmail in OFBiz. The user/developer will need to write the custom service, specific to the API provider/vendor to prepare vendor specific parameters or data which will be needed for calling SMS APIs.