ZRPL

ZEPP API Documentation

Everything you need to integrate the ZEPP commerce layer — authentication, identity verification, catalogue, orders and webhooks. Looking for the complete reference? It also lives on our GitBook.

Introduction

The ZEPP API is a REST API that returns JSON. It exposes identity verification, catalogue, pricing, orders and fulfilment as one plug-and-play layer. Every response is JSON, every error is predictable, and the same primitives power EPP, SPP and brand storefronts alike.

BASEhttps://api.zrpl.co/v1

Authentication

Authenticate every request with a secret API key passed as a Bearer token. Use sandbox keys for testing and live keys in production. Keep secret keys server-side and rotate them anytime from your dashboard without downtime.

auth
curl https://api.zrpl.co/v1/catalogue \
  -H "Authorization: Bearer $ZEPP_KEY"

Quickstart

Verify a buyer, fetch their eligible catalogue, and create an order in three calls. The example below verifies a buyer, lists what they're eligible for, then places an order.

quickstart.js
const zepp = require('@zrpl/zepp')(process.env.ZEPP_KEY);

// 1. verify a buyer by their work/campus email
const buyer = await zepp.auth.verify({ email: 'asha@partner-corp.com' });

// 2. fetch the catalogue eligible for this verified buyer
const items = await zepp.catalogue.list({ token: buyer.token });

// 3. place an order
const order = await zepp.orders.create({
  buyer_token: buyer.token,
  items: [{ sku: 'BRD-204', qty: 1 }],
});

Identity verification

Buyers are verified by matching their email domain against a program's whitelist. Verification returns a short-lived buyer token used for all subsequent calls. Tokens are scoped to a single program and expire automatically, so nothing sensitive stays long-lived.

Programs & closed user groups

A program defines a closed user group (e.g. epp_indigo, spp_iitb), its whitelisted domains, and the pricing rules that apply. A buyer can belong to more than one program, and the API resolves the right prices for each context.

Catalogue

GET/v1/catalogueList products eligible for a verified buyer
GET/v1/products/{id}Retrieve a single product with program pricing

Catalogue responses are scoped to the buyer's program, so prices are always the verified, exclusive prices. Products a buyer isn't eligible for simply never appear in the response.

Orders

POST/v1/ordersCreate an order for a verified buyer
GET/v1/orders/{id}Retrieve order & fulfilment status
create-order response
{
  "id": "ord_7Ha2",
  "status": "confirmed",
  "program": "epp_indigo",
  "total": 2499,
  "currency": "INR"
}

Webhooks

Subscribe to events such as order.confirmed, order.shipped and order.delivered to keep your systems in sync. Each event is signed, so you can verify it genuinely came from ZEPP before acting on it.

POST/v1/webhooksRegister a webhook endpoint

Ready to integrate?

Request sandbox keys and start building on the ZEPP commerce layer today.