CSV export with API

Voucherify enables programmable export of vouchers, redemptions, publications and customers to a CSV file. Here are four simple steps to achieve it:

  1. Trigger the export with Create Export and store the id of the export object you'll get in the response from Voucherify.

  2. Get the export's status providing the id and take a look at the status field from the response. If it's still SCHEDULED, this means that the export is still in progress and you should ask later.

  3. When the status is finally DONE, the result will store the URL as in the example below:

{
  "id": "export_lhZvHKphiMESVdIncRKvoaZh",
  "object": "export",
  "created_at": "2017-02-24T14:03:00.196Z",
  "status": "DONE",
  "channel": "API",
  "exported_object": "voucher",
  "parameters": {
    "fields": [
      "code",
      "voucher_type"
    ],
    "filter": {
      "categories": {
        "conditions": {
          "$in": [
            "postman"
          ]
        }
      }
    }
  },
  "result": {
    "url": "https://download.voucherify.io/v1/exports/export_lhZvHKphiMESVdIncRKvoaZh?token=TOKEN"
  }
}
  1. To download the export file, use the provided URL together with authentication headers.

Filters

Voucherify allows you to specify the timeframe for the records you want to retrieve. Thanks to this mechanism it should be easy to implement a pagination mechanism. See the example of a request body:

{
   "exported_object":"redemption",
   "parameters":{
      "order":"-created_at",
      "fields":[
         "id",
         "object",
         "date",
         "voucher_code",
         "customer_id",
         "result"
      ],
      "filters":{
         "junction":"and",
         "created_at":{
            "conditions":{
               "$after":[
                  "2018-05-30T22:00:00.000Z"
               ],
               "$before":[
                  "2018-06-29T22:00:00.000Z"
               ]
            }
         }
      }
   }
}

The export request will almost always result in a single file being generated by the system. However, if the volume of data is large, the system can split the results into multiple chunks.


Did this page help you?