Unified Order Service
Home
Getting Started
  • Core API
  • Drone API
Resources
Home
Getting Started
  • Core API
  • Drone API
Resources
  • Introduction

    • Getting Started
    • System Overview
    • Authentication
  • Core Concepts

    • Working with Orders
    • Working with Channels
    • Places
    • Storage Locations
    • Places Management Dashboard
  • Integration

    • Webhooks
    • Order Status Workflows
    • FCM Push Notifications
  • Advanced Topics

    • API Keys
    • Order Versioning
    • Picking App Integration Guide
    • Subscriptions
    • Cancellation Reasons

Places

This guide explains how to work with places in the Unified Order Service (UOS) API.

What is a Place?

In the UOS system, a "place" represents a physical or virtual location associated with a channel, such as:

  • Stores
  • Warehouses
  • Fulfillment centers
  • Virtual storefronts

Places are used to organize orders and provide location-specific settings and data.

Creating a Place

To create a new place, send a POST request to the /v1/places endpoint with the place data.

curl -X POST "https://api.uos.example.com/v1/places" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "identifier": "store-123",
    "channel_id": "channel-456",
    "name": "Main Store",
    "active": true,
    "active_for_ordering": true,
    "address": {
      "line1": "123 Main St",
      "city": "Metropolis",
      "postal_code": "12345",
      "country": "US"
    }
  }'

Retrieving Places

To retrieve a list of places for a specific channel, send a GET request to the /v1/places endpoint.

curl -X GET "https://api.uos.example.com/v1/places?channel_id=channel-456" \
  -H "Authorization: Bearer YOUR_API_KEY"

Updating a Place

To update an existing place, send a PUT request to the /v1/places/{placeId} endpoint.

curl -X PUT "https://api.uos.example.com/v1/places/place-123" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "identifier": "store-123",
    "name": "Main Store - Updated",
    "active": true,
    "active_for_ordering": true,
    "address": {
      "line1": "123 Main St",
      "city": "Metropolis",
      "postal_code": "12345",
      "country": "US"
    }
  }'

Managing Channel Associations

Places can be associated with multiple channels. One channel is always designated as the primary channel.

Adding a Place to a Channel

To add a place to an additional channel, send a POST request to the /v1/places/{placeId}/channels/{channelId} endpoint.

curl -X POST "https://api.uos.example.com/v1/places/place-123/channels/channel-789" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "is_primary": false
  }'

Removing a Place from a Channel

To remove a place from a channel, send a DELETE request to the /v1/places/{placeId}/channels/{channelId} endpoint.

curl -X DELETE "https://api.uos.example.com/v1/places/place-123/channels/channel-789" \
  -H "Authorization: Bearer YOUR_API_KEY"

Note: You cannot remove a place from its primary channel unless you first designate another channel as the primary channel.

Place Field Reference

FieldTypeDescription
identifierstringUnique identifier for the place (within channel)
channel_idstringID of the primary channel
channel_idsarrayArray of all channel IDs this place belongs to
namestringDisplay name of the place
activebooleanWhether the place is active
active_for_orderingbooleanWhether the place can accept orders
sales_channelstringType of sales channel (e.g., "brick-and-click")
addressobjectPhysical address of the place
coordinatesobjectGeographic coordinates (latitude, longitude)
chainobjectChain information if the place belongs to a chain
contactobjectContact information
business_namestringOfficial business name
business_idstringOfficial business identifier
metadataobjectAdditional custom data
Last Updated: 12/1/25, 11:31 AM
Prev
Working with Channels
Next
Storage Locations