CPS Order API Reference
Complete read-only API endpoints for the CPS Order Management System
Read-Only Order API Schema Documentation
Overview
Complete read-only API endpoints for the CPS Order Management System. All endpoints return JSON data and support order tracking, status management, shipping status tracking, customer feedback collection, and envelope generation.
Base URL
Data Models
Order Schema
Sales Summary Schema
Order Endpoints
GET /api/orders/pending
Get all pending orders from Google Sheets.
Response Example:
GET /api/orders/completed
Get all paid orders.
Response: Array of Order objects with status “paid”
GET /api/orders/cancelled
Get all cancelled orders.
Response: Array of Order objects with status “cancelled”
GET /api/orders/summary
Get sales summary statistics.
Response Example:
POST /api/orders
Create a new order in Google Sheets.
Request Body:
Response: Created Order object with generated order number
PUT /api/orders/:id
Update order status.
Parameters:
id(string): Order ID
Request Body:
Response: Updated Order object
POST /api/orders/:id/update-shipping
Update shipping status toggle (Column P).
Parameters:
id(string): Order ID
Request Body:
Response:
POST /api/orders/:orderNumber/feedback
Submit customer feedback (Column Q).
Parameters:
orderNumber(string): Order number (e.g., “UDCGENERAL25-0001”)
Request Body:
Response:
Envelope Generation Endpoints
GET /api/envelope/png/:orderId
Generate PNG shipping label for order.
Parameters:
orderId(string): Order ID
Response: PNG image file with shipping label
Label Format:
- Top line: Order summary (e.g., “CPS-0001 Photo#100-4x6 (2)”)
- Return address: Convention Photography Services address
- Recipient box: Name, address, city/state/ZIP
GET /api/envelope/docx/:orderId
Generate DOCX shipping label for order.
Parameters:
orderId(string): Order ID
Response: DOCX file with editable shipping label
System Endpoints
GET /api/event-prefix
Get event prefix for order number generation.
Response Example:
Response Headers
All API responses include:
Error Responses
Standard error format:
Common HTTP Status Codes:
200- Success404- Order not found500- Internal server error
Integration Notes
Google Sheets Backend
All order data stored in Google Sheets with:
- Real-time sync: Orders update in real-time from spreadsheet
- 30-second cache: Order data cached for performance
- Automatic refresh: Cache refreshed after updates
- Column P: Shipping status toggle (shipped/ship)
- Column Q: Customer feedback collection
Email Automation
- SendGrid delivery: Professional receipt emails
- SMTP fallback: Alternative delivery method
- Envelope attachments: Both PNG and DOCX formats included
This API provides complete read-only access to the order management system with real-time Google Sheets integration, automated email delivery, shipping status tracking, and customer feedback collection.