Core Concepts

Getting Started with GraphQL

What is GraphQL?

GraphQL is a query language for data that is available via API. It allows the developer to ask for exactly the data wanted, in the shape wanted.

Relative to a REST API, GraphQL has the following benefits:

  • Ability to ask for the fields needed, rather than provide all the fields

  • Well supported, good client libraries

  • Allows for joins between data dimensions in a real-time request

For more information, visit https://graphql.org/.

Choosing GraphQL vs REST with Zaius

Bulk data

For bulk data, use the Zaius Exports API (REST). This endpoint is built for high throughput, but with the cost of high latency. If you want to sync large amounts of data from Zaius to another platform, this is the right choice.

Example: Export all customers along with their current lifetime value and revenue percentiles.

Point data that crosses dimensions

For data about a single thing (like a set of events or a customer), but which requires joining across dimensions (such as adding product details), use the GraphQL endpoint. This endpoint allows for joins on a single point in real time across dimensions.

Example: Retrieve details about a purchase, and add in product details like the name and image url.

Single-purpose point data

For data limited to a single point on a single dimension, either approach is available and it's a matter of preference.

Example: Retrieve consent or reachability details for an identifier.