Orders
The Orders API provides unified access to orders from multiple marketplaces including Amazon, MercadoLibre, Shopify, and more. Manage order fulfillment, sync status, and process shipments from a single interface.
All endpoints require authentication via Bearer token with orders:read or orders:write scope.
List orders
Returns a paginated list of orders from all connected marketplaces.
Query parameters
- Name
page- Type
- integer
- Description
Page number (default: 1).
- Name
per_page- Type
- integer
- Description
Items per page (default: 20, max: 100).
- Name
status- Type
- string
- Description
Filter by status:
pending,processing,shipped,delivered,cancelled.
- Name
fulfillment_status- Type
- string
- Description
Filter by fulfillment:
unfulfilled,partial,fulfilled.
- Name
channel- Type
- string
- Description
Filter by channel:
amazon,meli,shopify,ebay,web.
- Name
date_from- Type
- datetime
- Description
Orders created after this date.
- Name
date_to- Type
- datetime
- Description
Orders created before this date.
- Name
search- Type
- string
- Description
Search by order number or customer name.
Request
curl -G https://app.price2b.com/api/v1/orders \
-H "Authorization: Bearer {token}" \
-d status=processing \
-d fulfillment_status=unfulfilled \
-d per_page=20
Response
{
"success": true,
"data": {
"orders": [
{
"id": 5001,
"order_number": "ORD-2026-001234",
"channel": "amazon",
"channel_order_id": "114-1234567-1234567",
"status": "processing",
"fulfillment_status": "unfulfilled",
"financial_status": "paid",
"customer": {
"name": "Juan Pérez",
"email": "juan@example.com"
},
"shipping_address": {
"name": "Juan Pérez",
"address1": "Av. Corrientes 1234",
"city": "Buenos Aires",
"state": "C",
"postal_code": "C1043",
"country": "AR"
},
"items": [
{
"id": 10001,
"sku": "PROD-001",
"name": "Wireless Headphones",
"quantity": 2,
"price": 49.99,
"currency": "USD"
}
],
"totals": {
"subtotal": 99.98,
"shipping": 15.00,
"tax": 0.00,
"total": 114.98,
"currency": "USD"
},
"created_at": "2026-01-20T14:30:00Z"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 150,
"last_page": 8
}
}
}
Get order details
Retrieves full details for an order including items, shipments, and timeline.
Request
curl https://app.price2b.com/api/v1/orders/5001 \
-H "Authorization: Bearer {token}"
Response
{
"success": true,
"data": {
"id": 5001,
"order_number": "ORD-2026-001234",
"channel": "amazon",
"channel_order_id": "114-1234567-1234567",
"status": "processing",
"fulfillment_status": "unfulfilled",
"customer": {
"name": "Juan Pérez",
"email": "juan@example.com",
"phone": "+54-11-4000-0000"
},
"billing_address": {"..."},
"shipping_address": {"..."},
"items": [
{
"id": 10001,
"product_id": 12345,
"sku": "PROD-001",
"name": "Wireless Headphones",
"quantity": 2,
"quantity_fulfilled": 0,
"price": 49.99,
"currency": "USD",
"weight": 0.25
}
],
"totals": {
"subtotal": 99.98,
"shipping": 15.00,
"discount": 0.00,
"tax": 0.00,
"total": 114.98,
"currency": "USD"
},
"shipments": [],
"timeline": [
{
"event": "order_created",
"timestamp": "2026-01-20T14:30:00Z",
"description": "Order received from Amazon"
},
{
"event": "payment_received",
"timestamp": "2026-01-20T14:35:00Z",
"description": "Payment confirmed"
}
],
"notes": null,
"created_at": "2026-01-20T14:30:00Z",
"updated_at": "2026-01-20T14:35:00Z"
}
}
Update order
Updates order details. Limited fields can be updated depending on order status.
Updatable attributes
- Name
status- Type
- string
- Description
Order status (if allowed by channel).
- Name
notes- Type
- string
- Description
Internal notes.
- Name
shipping_address- Type
- object
- Description
Shipping address (before fulfillment only).
Request
curl -X PUT https://app.price2b.com/api/v1/orders/5001 \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"notes": "Customer requested gift wrapping"
}'
Response
{
"success": true,
"message": "Order updated successfully",
"data": {
"id": 5001,
"notes": "Customer requested gift wrapping",
"updated_at": "2026-01-31T10:00:00Z"
}
}
Ship order
Creates a shipment for an order and generates shipping labels.
Required attributes
- Name
carrier- Type
- string
- Description
Carrier for shipment:
fedex,ups,dhl, etc.
- Name
service- Type
- string
- Description
Carrier service level.
- Name
packages- Type
- array
- Description
Package details with dimensions and items.
Optional attributes
- Name
warehouse_id- Type
- integer
- Description
Source warehouse for fulfillment.
- Name
notify_customer- Type
- boolean
- Description
Send tracking notification to customer (default: true).
Request
curl -X POST https://app.price2b.com/api/v1/orders/5001/ship \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"carrier": "fedex",
"service": "INTERNATIONAL_ECONOMY",
"packages": [
{
"weight": 0.5,
"length": 20,
"width": 15,
"height": 10,
"items": [
{
"order_item_id": 10001,
"quantity": 2
}
]
}
],
"warehouse_id": 1,
"notify_customer": true
}'
Response
{
"success": true,
"message": "Shipment created successfully",
"data": {
"order_id": 5001,
"shipment_id": 12345,
"tracking_number": "794644790303",
"carrier": "fedex",
"service": "INTERNATIONAL_ECONOMY",
"label_url": "https://app.price2b.com/api/v1/shipping/shipments/12345/label",
"fulfillment_status": "fulfilled",
"notified_customer": true
}
}
Fulfill order
Marks an order as fulfilled with an existing tracking number (for orders shipped outside the system).
Required attributes
- Name
tracking_number- Type
- string
- Description
Carrier tracking number.
- Name
carrier- Type
- string
- Description
Carrier name.
Optional attributes
- Name
items- Type
- array
- Description
Specific items fulfilled (for partial fulfillment).
- Name
notify_customer- Type
- boolean
- Description
Send notification to customer.
Request
curl -X POST https://app.price2b.com/api/v1/orders/5001/fulfill \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"tracking_number": "794644790303",
"carrier": "fedex",
"notify_customer": true
}'
Response
{
"success": true,
"message": "Order marked as fulfilled",
"data": {
"order_id": 5001,
"fulfillment_status": "fulfilled",
"tracking_number": "794644790303",
"carrier": "fedex"
}
}
Cancel order
Cancels an order. Only available for unfulfilled orders.
Optional attributes
- Name
reason- Type
- string
- Description
Cancellation reason.
- Name
notify_customer- Type
- boolean
- Description
Send cancellation notification.
Request
curl -X POST https://app.price2b.com/api/v1/orders/5001/cancel \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"reason": "Customer requested cancellation",
"notify_customer": true
}'
Response
{
"success": true,
"message": "Order cancelled successfully",
"data": {
"order_id": 5001,
"status": "cancelled",
"cancelled_at": "2026-01-31T10:00:00Z"
}
}
List order shipments
Returns all shipments associated with an order.
Request
curl https://app.price2b.com/api/v1/orders/5001/shipments \
-H "Authorization: Bearer {token}"
Response
{
"success": true,
"data": {
"shipments": [
{
"id": 12345,
"tracking_number": "794644790303",
"carrier": "fedex",
"service": "INTERNATIONAL_ECONOMY",
"status": "in_transit",
"items": [
{
"order_item_id": 10001,
"sku": "PROD-001",
"quantity": 2
}
],
"created_at": "2026-01-31T10:00:00Z"
}
]
}
}
Sync orders
Triggers a manual sync of orders from connected marketplaces.
Optional attributes
- Name
channels- Type
- array
- Description
Specific channels to sync:
amazon,meli,shopify.
- Name
since- Type
- datetime
- Description
Only sync orders created after this date.
Request
curl -X POST https://app.price2b.com/api/v1/orders/sync \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"channels": ["amazon", "meli"],
"since": "2026-01-01T00:00:00Z"
}'
Response
{
"success": true,
"message": "Order sync started",
"data": {
"sync_id": "SYNC-2026-001",
"status": "processing",
"channels": ["amazon", "meli"]
}
}
Get sync status
Returns the status of the last order sync operation.
Request
curl https://app.price2b.com/api/v1/orders/sync/status \
-H "Authorization: Bearer {token}"
Response
{
"success": true,
"data": {
"last_sync": {
"sync_id": "SYNC-2026-001",
"status": "completed",
"started_at": "2026-01-31T10:00:00Z",
"completed_at": "2026-01-31T10:02:30Z",
"channels": {
"amazon": {
"orders_synced": 15,
"orders_new": 3,
"orders_updated": 12
},
"meli": {
"orders_synced": 8,
"orders_new": 2,
"orders_updated": 6
}
}
},
"next_scheduled_sync": "2026-01-31T10:15:00Z"
}
}