Getting Started
This guide walks you through setting up a direct API integration with the Gett platform. You'll learn how to authenticate, set up your development environment, and make your first API calls.
What You Can Build
With the API integration, you have complete control over the user experience:
- Find Stores — Search for stores by location, cuisine, or keyword
- Browse Menus — Display complete CatalogSets with sections, items, and customization options
- Manage Carts — Add, update, and remove items with full modifier support
- Process Orders — Validate and place orders with delivery or pickup fulfillment
- Handle Payments — Secure payment processing with PCI-compliant infrastructure
Key Concepts
| Concept | Description |
|---|---|
| Store | A merchant/restaurant offering food delivery |
| CatalogSet | The complete menu structure (immutable, highly cacheable) |
| Catalog | A specific menu within a CatalogSet (e.g., "Lunch Menu") with availability windows |
| Section | A menu category (e.g., "Appetizers") containing items |
| Item | A purchasable food product with pricing and optional modifiers |
| ModifierGroup | Customization options for items (e.g., "Size", "Toppings") |
| Cart | Shopping cart with line items (managed by your application) |
| Order | A validated cart submitted for fulfillment |
Prerequisites
| Requirement | Description |
|---|---|
| Partner Account | Contact our partnerships team to register |
| API Key | Secret key for server-to-server authentication (details) |
| Backend Server | A server to make authenticated API calls |
Step 1: Get Your Credentials
After registering as a partner, you'll receive:
| Credential | Environment | Purpose |
|---|---|---|
| Sandbox API Key | Development | Testing and development |
| Production API Key | Live | Production deployments |
Step 2: Set Up Your Environment
Environment Variables
Code
Base URLs
| Environment | Base URL |
|---|---|
| Sandbox | https://api-sandbox.gett-tech.com/v1 |
| Production | https://api.gett-tech.com/v1 |
Step 3: Make Your First API Call
Find Stores
Search for stores available for delivery at a given location:
Code
Response:
Code
Get a Store's Menu
Fetch the CatalogSet (this is cacheable!):
Code
Step 4: Test in Sandbox
The sandbox environment provides test data for development:
Test Addresses
| Address | Location | Available Stores |
|---|---|---|
123 Test Street, New York, NY 10001 | NYC | Multiple test stores |
456 Demo Avenue, Los Angeles, CA 90001 | LA | Multiple test stores |
Test Stores
| Store ID | Name | Features |
|---|---|---|
store_pizza_test | Pizza Palace | Full menu, delivery & pickup |
store_burger_test | Burger Barn | Simple menu, delivery only |
store_sushi_test | Sushi Supreme | Complex menu, pickup only |
Each store's supported fulfillment types are exposed on the Store response via the top-level deliveryAllowed and pickupAllowed flags. Use these to filter discovery results and to label restaurant cards — do not infer capability from the presence of a delivery zone or from a store name.
Per-store capability flags (how a supported mode can be used) are nested under options:
| Field | Meaning |
|---|---|
options.acceptsDeliveryTips | Whether this store accepts tips on delivery orders. |
options.acceptsPickupTips | Whether this store accepts tips on pickup orders. |
Hide the tip input in your UI (and send amounts.tip = 0) when the relevant flag is false. Submitting a non-zero tip for a mode the store doesn't accept tips in will fail validation. Tips are submitted as amounts.tip on validateOrder and placeOrder requests — see Order Amounts in the Payments guide for the full amounts shape. The options object may include additional fields in future API versions — your client should ignore any field it doesn't recognize.
Test Payment Cards
| Card Number | Result |
|---|---|
4111 1111 1111 1111 | Successful payment |
4000 0000 0000 0002 | Payment declined |
4000 0000 0000 9995 | Insufficient funds |
Use any future expiration date and any 3-digit CVV. See Payments for more details on payment integration.
Step 5: Implement the Order Flow
A typical order flow involves these API calls in sequence:
Every call uses your partner API key — there is no session layer on the partner API surface. Supply the Idempotency-Key header on placeOrder to make order submission safe to retry:
Code
See the Order Lifecycle for state machine details, and the API Reference for request/response schemas.
Going to Production
When you're ready to go live:
- Switch to your Production API Key
- Update the base URL to
https://api.gett-tech.com/v1 - Remove any test data references
- Verify the integration with a small batch of real orders
See the API Reference for rate limits, caching strategies, and security best practices.
Next Steps
- Authentication — API keys, environments, and security best practices
- Order Lifecycle — State machine and status transitions
- Payments — Payment integration options
- Schemas — Type definitions and data models
- API Reference — Complete endpoint documentation