Quick Start

Getting Started

Get up and running with the Techzola API in under 5 minutes. Our sandbox environment gives you instant access to test endpoints with realistic data.

1

Create a Sandbox Account

Sign up for free and receive API credentials instantly.

Get sandbox access →
2

Get Your API Key

You'll receive a client ID and secret via email.

3

Make Your First Request

Use our examples or the GraphQL Playground to test.

cURL
# Get an access token
curl -X POST https://sandbox.api.techzola.com/oauth/token \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET",
    "grant_type": "client_credentials"
  }'

# Response
{
  "access_token": "eyJhbGciOiJSUzI1NiIs...",
  "token_type": "Bearer",
  "expires_in": 3600
}
Security

Authentication

The Techzola API uses OAuth 2.0 with JWT tokens for secure authentication. All API requests must include a valid bearer token.

OAuth 2.0 Client Credentials

For server-to-server integrations, use the client credentials flow. Exchange your client ID and secret for an access token.

  • JWT tokens with RS256 signing
  • Tokens valid for 1 hour
  • Automatic token refresh supported
  • Scoped permissions per integration

API Key Authentication

For simpler integrations, you can use API key authentication. Include your key in the X-API-Key header.

Header
Authorization: Bearer eyJhbGciOiJS...
// or
X-API-Key: tzk_live_a1b2c3d4e5f6...

Environment URLs

Use sandbox for development, production for live integrations.

# Sandbox (development)
https://sandbox.api.techzola.com

# Production
https://api.techzola.com
Primary API

GraphQL API

Our GraphQL API is the recommended way to interact with Techzola. Request exactly the data you need, reduce over-fetching, and build efficient integrations.

Key Features

  • Single Endpoint — All operations through one URL
  • Strongly Typed — Full schema with introspection
  • Real-time Subscriptions — WebSocket support for live updates
  • Batching — Multiple queries in a single request
  • Cursor Pagination — Efficient navigation of large datasets

GraphQL Playground

Explore the API interactively. Write queries, see responses, and browse the schema documentation.

