Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Repos that we’ll change

intl-user-service: https://github.com/rbilabs/intl-user-service

intl-packages: https://github.com/rbilabs/intl-packages

...

Problem

When the user accepts Iberia's terms, we must save the acceptances for both Burger King and Popeyes on Braze.

Therefore, the customer must receive email/push notifications from all Iberia markets.

Proposal of Solution

When a new user is created, we must replicate the user's acceptance settings to the other configured markets.

...

But if the modal appears informing the privacy changes and the user accepts the terms, the notification settings must be replicated to all configured markets

...

...

Technical Problem

intl-packages:

1 - Option (used in this refinement)

  • We should create a new secret (crm-events) to save settings.

  • Update CRM Event (mparticle) to use secrets and send message to another markets.

...

We can use LaunchDarkly, but I think that setting is not good to stay here, but is an option

POC: https://github.com/rbilabs/intl-packages/pull/938/

intl-user-service:

  1. Option 1

  • New User

    • We must add two new fields to be sent to the particle trigger.

      • email_subscribe

      • push_subscribe

  • Update User to call logCrmEvents

  • The user update routine is done via HTTP request, here we must integrate it with CRM Events, currently, it only updates in DynamoDB

  1. Option 2

POC: https://github.com/rbilabs/intl-user-service/pull/294/files#diff-16c30acb1319788d9f98e57369f216f74b1ef5017c6c7b73c5c9ff675e12d7e1

API - User Update - To test

...

https://dashboard-02.braze.eu/users/user_search?locale=en

...

...

Tasks breakdown

intl-packages:

Task 1 - create a new secret in dev

  • table: rbi-account-secrets

  • pk: rbi/dev/plk/crm-events

...

https://eu-west-3.console.aws.amazon.com/dynamodbv2/home?region=eu-west-3#item-explorer?filter1Comparator=CONTAINS&filter1Name=pk&filter1Type=S&filter1Value=crm-events&operation=SCAN&table=rbi-account-secrets

Task 2 - create a new secret in QA/Prod

  • Open new ticket to create secrets

Task 3 - create a new definitions secret

  • Should create a new definition secret to crm-events

  • Should We must check to work to PLK and BK brands and countries all markets and not only ES and PT.

...

Task 4 - Change mparticle-service.ts to replicate message to mparticle

  • Should change AllowedEventNames type and added new “User Account Updated” type.

  • This replicate should occur only when event name is “User Account Created” or “User Account Updated”

  • Must update the sendMParticleCustomEventToQueue function to read secrets and send messages to other markets.

POC: https://github.com/rbilabs/intl-packages/blob/938/packages/crm-events/src/mParticle/mparticle-service.ts

...

DOD-LIKE

  • Create new secrets

  • Create new definition secrets to CRM Events

  • Update CRM Events to send more fields to mparticles

intl-user-service:

Task 1 - Add new proprieties in new user event trigger

  • Should add email_subscribe and push_subscribe to send to mparticle

POC: https://github.com/rbilabs/intl-user-service/pull/294/files#diff-88263c0c9b7bf042baf866b1601897a900695d9b087e2c36e1d68c3332f57682

...

Task 2- Update User

  • Should change “users-update-service” to call logCrmEvent.

  • Should only call logCrmEvent if the request comes from the Acceptance Agreement

...

POC: https://github.com/rbilabs/intl-user-service/pull/294/files#diff-16c30acb1319788d9f98e57369f216f74b1ef5017c6c7b73c5c9ff675e12d7e1

DOD-LIKE

  • Update unit tests

  • Update mparticle to send more fields.

  • Modify users update to send CRM Events.

...

POCs:

More information

  • In the SignUp to accept the marketing to EMAIL and PUSH you need to enable this flag in Launchdarkly - Platform:

Code Block
enable-push-notifications-on-signup
  • It is fundamental that on DynamoDB with the table rbi-account-secrets with the item rbi/dev/YOUR_BRAND/crm-events (rbi/dev/plk/crm-events) there are the valeus for this, is required there are at least one URL and the ACTIVE field must be true

  • In case of problems in register user, in the moment of validate OTP code, you can to see the logs of on CloudWatch AWS, the lambdas that you need to analyze are dev-plk-user-new-user and dev-plk-user-api, you need just to change the brand.

  • We have a feature flag to control this feature, enable-cross-brand, for work we need to enable this flag, and we can customize with the email and country, this way we have more control about this feature.

...