API Documentation

Welcome to the PosDo API documentation. This REST API allows you to integrate your applications with PosDo's restaurant management platform.

Note: All API endpoints require authentication. Make sure to include your API key in all requests.

Base URL

All API requests should be made to the following base URL:

Base URL
https://pos.do/api/v1

Authentication

The PosDo API uses Bearer token authentication. Include your API key in the Authorization header of every request:

HTTP Header
Authorization: Bearer YOUR_API_KEY

Replace YOUR_API_KEY with your actual API key. You can obtain your API key from your account dashboard.

Orders

The Orders API allows you to create, retrieve, update, and manage restaurant orders programmatically.

GET /orders

Retrieve a paginated list of orders with optional filtering.

Query Parameters

Parameter Type Description
status string Filter by order status: pending, completed, cancelled
limit integer Number of results per page (default: 20, max: 100)
page integer Page number for pagination (default: 1)
POST /orders

Create a new order with customer details and line items.

Request Body

JSON
{
  "customer_id": "123",
  "items": [
    {
      "menu_item_id": "456",
      "quantity": 2,
      "notes": "No onions"
    }
  ],
  "delivery_address": "123 Main St",
  "payment_method": "card"
}
GET /orders/{id}

Retrieve details of a specific order by its unique identifier.

PUT /orders/{id}/status

Update the status of an existing order.

Request Body

JSON
{
  "status": "completed"
}

Reservations

Handle table reservations and booking management through the Reservations API.

GET /reservations

Get a list of restaurant reservations with optional filters.

Query Parameters

Parameter Type Description
date date Filter by reservation date (format: YYYY-MM-DD)
status string Filter by status: confirmed, pending, cancelled
POST /reservations

Create a new table reservation for your restaurant.

Request Body

JSON
{
  "customer_name": "John Doe",
  "customer_email": "john@example.com",
  "customer_phone": "+1234567890",
  "date": "2024-12-25",
  "time": "19:30",
  "party_size": 4,
  "special_requests": "Window table preferred"
}

Response Codes

The PosDo API uses standard HTTP response codes to indicate the success or failure of requests.

Code Status Description
200 Success Request completed successfully
201 Created Resource created successfully
400 Error Bad Request - Invalid parameters or malformed request
401 Error Unauthorized - Authentication credentials missing or invalid
404 Error Not Found - The requested resource doesn't exist
429 Error Too Many Requests - Rate limit exceeded
500 Error Internal Server Error - Something went wrong on our end

Rate Limiting

API requests are limited to 1000 requests per hour per API key. Rate limit information is included in the response headers of every request.

Response Headers
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200
Best Practices:
  • Cache responses when possible to reduce API calls
  • Implement exponential backoff for retries
  • Monitor rate limit headers in your application
  • Contact support if you need higher limits for production use

Error Handling

When an error occurs, the API returns a JSON response with error details:

Error Response
{
  "error": {
    "code": "invalid_request",
    "message": "Missing required parameter: customer_id",
    "param": "customer_id"
  }
}

Support

Need help with the PosDo API? Our developer support team is here to assist you.

Email Support

hello@pos.do

Response within 24 hours

GitHub

posdo/api-docs

Examples and SDKs

API Status

pos.do/status

Real-time uptime monitoring

!

Contacta'ns!

T'ajudem amb qualsevol dubte