Open GraphQL Playground
GraphQL Query
# Fetch products with inventory
query GetProducts($first: Int!, $after: String) {
  products(first: $first, after: $after) {
    edges {
      node {
        id
        sku
        name
        description
        price {
          amount
          currency
        }
        inventory {
          totalAvailable
          byLocation {
            locationId
            available
            reserved
          }
        }
        categories { name }
        images { url altText }
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}
GraphQL Mutation
# Create an order
mutation CreateOrder($input: OrderInput!) {
  createOrder(input: $input) {
    order {
      id
      orderNumber
      status
      total { amount currency }
      lines {
        productId
        quantity
        unitPrice { amount }
      }
    }
    errors {
      field
      message
    }
  }
}
Alternative

REST API

Prefer REST? We've got you covered. Full OpenAPI 3.0 specification with all endpoints documented.

Products

Create, read, update, and delete products. Manage variants, pricing, and inventory.

GET /v1/products

Orders

Create orders, process payments, handle returns. Full order lifecycle management.

POST /v1/orders

Customers

Customer profiles, addresses, purchase history, and loyalty status.

GET /v1/customers

Inventory

Real-time stock levels across locations. Transfers, adjustments, and reservations.

GET /v1/inventory

Locations

Stores, warehouses, and fulfillment centers. Hours, addresses, and settings.

GET /v1/locations

Payments

Payment processing, refunds, and reconciliation with integrated providers.

POST /v1/payments
Business Intelligence

oData API for Power BI

Already invested in Power BI, Tableau, or Qlik? Connect directly via our OData v4 endpoints. Pull Techzola data into your existing BI stack with scheduled refreshes.

Available oData Entities

Sales
Transactions
Products
Inventory
Customers
Locations
LoyaltyMembers
StaffPerformance
  • OData v4 Compliant — Works with any OData client
  • Power BI Template — Pre-built dashboard starter
  • Scheduled Refresh — Hourly or daily data updates
  • 13 Months History — Full YoY comparison data
oData Query Examples
# Get daily sales summary
GET /odata/v4/Sales
  ?$filter=TransactionDate ge 2024-01-01
  &$select=StoreId,TransactionDate,
    GrossSales,NetSales,Transactions
  &$expand=Store,Channel

# YoY comparison query
GET /odata/v4/Sales
  ?$apply=groupby((StoreId,year(TransactionDate)),
    aggregate(NetSales with sum as TotalSales))

# Response
{
  "@odata.context": "$metadata#Sales",
  "value": [
    {
      "StoreId": "101",
      "TransactionDate": "2024-12-12",
      "GrossSales": 142800.00,
      "NetSales": 138450.00,
      "Transactions": 287,
      "Store": {
        "Name": "Stockholm Flagship"
      }
    }
  ]
}
Real-time Events

Webhooks

Subscribe to events and receive real-time notifications when things happen in Techzola. Orders placed, inventory updated, customers created—we'll tell you instantly.

Available Events

order.created
order.updated
order.completed
order.cancelled
inventory.updated
inventory.low_stock
customer.created
customer.updated
product.created
product.updated
  • HMAC Signatures — Verify webhook authenticity
  • Automatic Retries — Failed deliveries retry with backoff
  • Event Replay — Re-send events from the dashboard
  • Filtering — Subscribe only to events you need
Webhook Payload
{
  "id": "evt_8x7h2k9j3m",
  "type": "order.created",
  "created_at": "2024-01-15T14:30:00Z",
  "data": {
    "order": {
      "id": "ord_abc123",
      "order_number": "TZ-2024-00142",
      "status": "confirmed",
      "total": {
        "amount": 1499.00,
        "currency": "SEK"
      },
      "channel": "pos",
      "location_id": "loc_store_101",
      "customer": {
        "id": "cus_xyz789",
        "email": "customer@example.com"
      },
      "line_items": [
        {
          "product_id": "prod_123",
          "quantity": 2,
          "unit_price": 749.50
        }
      ]
    }
  },
  "metadata": {
    "correlation_id": "req_xyz..."
  }
}
Libraries

SDKs & Code Samples

Get started faster with our official SDKs and code examples.

JavaScript / Node.js

TypeScript definitions included. Works in Node.js and browsers.

npm install @techzola/sdk
View on GitHub

Python

Async support with asyncio. Type hints for IDE autocomplete.

pip install techzola
View on GitHub

PHP

PSR-compliant. Works with Laravel, Symfony, and vanilla PHP.

composer require techzola/sdk
View on GitHub

Need a different language? Use our REST API with any HTTP client.

View All Repositories
Updates

API Changelog

Stay up to date with the latest API changes, new features, and deprecations.

December 2024 v2.4.0

GraphQL Subscriptions for Inventory

  • Real-time inventory updates via WebSocket subscriptions
  • New inventoryUpdated subscription type
  • Support for filtering by location and product
November 2024 v2.3.0

Multi-Currency Pricing

  • Products can now have prices in multiple currencies
  • Automatic currency conversion with configurable rates
  • New prices field on Product type
October 2024 v2.2.0

Enhanced Webhook Filtering

  • Filter webhooks by location, channel, or customer segment
  • New webhook management endpoints
  • Improved retry logic with exponential backoff

Need Help?

Our developer support team is here to help you build successful integrations. From architecture questions to debugging, we've got your back.

  • Developer Slack — Join our community for quick answers
  • Email Support — Priority response for Premium customers
  • Office Hours — Weekly live Q&A sessions
  • Custom Workshops — Enterprise onboarding sessions

Developer Support

Get help from our team of integration specialists.

Contact Developer Support

hello@techzola.com

Ready to Start Building?

Get instant access to the Techzola API sandbox. Full documentation, realistic test data, and all the tools you need.