Skip to content

Latest commit

 

History

History
69 lines (44 loc) · 2.43 KB

09. Advanced Attributes.md

File metadata and controls

69 lines (44 loc) · 2.43 KB

FORMAT: 1A

Advanced Attributes API

Improving the previous Attributes description example, this API example describes the Coupon resource attributes (data structure) regardless of the serialization format. These attributes can be later referenced using the resource name

These attributes are then reused in the Retrieve a Coupon action. Since they describe the complete message, no explicit JSON body example is needed.

Moving forward, the Coupon resource data structure is then reused when defining the attributes of the coupons collection resource – Coupons.

The Create a Coupon action also demonstrate the description of request attributes – once defined, these attributes are implied on every Create a Coupon request unless the request specifies otherwise. Apparently, the description of action attributes is somewhat duplicate to the definition of Coupon resource attributes. We will address this in the next Data Structures example.

API Blueprint

Group Coupons

Coupon [/coupons/{id}]

A coupon contains information about a percent-off or amount-off discount you might want to apply to a customer.

  • Parameters

    • id (string)

      The ID of the desired coupon.

  • Attributes (object)

    • id: 250FF (string)

    • created: 1415203908 (number) - Time stamp

    • percent_off: 25 (number)

      A positive integer between 1 and 100 that represents the discount the coupon will apply.

    • redeem_by (number) - Date after which the coupon can no longer be redeemed

Retrieve a Coupon [GET]

Retrieves the coupon with the given ID.

  • Response 200 (application/json)
    • Attributes (Coupon)

Coupons [/coupons{?limit}]

  • Attributes (array[Coupon])

List all Coupons [GET]

Returns a list of your coupons.

  • Parameters

    • limit (number, optional)

      A limit on the number of objects to be returned. Limit can range between 1 and 100 items.

      • Default: 10
  • Response 200 (application/json)

    • Attributes (Coupons)

Create a Coupon [POST]

Creates a new Coupon.

  • Attributes (object)

    • percent_off: 25 (number)
    • redeem_by (number)
  • Request (application/json)

  • Response 200 (application/json)

    • Attributes (Coupon)