# DZBuild developer documentation

DZBuild ([dzbuild.com](https://dzbuild.com)) is the e-commerce platform for Algerian merchants: online stores with cash on delivery, courier delivery across the wilayas, landing pages and WhatsApp order messages. A DZBuild app is a service you run on your own servers. A store owner installs it, and your server then reads and changes that store's data through the REST API. None of your code runs on DZBuild.

## What the platform offers[​](#what-the-platform-offers "Direct link to What the platform offers")

| Part              | What it gives your app                                                                                                                                      |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Apps              | You register an app in the developer console. It gets a `client_id`, a client secret and a signing secret.                                                  |
| Install flow      | The store owner approves your app on a consent screen. The flow is OAuth 2.0 authorization code with PKCE `S256`.                                           |
| Install tokens    | Every store that installs your app gets its own bearer token, limited to the scopes the owner approved.                                                     |
| REST API          | `https://api.dzbuild.app/v1` covers the store, products, orders, delivery, customers, landing pages, promo codes, pixels, shipping, analytics and WhatsApp. |
| Webhooks          | DZBuild posts order events and `app.uninstalled` to your URL, signed with `X-DZ-Signature`.                                                                 |
| WhatsApp API      | Your app sends the platform's approved order templates to buyers. Each message is paid from the store's WhatsApp balance.                                   |
| Launch link       | The Open button in the merchant dashboard sends the merchant to your app with a signed token in `dz_launch`.                                                |
| Developer console | `https://dzbuild.com/dashboard/developer` is where you register apps, rotate secrets, test on your own store and submit for review.                         |

## Who it is for[​](#who-it-is-for "Direct link to Who it is for")

These pages are for developers who build tools that DZBuild merchants install from their dashboard. Any DZBuild account that has a store can open the developer console. While an app is a draft or in review, it installs only on stores that the developer account owns. Once DZBuild approves it, any store owner can install it, on any plan, unless you set a minimum plan.

The merchant documentation lives at [dzbuild.com/docs](https://dzbuild.com/docs/intro). It explains the dashboard from the merchant's side.

## Where to go next[​](#where-to-go-next "Direct link to Where to go next")

* [Get started](https://dzbuild.dev/getting-started.md): register an app, install it on your own store and make your first API call.
* [Core concepts](https://dzbuild.dev/concepts.md): apps, installs, stores, plans, test mode, the per-install limit and install tokens.
* [OAuth](https://dzbuild.dev/oauth.md): every authorize and token parameter, and every error code.
* [Scopes](https://dzbuild.dev/scopes.md): what each scope allows.
* [Webhooks](https://dzbuild.dev/webhooks.md): events and signature verification.
* [WhatsApp API](https://dzbuild.dev/whatsapp.md): sending order templates.
* [Rate limits](https://dzbuild.dev/rate-limits.md): request budgets and retries.
* [API reference](https://dzbuild.dev/api-reference.md): every `/v1` endpoint and the OpenAPI description.
* [Review guidelines](https://dzbuild.dev/review-guidelines.md) and [Security](https://dzbuild.dev/security.md): what DZBuild checks before it approves an app.
* [Changelog](https://dzbuild.dev/changelog.md): dated changes to the platform.
