Client Background & Requirements
- Our client offers a product subscription that allows their customers to clean their email lists. i.e. their customers who are usually salespeople can ensure that all emails in their list are legit emails and that no email from their end is sent to an invalid spam email address. This saves them a lot of effort with targeting, and follow-up, and also preserves their email reputation.
- The client wanted us to develop a custom plugin that will integrate with the 5 most popular form plugins – Gravity Forms, Contact Form 7, Ninja Forms, WPForms, and Formidable Forms and enables admin to use their API from the WordPress dashboard itself to bulk validate email addresses present in these form’s entries.
How did we provide solution?
We worked on the project as follows:
Form Entry Submission Level Integration
- Here client wanted us to allow the admin to restrict fake form entries at the submission level itself.
- When a visitor makes a submission on a form, before submission of the form an API request will be sent to the client’s API server, and based on the response the submission will be accepted or rejected.
- So when the API responds with a positive response, the submission is accepted by the form plugin and when it is a negative response, the visitor is asked to provide a valid email address, and form submissions are prevented until the visitor enters a legit email address.
- To accomplish this, we used submission level hooks of all of the 5 form plugins and added a function that will run the single email API before submission to validate the email provided.
Custom Dashboard for Bulk API Requests
- Our client had 4 major requests with regards to Bulk API Request module –
- The Bulk API Request module should integrate and automatically sync with all 5 form plugins.
- Admin should be able to bulk select the entries after choosing the plugin and the corresponding form whose email entries he wishes to bulk validate.
- Admin can bulk select a few entries on a page and also choose all entries of a form in a single go.
- Admin must be able to sort email entries on his dashboard through different states – Verified, Unverified, Invalid, Blacklisted.
- To fulfill these requests, we first created a custom view in the admin dashboard where the admin will be first asked to choose the desired plugin and the corresponding form. Once the admin makes the choice, all the form entries will be populated in the dashboard.
- Now, the admin can send a bulk request for the form entries, and once done, he’ll get a WordPress notification that his request has been accepted. This completed the API integration where we send the request.
- Once the response is received, we map the result of each email in the corresponding form entries and update the database.
- Now a notification is sent to the admin that the email list that he submitted has been verified.
- Admin now has to go to the dashboard and can view the updated email entries with their status.
Screenshot : Bulk Application Processing Page
- We created a Settings page to allow the admin to save API keys, and select plugins + forms where he wants API to integrate and sync.
- Admin can also view his credits and other status updates on the Settings page itself.