Chilkat Online Tools

DataFlex / Braze Endpoints / Custom Events Analytics

Back to Collection Items

Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoHttp
    Boolean iSuccess
    Variant vQueryParams
    Handle hoQueryParams
    Variant vResp
    Handle hoResp
    String sTemp1
    Integer iTemp1
    Boolean bTemp1

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    Get Create (RefClass(cComChilkatJsonObject)) To hoQueryParams
    If (Not(IsComObjectCreated(hoQueryParams))) Begin
        Send CreateComObject of hoQueryParams
    End
    Get ComUpdateString Of hoQueryParams "event" "event_name" To iSuccess
    Get ComUpdateInt Of hoQueryParams "length" 24 To iSuccess
    Get ComUpdateString Of hoQueryParams "unit" "hour" To iSuccess
    Get ComUpdateString Of hoQueryParams "ending_at" "2014-12-10T23:59:59-05:00" To iSuccess
    Get ComUpdateString Of hoQueryParams "app_id" "{{app_identifier}}" To iSuccess
    Get ComUpdateString Of hoQueryParams "segment_id" "{{segment_identifier}}" To iSuccess

    // Adds the "Authorization: Bearer {{api_key}}" header.
    Set ComAuthToken Of hoHttp To "{{api_key}}"

    Get pvComObject of hoQueryParams to vQueryParams
    Get ComQuickRequestParams Of hoHttp "GET" "https://rest.iad-01.braze.com/events/data_series" vQueryParams To vResp
    If (IsComObject(vResp)) Begin
        Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
        Set pvComObject Of hoResp To vResp
    End
    Get ComLastMethodSuccess Of hoHttp To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComStatusCode Of hoResp To iTemp1
    Showln iTemp1
    Get ComBodyStr Of hoResp To sTemp1
    Showln sTemp1
    Send Destroy of hoResp


End_Procedure

Curl Command

curl -G -d "event=event_name"
	-d "length=24"
	-d "unit=hour"
	-d "ending_at=2014-12-10T23%3A59%3A59-05%3A00"
	-d "app_id=%7B%7Bapp_identifier%7D%7D"
	-d "segment_id=%7B%7Bsegment_identifier%7D%7D"
	-H "Authorization: Bearer {{api_key}}"
https://rest.iad-01.braze.com/events/data_series

Postman Collection Item JSON

{
  "name": "Custom Events Analytics",
  "request": {
    "method": "GET",
    "header": [
      {
        "key": "Authorization",
        "value": "Bearer {{api_key}}",
        "type": "text"
      }
    ],
    "url": {
      "raw": "https://{{instance_url}}/events/data_series?event=event_name&length=24&unit=hour&ending_at=2014-12-10T23:59:59-05:00&app_id={{app_identifier}}&segment_id={{segment_identifier}}",
      "protocol": "https",
      "host": [
        "{{instance_url}}"
      ],
      "path": [
        "events",
        "data_series"
      ],
      "query": [
        {
          "key": "event",
          "value": "event_name",
          "description": "(Required) String\n\nThe name of the custom event for which to return analytics "
        },
        {
          "key": "length",
          "value": "24",
          "description": "(Required) Integer\n\nMax number of units (days or hours) before ending_at to include in the returned series - must be between 1 and 100 inclusive"
        },
        {
          "key": "unit",
          "value": "hour",
          "description": "(Optional) String\n\nUnit of time between data points - can be \"day\" or \"hour\" (defaults to \"day\")"
        },
        {
          "key": "ending_at",
          "value": "2014-12-10T23:59:59-05:00",
          "description": "(Optional) DateTime (ISO 8601 string)\n\nPoint in time when the data series should end - defaults to time of the request"
        },
        {
          "key": "app_id",
          "value": "{{app_identifier}}",
          "description": "(Optional) String\n\nApp API identifier retrieved from the Developer Console to limit analytics to a specific app"
        },
        {
          "key": "segment_id",
          "value": "{{segment_identifier}}",
          "description": "(Optional) String\n\nSegment API identifier indicating the analytics enabled segment for which event analytics should be returned"
        }
      ]
    },
    "description": "This endpoint allows you to retrieve a series of the number of occurrences of a custom event in your app over a designated time period.\n\n### Components Used\n-[Segment Identifier](https://www.braze.com/docs/api/identifier_types/)\n\n\n## Response\n\n```json\nContent-Type: application/json\nAuthorization: Bearer YOUR-REST-API-KEY\n{\n    \"message\": (required, string) the status of the export, returns 'success' when completed without errors,\n    \"data\" : [\n        {\n            \"time\" : (string) point in time - as ISO 8601 extended when unit is \"hour\" and as ISO 8601 date when unit is \"day\",\n            \"count\" : (int)\n        },\n        ...\n    ]\n}\n```\n\n### Fatal Error Response Codes\nThe following status codes and associated error messages will be returned if your request encounters a fatal error. Any of these error codes indicate that no data will be processed.\n\n| Error Code       | Reason / Cause                                                   |\n| ---------------- | ---------------------------------------------------------------- |\n| 400 Bad Request  | Bad Syntax                                                       |\n| 401 Unauthorized | Unknown or missing REST API Key                                  |\n| 429 Rate Limited | Over rate limit                                                  |\n| 5XX              | Internal server error, you should retry with exponential backoff |"
  },
  "response": [
  ]
}