Flower Shop Network Orders API

Wire order receipt, acceptance, sending, and delivery

OpenAPI Specification

flower-shop-network-orders-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Flower Shop Network JSON Authentication Orders API
  description: The Flower Shop Network (FSN) JSON API is a REST-style HTTPS interface that allows florist point-of-sale systems and partners to authenticate, look up products and florists, and exchange wire orders across the FSN florist network. All endpoints accept and return JSON and require an API token.
  version: 1.0.0
  contact:
    name: Flower Shop Network
    url: https://api.flowershopnetwork.com/
servers:
- url: https://api.flowershopnetwork.com/api
  description: Production
- url: https://dev-api.flowershopnetwork.com/api
  description: Development
tags:
- name: Orders
  description: Wire order receipt, acceptance, sending, and delivery
paths:
  /RelayOrder.apiGetOrder:
    post:
      tags:
      - Orders
      summary: Retrieve order details
      parameters:
      - $ref: '#/components/parameters/Token'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - orderId
              properties:
                orderId:
                  type: string
      responses:
        '200':
          description: Order details (includes tipping info)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
  /RelayOrder.apiReceiveOrders:
    post:
      tags:
      - Orders
      summary: Receive incoming orders awaiting accept/refuse
      parameters:
      - $ref: '#/components/parameters/Token'
      responses:
        '200':
          description: Pending orders
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Order'
  /RelayOrder.apiAcceptOrder:
    post:
      tags:
      - Orders
      summary: Accept an incoming order
      parameters:
      - $ref: '#/components/parameters/Token'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - orderId
              properties:
                orderId:
                  type: string
      responses:
        '200':
          description: Acceptance confirmation
  /RelayOrder.apiRefuseOrder:
    post:
      tags:
      - Orders
      summary: Refuse an incoming order
      parameters:
      - $ref: '#/components/parameters/Token'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - orderId
              properties:
                orderId:
                  type: string
                reason:
                  type: string
      responses:
        '200':
          description: Refusal confirmation
  /RelayOrder.apiSendOrder:
    post:
      tags:
      - Orders
      summary: Send a florist-to-florist order
      parameters:
      - $ref: '#/components/parameters/Token'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Order'
      responses:
        '200':
          description: Send result
          content:
            application/json:
              schema:
                type: object
                properties:
                  orderId:
                    type: string
  /RelayOrder.apiConfirmDelivery:
    post:
      tags:
      - Orders
      summary: Confirm order delivery
      parameters:
      - $ref: '#/components/parameters/Token'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - orderId
              properties:
                orderId:
                  type: string
                deliveredAt:
                  type: string
                  format: date-time
                notes:
                  type: string
      responses:
        '200':
          description: Delivery confirmed
  /RelayOrder.apiGetDeliveryConfirmation:
    post:
      tags:
      - Orders
      summary: Retrieve delivery confirmation
      parameters:
      - $ref: '#/components/parameters/Token'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - orderId
              properties:
                orderId:
                  type: string
      responses:
        '200':
          description: Delivery confirmation record
          content:
            application/json:
              schema:
                type: object
                properties:
                  orderId:
                    type: string
                  deliveredAt:
                    type: string
                    format: date-time
                  signature:
                    type: string
                  notes:
                    type: string
components:
  parameters:
    Token:
      name: __token
      in: query
      required: true
      description: FSN API authentication token
      schema:
        type: string
  schemas:
    Order:
      type: object
      properties:
        orderId:
          type: string
        recipient:
          type: object
          properties:
            name:
              type: string
            address:
              type: string
            city:
              type: string
            state:
              type: string
            postalCode:
              type: string
            country:
              type: string
            phone:
              type: string
        items:
          type: array
          items:
            type: object
            properties:
              productId:
                type: string
              description:
                type: string
              price:
                type: number
        deliveryDate:
          type: string
          format: date
        tax:
          type: object
          properties:
            gst:
              type: number
            hst:
              type: number
            pst:
              type: number
            qst:
              type: number
        tip:
          type: number
        total:
          type: number