Entitlement Batch Processor
Entitlement Batch Processor
Bango offers a batch processing feature to support resellers who are unable to implement all of our API methods (or who need to minimise their API integration work) and need an alternative solution to update, suspend, resume or terminate entitlements.
The batch processor works by reading files from your dedicated S3 bucket, processing the data provided, and exporting results files back to the S3 bucket.
Each import file must contain a header row and up to 250 action rows.
Actions to cancel, revoke, suspend or resume an entitlement can be included in a single file as they require the same header row. All column headers must always be present, but optional fields can be empty.
Column header name | Mandatory | Description |
---|---|---|
action | Mandatory | One of CANCEL, REVOKE, SUSPEND, RESUME |
entitlementId | Mandatory | The Bango entitlementId provided following a create entitlement request |
reasonCategory | Conditional Mandatory | CANCEL & REVOKE actions only. See Categories & Codes for values |
reasonCode | Conditional Mandatory | CANCEL & REVOKE actions only. See Categories & Codes for values |
reasonDescription | Optional | CANCEL & REVOKE actions only. Free text description |
Updates require a different set of fields and need to be provided in a separate file with the column headings shown below. Again, all column headings must always be present, but optional fields can be empty.
Column header name | Mandatory | Description |
---|---|---|
action | Mandatory | UPDATE |
entitlementId | Mandatory | The Bango entitlementId provided following a create entitlement request |
productKey | Optional | The new productKey (leave empty if unchanged) |
notificationUrl | Optional | The new notificationUrl (leave empty if unchanged) |
dateExpiry | Optional | The date you want Bango to schedule sending a revoke entitlement request on your behalf (leave empty if unchanged) |
customerIdentifier | Optional | The new customerIdentifier (leave empty if unchanged) |
extensionData | Optional | The new extensionData (leave empty if unchanged) |
Files follow this naming convention: {customer}-{action}-{timestamp}.csv (e.g. BangoTel-TERMINATIONS-20241102235959.csv), where:
- {customer} is the name of your organization or similar (for reference)
- {action} describes the action(s) included in the file. This does not have to match a specific action name
- {timestamp} is a UTC datetime in the format YYYYMMDDHHMMSS
Upload your csv files to the import
folder of your S3 bucket.
When the file is imported, Bango processes each row in the file in turn.
- If the action succeeds, a file is created or updated in
output/success
with the same name as the input file, and a row is added that shows the entitlement record after the action - If any action fails, a file is created or updated in
output/error
with the same name as the input file, and a row is added that shows the entitlement record after the action
The file is moved to the archive folder once processing is complete.