Skip to content
This repository has been archived by the owner on Feb 24, 2022. It is now read-only.

Strategy discussion on resiliency of validation API #60

Closed
6 tasks
porta-antiporta opened this issue Jan 11, 2022 · 4 comments
Closed
6 tasks

Strategy discussion on resiliency of validation API #60

porta-antiporta opened this issue Jan 11, 2022 · 4 comments

Comments

@porta-antiporta
Copy link
Collaborator

porta-antiporta commented Jan 11, 2022

Decision from 1/11 team discussion

Must have by 1/18 launch (captured in #67)

  • Create a parallel app that will intake orders
    • Email is mandatory for this app
  • Orders will be saved without validating address
  • Upon API recovery, a background process will validate address for those orders
  • Email can be used to contact users of any post processing issues encountered by that process

Nice to have by 1/18 launch captured in #68

  • Parallel app would implement, on top of above, an address validation against USPS API

Background

Given:

  • We cannot assume we can contact the user after they have submitted an order
  • We have to confirm deliverability to prevent package loss

Then:

  • We cannot save an order to our data store (i.e. give user confirmation of an order) until the address has been confirmed deliverable (see Validation - Address #43 on criteria of deliverability).
  • We should understand what our stance is for if the primary validation API suffers an outage

Thoughts:

  • Implement a backup mechanism based on either the (online USPS API, offline USPS address DB, other unpaid system that uses canonical USPS address information and can support Explore usage of Smarty Streets API for address validation #57.
  • Have graceful fallback to the backup mechanism
  • If backup fails, then error out the order
  • If persistent failure of primary and backup, throw alarm to on call team and stop taking orders.
@ryanwoldatwork
Copy link
Collaborator

Dirty (less than pristine) Event Stream

Even taking bad orders, we, and USPS should be able to generate a filter that de-dupes a relatively dirty event stream, to normalize per residential address. This is a question for the USPS meeting agenda.

Which address services?

Is the order of services:

  1. Smarty
  2. USPS
  3. none / fallback
  4. turn of service

Do we need another?

@porta-antiporta
Copy link
Collaborator Author

11:30 mtg where this will be discussed (amongst other things re:address validation).

@porta-antiporta
Copy link
Collaborator Author

porta-antiporta commented Jan 11, 2022

Decision from 11:30 meeting.

Approach:
Must have by 1/18 launch

  • Create a parallel app that will intake orders
    • Email is mandatory for this app
  • Orders will be saved without validating address
  • Upon API recovery, a background process will validate address for those orders
  • Email can be used to contact users of any post processing issues encountered by that process

Nice to have by 1/18 launch

  • Parallel app would implement, on top of above, an address validation against USPS API

@porta-antiporta
Copy link
Collaborator Author

#67 and #68 created. Closing this issue as path forward was agreed upon.

@porta-antiporta porta-antiporta changed the title Resiliency - validation API Strategy discussion on resiliency of validation API Jan 11, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants