DostEducation / whatsapp-webhook-analytics

Handling and processing of Incoming webhook request configured at Glific.
GNU Affero General Public License v3.0
0 stars 0 forks source link

[FEATURE] Create a user indicator response handling service. #16

Closed Sachinbisht27 closed 4 months ago

Sachinbisht27 commented 5 months ago

Is your feature request related to a problem? Please describe. We need a service to store the user indicator details in the database whenever will get webhooks from the Glific flows for any user indicator and responses. We want to hold that record in the database.

Describe the solution you'd like

Describe alternatives you've considered NA

Additional context NA

Acceptance Criteria

Documentation Add whatever documentation will be required here.

Sachinbisht27 commented 4 months ago

Closing the issue as completed and released on production.

Satendra-SR commented 3 months ago

Breakdown

Understanding user indicators in Glific-based program - 1 hour

  1. Had a few rounds of discussions over calls and slack regarding what type of user indicators are involved with Glific-based programs.
  2. How they have been configured so far in Glific flows?
  3. How they are different from the activities.
image

Experiment with Glific webhook and capabilities - 8 hours

  1. As a first step, we had to experiment with the capabilities Glific webhook is providing.
  2. Configured a few test flows and ran a few test cases to understand all the details we were getting.
  3. Went through Glific documentation to find all the possible capabilities.

Proposing the possible solution with Kriti and finalization - 3 hours

  1. Had a few rounds of discussions with Kriti over standups, calls and Slack to finalize the format.
image
image

Suggesting and discussing the possible scenarios

image
image

Implementations - 7 hours

  1. Create a new module for user indicators.
  2. Logic to capture user indicators, process the webhook
  3. Made the indicators dynamic to accommodate multiple indicators in a single webhook.

Discussed with Pankaj Agarwal and found the possible ways to capture the timestamp, flow details, etc

image image

Deployment and Testing - 2 hours

  1. Deployment on the staging server
  2. Testing using some testing flows on Glific
  3. Validating the data captured through this module.
  4. Releasing new changes on production
  5. Running the Airbyte pipeline to migrate data from the database to Bigquery for testing.