api.sale_events

/api/sale_events/

GET /api/sale_events/

Description:

List all Sale Events
can_lock requires_lock has_etag requires_etag
False False False False

Request:

<!-- No XML Request -->

Response:

<sale_events>
    <sale_event uri="/sale_events/X/" id="X" etag="[int]">
        <!-- See GET /sale_events/X/ response for details. -->
    </sale_event>
    [...]
</sale_events>

POST /api/sale_events/

Description:

Create a Sale Event
can_lock requires_lock has_etag requires_etag
False False True False

Request:

<sale_event>
    <start_date>[datetime]</start_date> <!-- Mandatory -->
    <end_date>[datetime]</end_date> <!-- Mandatory -->
    <name>[string]</name>
    <description>[string]</description>
    <on>[boolean]</on>
</sale_event>

Response:

<sale_event uri="/sale_events/X/" id="X">
    <!-- See GET /sale_events/X/ response for details. -->
</sale_event>

/api/sale_events/(d+)/

GET /api/sale_events/(d+)/

Description:

Get details of a Sale Event
can_lock requires_lock has_etag requires_etag
False False True False

Request:

<!-- No XML Request -->

Response:

<sale_event uri="/sale_events/X/" id="X">
    <start_date>[datetime]</start_date>
    <end_date>[datetime]</end_date>
    <name>[string]</name>
    <description>[string]</description>
    <on>[boolean]</on>
    <sale_offers>
        <sale_offer uri="/sale_events/X/sale_offers/Y/" id="Y">
            <!-- See GET /sale_events/X/sale_offers/Y/ response for details -->
        </sale_offer>
        [...]
    </sale_offers>
</sale_event>

PUT /api/sale_events/(d+)/

Description:

Update a Sale Event
can_lock requires_lock has_etag requires_etag
False False True True

Request:

<sale_event>
    <start_date>[datetime]</start_date>
    <end_date>[datetime]</end_date>
    <name>[string]</name>
    <description>[string]</description>
    <on>[boolean]</on>
</sale_event>

Response:

<sale_event uri="/sale_events/X/" id="X">
    <!-- See GET /sale_events/X/ response for details. -->
</sale_event>

DELETE /api/sale_events/(d+)/

Description:

Delete a Sale Event
can_lock requires_lock has_etag requires_etag
False False False True

Request:

<!-- No XML Request -->

Response:

<sale_event uri="/sale_events/X/" id="X" deleted="true"/>

/api/sale_events/(d+)/sale_offers/

GET /api/sale_events/(d+)/sale_offers/

Description:

List all Sale Offers tied to a Sale Event
can_lock requires_lock has_etag requires_etag
False False True False

Request:

<!-- No XML Request -->

Response:

<sale_offers>
    <sale_offer uri="/sale_events/X/sale_offers/Y/" id="Y">
        <!-- See GET /sale_events/X/sale_offers/Y/ response for details. -->
    </sale_offer>
    [...]
</sale_offers>

POST /api/sale_events/(d+)/sale_offers/

Description:

Create a Sale Offer for a Sale Event. etag version of the Sale Event is required.
can_lock requires_lock has_etag requires_etag
False False True True

Request:

<sale_offer>
    <name>[string]</name>
    <discount>
        <percent>[decimal]</percent> <!-- Mutually exclusive with value -->
        <value>[decimal]</value> <!-- Mutually exclusive with percent -->
    </discount>
</sale_offer>

Response:

<sale_offer uri="/sale_events/X/sale_offers/Y/" id="Y">
    <!-- See GET /sale_events/X/sale_offers/Y/ response for details. -->
</sale_offer>

/api/sale_events/(d+)/sale_offers/(d+)/

GET /api/sale_events/(d+)/sale_offers/(d+)/

Description:

Describe a Sale Offer.
can_lock requires_lock has_etag requires_etag
False False True False

Request:

<!-- No XML Request -->

Response:

<sale_offer uri="/sale_events/X/sale_offers/Y/" id="Y">
    <name>[string]</name>
    <discount>
        <percent>[decimal]</percent> <!-- Mutually exclusive with value -->
        <value>[decimal]</value> <!-- Mutually exclusive with percent -->
    </discount>
    <products total_count="[int]"> <!-- Only render total_count attributes if bigger than 10 -->
        <product uri="/products/A/" id="A" full_render="true">
            <!-- See GET /products/X/ response for details. -->
        </product>
        [...] <!-- Up to first 10 products in the offer. --->
    </products>
    <customer_categories>
        <customer_category uri="/setup/customer_categories/B/" id="B">
            <!-- see GET /customer_categories/X/ response for details. -->
        </customer_category>
        [...]
    </customer_categories>
