Skip to content

Instantly share code, notes, and snippets.

@simonexmachina
Created June 7, 2016 00:11
Show Gist options
  • Save simonexmachina/e2695c74a9cb544c8ec25236213e4e4b to your computer and use it in GitHub Desktop.
Save simonexmachina/e2695c74a9cb544c8ec25236213e4e4b to your computer and use it in GitHub Desktop.

Mobile Giving Foundation

References

prod Environment

This environment is used for the legacy V1 apps, and will be used when V2 is in production release.

http://intranet.mobilegiving.org/
Username:
Password:

{
  apiHost: 'https://api.mobilegiving.info',
  apiPath: '/mgf/service.php',
  username: '…',
  password: '…'
}

dev Environment

This environment is used for V2 development.

https://intranet.mobilegiving.info/
Username:
Password:

{
  apiHost: 'https://api.mobilegiving.info',
  apiPath: '/mgf/service.php',
  username: '…',
  password: '…'
}

Keywords

The following are the keywords that we can use for testing. These are attached to the test ASP.

Non-billing keywords do not incur carrier charges, and never progress beyond incomplete state to accepted/failed.

Short code Campaign ID Amount Keyword Billing
20222 150410 $5 ZTESTV2ACTIV5 N
20222 150418 $10 ZTESTV2ACTIV10 N
52000 150414 $5 ZTESTV2ACTIV5 N
52000 150419 $10 ZTESTV2ACTIV10 N
52000 150426 $5 ZTESTV2BILLACTIV5 Y
20222 150430 $5 ZTESTV2BILLACTIV5 Y

Notification requests are sent to https://api-gateway-proxy-wbalkkubnk.now.sh/dev/mgf-notification

Notes

  • https://activistic.atlassian.net/browse/AA-82
  • Terminology
    • Application Service Provider (ASP) e.g. Activistic
    • Charity (NPO)
    • Shortcodes are part of the underlying SMS infrastructure, they refer to a cross-network channel
      • e.g. The shortcode "20222" is used to allow donors on different carries to donate by sending "foo" to 20222
  • Data model
    • ASPs have NPOs
    • NPOs have Keywords
    • Keywords are associated with a Shortcode
    • Shortcodes may be associated with many Keywords
  • Keywords
    • Can be used for a whole variety of different capabilities
    • Define the donation amount
    • Have a campaignID (used in the request)
  • Subscription is triggered from a Web API call
    • MGF sends an opt-in message to the donor
    • User responds with either "YES" or a zip code (for Verizon)
    • MGF sends a second message with a thank you
  • "Notification API" is where they send requests to "Listener URLs" with XML status updates
    • We are notified of any state transitions
    • Three options: listener URL, summary listener URL, or detailed listener URL
    • These are provided to MGF via email
    • Messages are queued with 3 retries
    • Renewal dates can be computed from the opt-in date (the next calendar date)
      • Renewal date of the 31st will be the 30th
  • Adding a new charity is done by MGF upon request
    • Create a charity
    • Create a keyword for a shortcode
    • This happens quickly
    • The Listener URLs are specified per-charity
  • Recurring
    • We send subscription trigger, including up to 4 custom parameters
      • These are also included in the Notification API requests
  • TA to consider adding a function that returns an itemised history for a phone number
    • MGF are happy to act as the source of truth
  • SMS messages from MGF include a link to download a receipt, which include their donation history
  • Testing
    • Perfecto mobile can be used to receive SMS
    • Refund is supported for all providers except AT&T
      • Sonia can perform refunds for us
    • We could use "zero billing" keywords
      • TA to advise if we can use this for subscription keywords
      • We wouldn't get Accepted or Failed notifications
  • MGF can supply us with a list of NPO and Keyword data. The Keyword Sms Id / Sku column (C) contains the campaignID.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment