To take full advantage of Catapult's targeting and personalization capabilities, you want to send Catapult relevant data about your subscribers in your CRM system. Through a combination of API calls and callbacks, you can keep Catapult in sync with your most up to date data about people.
API Calls
Mobile Phone Sign Up (previous scenario)
Callbacks
New Subscribers - Customer Hosted
When a person adds a mobile number to your preference center, and you want to sign them up, you should go through the Mobile Phone Sign-Up process from the previous scenario.
New Subscribers - Catapult Hosted
When a new subscriber come into your mobile database through a Catapult landing page or SMS opt-in, your CRM system can receive a callback to an API endpoint. Below is the standard format for callbacks. If you need Catapult to call a pre-existing API, the Vibes Mobile Solutions Group can create a custom integration solution for you.
{ "callback:id","DEF123", "event_id":"AB234SDFD234", "event_type":"subscription_added", "event_date":"2013-08-01T15:42:23Z", "delivery_attempt":"1", "subscription":{ "person":{ "id":"ABC123", "external_id":"ex1234", "url":"/companies/:id/mobiledb/persons/ABC123" }, "subscription_list":{ "id":"1234", "url":"/companies/:id/mobiledb/subscription_lists/1234" }, "opt_in_date":"2013-01-09T15:34:52Z", "acquisition_campaign":{ "id":"2342312", "url":"/companies/:id/campaigns/acquisition/2342312" }, "url":"/companies/:id/mobiledb/persons/ABC123/subscriptions/1234" } }
Opting Out Subscribers
When a person opts out via their mobile device, Catapult will send your system a notification that they are no longer a mobile subscribers.
{ "callback_id":"DEF124", "event_id":"AB234SDFD234", "event_type":"subscription_removed", "event_date":"2013-08-01T15:42:23Z", "delivery_attempt":"1", "subscription":{ "person":{ "id":"ABC123", "external_id":"ex1234", "url":"/companies/:id/mobiledb/persons/ABC123" }, "subscription_list":{ "id":"1234", "url":"/companies/:id/mobiledb/subscription_lists/1234" }, "opt_in_date":"2013-01-09T15:34:52Z", "opt_out_date":"2013-02-09T15:34:52+0000", "opt_out_reason":"user_opt_out", "acquisition_campaign":{ "id":"2342312", "url":"/companies/:id/campaigns/acquisition/2342312" }, "url":"/companies/:id/mobiledb/persons/ABC123/subscriptions/1234" } }
Adding data about your subscribers
1. At any time, your CRM system can add real-time data about your subscribers. Please work with your Vibes Account Manager to determine the best format to store your data in (we support strings, multi and single select lists, date/time, as well as other formats.
POST http://public-api.vibescm.com/mobiledb/persons Headers Content-Type: Application/JSON Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== BODY { "external_person_id":"EXT542342", "mobile_phone":{ "mdn":"2995551234" }, "custom_fields":{ "first_name":"John", "last_name":"Doe" } }
2. You will receive back an HTTP code letting you know if the person was added, if an existing person was found and your new entry was merged.
Updating data about your subscribers
For updating, you can use your a unique identifier in your CRM system (external_person_id) or you can use the Vibes person_id. If you are unable to update by ID and only have the MDN, you can use the Add Person API call, and we will merge the MDN's information with the existing person.
PUT http://public-api.vibescm.com/mobiledb/persons Headers Content-Type: Application/JSON Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== BODY { "external_person_id":"EXT542342", "mobile_phone":{ "mdn":"2995551234" }, "custom_fields":{ "first_name":"John", "last_name":"Doe" } }