Skip to Main Content

Digital Vending Machine® Batch Processor

DVM > 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 nameMandatoryDescription
actionMandatoryOne of CANCEL, REVOKE, SUSPEND, RESUME
entitlementIdMandatoryThe Bango entitlementId provided following a create entitlement request
reasonCategoryConditional MandatoryCANCEL & REVOKE actions only. See Categories & Codes for values
reasonCodeConditional MandatoryCANCEL & REVOKE actions only. See Categories & Codes for values
reasonDescriptionOptionalCANCEL & 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 nameMandatoryDescription
actionMandatoryUPDATE
entitlementIdMandatoryThe Bango entitlementId provided following a create entitlement request
productKeyOptionalThe new productKey (leave empty if unchanged)
notificationUrlOptionalThe new notificationUrl (leave empty if unchanged)
dateExpiryOptionalThe date you want Bango to schedule sending a revoke entitlement request on your behalf (leave empty if unchanged)
customerIdentifierOptionalThe new customerIdentifier (leave empty if unchanged)
extensionDataOptionalThe 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 oganization 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.