The Subscriber Import file is used to load/transfer an existing mobile subscription list into the Vibes Platform from another source.
In general, this bulk file import should only be used during the on-boarding process. If you have previously registered for subscription added callbacks, this import process will trigger a callback for each record included in the file.
This import should only be used to transfer a list of previously confirmed/opted-in subscribers from another source, as this import will not send a text to the consumer asking them to confirm their subscription. Adding subscribers who have not previously opted in violates federal compliance legislation.
UTF-8 or ASCII encoding for integration files is recommended.
The contents of the file should be plain text separated by commas or another delimiter.
If you are uploading via the platform, we recommend files are less than 5MB, which is usually about 100,000 rows of data.
If you are uploading files via SFTP, there is no limit; however, larger files may take more time to upload.
You can include the following headers in your subscriber import. Using headers is optional.
|Content-Type||Value should always be TEXT.|
|Subscription-List-ID||If not specified here, it must be specified in every row. Any value specified in the row takes precedence over the header value.|
|Fields||This is a comma-separated list of field names that will be in the body of the text file. If omitted, then the first row of the body must contain the field names, with the same delimiter as the body.|
|Delimiter||The character used to delimit the columns. If omitted, it defaults to a comma.|
In each row, at least one identifier needs to be specified. Available identifiers are
mdn. If more than one value is specified, we will use the value with the highest precedence.
For Subscription List imports, you will also need the include the
subscription_list_id either in the header or in each row.
The file body can contain the following fields as data. All field names must be lowercase.
|Field Name||Data Type||Description|
|Integer||A Vibes-assigned number identifier, used to identify a person record that already exists in the Vibes system. First in precedence.|
|String||The Vibes-assigned string identifying a person record that already exists in the Vibes system. The |
|String||The external system's person ID to include in the subscription list. Third in precedence.|
|String||An MDN is the mobile phone number to include in the subscription list.|
- Non-US numbers must be in E.164 format. Example: mdn +12295551234
- US numbers can use the 10-digit MDN format
|String||The Vibes-assigned identifier for a device that can receive push messages. The |
|String||The subscription list to which the person will be added. If not specified, the subscription-list-id from the header will be used.|
|String||The opt_in_date is optional but indicates the date/time that the subscriber had opted into the list. This can be backdated for historical purposes. Future values will generate an error. The value should be formatted in ISO 8601 format. ex: "2017-04-05T14:30Z" represents April 5th, 2017 at 2:30PM UTC.|
|String||Three-digit carrier code.|
|String||Source of subscription.|
|String||Specific ID of subscription source. This value, along with the above |
The following tables show error codes that can occur for subscriber import files. Common errors for all file types can be found here.
|Error Class||Error Message||Description|
|PersonErrors::InvalidPersonKeyFormat||The person_key format is invalid||The |
|MobilePhoneErrors::IllegalCarrierChange||The carrier_code does not match the existincg carrier_code||The |
|SubscriptionErrors::SubscriptionAlreadyExists||The mobile_phone is already subscribed||The mobile phone is already subscribed to the subscription list.|
|ListErrors::ListNotFound||The subscription_list was not found||The |
|MobilePhoneErrors::MobilePhoneNotFound||A mobile_phone was not found||A mobile phone could not be found with the given information in the record.|
|MobilePhoneErrors::InvalidMDNFormat||The mdn has an invalid format||The mobile phone number is not a valid E.164 number.|
|SubscriptionErrors::OptInDateCannotBeInTheFuture||The opt_in_date cannot be in the future||The opt-in date of the subscription cannot be in the future.|
|SubscriptionErrors::MdnChannelCountryCodeMismatch||mdn country_code and short_code country_code do not match||The country code of the MDN does not match the country code associated with the short code on the subscription list.|
|PersonErrors::InvalidPersonID||Invalid person_id||The |
|MobilePhoneErrors::IncorrectCarrierIdProvided||Carrier ID validation failed for MDN||The carrier ID provided does not match the actual carrier ID of the MDN.|
|PushDeviceErrors::PushDeviceNotFound||A push_device was not found||No push device was found.|
|SubscriptionErrors::AppIdMismatch||Device app_id does not match the list|
|CarrierLookupService::TransientLookupFailureError||Carrier Lookup for failed with error General Processing Error||A transient failure occurred when trying to verify the carrier of the MDN. Please try again.|
|CarrierLookupService::PermanentLookupFailureError||Carrier Lookup for failed with error||Looking up the carrier failed with an error that indicates it isn't likely to change.|
|Error Class||Error Message||Description|
|SubscriptionErrors::InvalidImportFileFormat||Couldn't find a person_id, person_key, external_person_id, or mdn field||The file doesn't include one of the fields needed to identify the individual subscriber. One of the following is required:|
|SubscriptionErrors::InvalidImportFileFormat||Couldn't find a subscription_list_id||The file doesn't indicate which list to subscribe the end users to.|
Updated 29 days ago