</sale_offer>

PUT /api/sale_events/(d+)/sale_offers/(d+)/

Description:

Update a Sale Offer. etag version of the Sale Event is required.
can_lock requires_lock has_etag requires_etag
False False True True

Request:

<sale_offer>
    <name>[string]</name>
    <discount>
        <percent>[decimal]</percent> <!-- Mutually exclusive with value -->
        <value>[decimal]</value> <!-- Mutually exclusive with percent -->
    </discount>
</sale_offer>

Response:

<sale_offer uri="/sale_events/X/sale_offers/Y/" id="Y">
    <!-- See GET /sale_events/X/sale_offers/Y/ response for details. -->
</sale_offer>

DELETE /api/sale_events/(d+)/sale_offers/(d+)/

Description:

Remove a sale offer. etag version of the Sale Event is required.
can_lock requires_lock has_etag requires_etag
False False True True

Request:

<!-- No XML Request -->

Response:

<sale_offer uri="/sale_events/X/sale_offers/Y/" id="Y" deleted="true"/>

/api/sale_events/(d+)/sale_offers/(d+)/add_customer_categories/

POST /api/sale_events/(d+)/sale_offers/(d+)/add_customer_categories/

Description:

Add many customer categories to a sale offer. etag version of the Sale Event is required.
can_lock requires_lock has_etag requires_etag
False False True True

Request:

<customer_categories>
    <customer_category id="[int]"/>
    [...]
</customer_categories>

Response:

<customer_categories> <!-- Only customer categories that have been added. -->
    <customer_category uri="/setup/customer_categories/X/" id="X" full_render="true">
        <!-- see GET /setup/customer_categories/X/ response for details. -->
    </customer_category>
    [...]
</customer_categories>

/api/sale_events/(d+)/sale_offers/(d+)/add_products/

POST /api/sale_events/(d+)/sale_offers/(d+)/add_products/

Description:

Add products to a sale offer. etag version of the Sale Event is required.
can_lock requires_lock has_etag requires_etag
False False True True

Request:

<products>
    <product id="[int]"/>
    [...]
</products>

Response:

<products> <!-- Only products that have been added. -->
    <product uri="/products/X/" id="X" full_render="true">
        <!-- see GET /products/X/ response for details. -->
    </product>
    [...]
</products>

/api/sale_events/(d+)/sale_offers/(d+)/customer_categories/

GET /api/sale_events/(d+)/sale_offers/(d+)/customer_categories/

Description:

List all categories tied to a sale offer.
can_lock requires_lock has_etag requires_etag
False False True False

Request:

<!-- No XML Request -->

Response:

<customer_categories>
    <customer_category uri="/setup/customer_categories/X/ id="X">
        <!-- see GET /setup/customer_categories/X/ response for details. -->
    </customer_category>
    [...]
</customer_categories>

/api/sale_events/(d+)/sale_offers/(d+)/products/

GET /api/sale_events/(d+)/sale_offers/(d+)/products/

Description:

List all the products tied to a sale offer.
can_lock requires_lock has_etag requires_etag
False False True False

Request:

<!-- No XML Request -->

Response:

<products>
    <product uri="/products/X/" id="X" full_render="true">
        <!-- see GET /products/X/ response for details. -->
    </product>
    [...]
</products>

/api/sale_events/(d+)/sale_offers/(d+)/remove_customer_categories/

POST /api/sale_events/(d+)/sale_offers/(d+)/remove_customer_categories/

Description:

Remove a customer category from a sale offer. etag version of the Sale Event is required.
can_lock requires_lock has_etag requires_etag
False False True True

Request:

<customer_categories>
    <customer_category id="[int]"/>
    [...]
</customer_categories>

Response:

<!-- No XML Response -->

/api/sale_events/(d+)/sale_offers/(d+)/remove_products/

POST /api/sale_events/(d+)/sale_offers/(d+)/remove_products/

Description:

Remove many products from the sale offer at once. etag version of the Sale Event is required.
can_lock requires_lock has_etag requires_etag
False False True True

Request:

<products>
    <product id="[int]"/>
    [...]
</products>

Response:

<!-- No XML Response -->