---
swagger: '2.0'
info:
  title: Dipli API
  version: 2.0.0
host: bi.agora.place
schemes:
- https
- http
consumes:
- application/json
produces:
- application/json
paths:
  "/api-drop/v2/stock":
    get:
      summary: Returns stock for dropship partner.
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        '200':
          description: Returns stock for dropship partner
          schema:
            properties:
              '71234567':
                "$ref": "#/definitions/ProductDrop"
            type: object
        '400':
          description: Bad request
          schema:
            "$ref": "#/definitions/BadResponse"
        '500':
          description: Internal server error
          schema:
            "$ref": "#/definitions/InternalResponse"
      tags:
      - dropshipping
  "/api-drop/v2/orders":
    get:
      summary: Returns orders for dropship partner.
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: new
        in: query
        required: false
        description: get new orders only
        type: boolean
        default: 'false'
      - name: createdAt
        in: query
        required: false
        description: 'date of oldier order (format: yyyy-mm-dd)'
        type: string
      - name: updatedAt
        in: query
        required: false
        description: 'date of oldier order update (format: yyyy-mm-dd)'
        type: string
      - name: status
        in: query
        required: false
        description: status of order ('ongoing_shipping' / 'error_shipping' / 'cancelled'
          / 'pending_confirmation' / 'shipped')
        type: string
      - name: page
        in: query
        required: false
        description: actual page
        type: string
        default: '1'
      - name: pageSize
        in: query
        required: false
        description: page's size
        type: string
        default: '50'
      responses:
        '200':
          description: Returns orders for dropship partner
          schema:
            properties:
              count:
                description: number of items
                type: integer
              page:
                description: current page
                type: integer
              pageSize:
                description: number of items per page
                type: integer
              result:
                description: array of result
                items:
                  "$ref": "#/definitions/OrderDrop"
                type: array
            type: object
        '400':
          description: Bad request
          schema:
            "$ref": "#/definitions/BadResponse"
        '500':
          description: Internal server error
          schema:
            "$ref": "#/definitions/InternalResponse"
      tags:
      - dropshipping
    post:
      summary: Create an order for dropship partner.
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: data
        in: body
        required: true
        schema:
          required:
          - alternative_id
          - product_id
          - buyer
          - street
          - postcode
          - city
          - country
          - buyer_phone
          - buyer_email
          properties:
            alternative_id:
              description: order's partner ID
              type: string
            product_id:
              description: product's dropship ID
              type: integer
            buyer:
              description: order's buyer
              type: string
            street:
              description: street
              type: string
            additional_street:
              description: additional_street
              type: string
            postcode:
              description: postcode
              type: string
            city:
              description: city
              type: string
            country:
              description: country
              type: string
            buyer_phone:
              description: buyer's phone
              type: string
            buyer_email:
              description: buyer's email
              type: string
            extra:
              description: order's extra
              type: string
          type: object
      responses:
        '200':
          description: create an order for dropship partner
          schema:
            allOf:
            - "$ref": "#/definitions/SuccessResponse"
            - required:
              - public_id
              properties:
                public_id:
                  description: order's public id
                  example: A-12345
                  type: string
              type: object
        '400':
          description: Bad request
          schema:
            "$ref": "#/definitions/BadResponse"
        '500':
          description: Internal server error
          schema:
            "$ref": "#/definitions/InternalResponse"
      tags:
      - dropshipping
  "/api-drop/v2/orders/{publicId}":
    get:
      summary: Returns an order for dropship partner.
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: publicId
        in: path
        required: true
        type: string
      responses:
        '200':
          description: Returns an order for dropship partner
          schema:
            "$ref": "#/definitions/OrderDrop"
        '400':
          description: Bad request
          schema:
            "$ref": "#/definitions/BadResponse"
        '404':
          description: Not found
          schema:
            "$ref": "#/definitions/NotFoundResponse"
        '500':
          description: Internal server error
          schema:
            "$ref": "#/definitions/InternalResponse"
      tags:
      - dropshipping
definitions:
  SuccessResponse:
    properties:
      code:
        example: 200
        type: integer
      msg:
        example: Success
        type: string
    type: object
  BadResponse:
    properties:
      code:
        example: 400
        type: integer
      msg:
        example: Bad Request
        type: string
    type: object
  NotFoundResponse:
    properties:
      code:
        example: 404
        type: integer
      msg:
        example: Not Found
        type: string
    type: object
  InternalResponse:
    properties:
      code:
        example: 500
        type: integer
      msg:
        example: Internale Server Error
        type: string
    type: object
  ProductDrop:
    properties:
      name:
        example: Apple iPhone 8 64
        type: string
      grade:
        example: Grade A
        type: string
      color:
        example: Blanc
        type: string
      skus:
        example: '["APP_IPH_8_64", "MY_SUPER_SKU"]'
        type: array
      stock:
        example: 4
        type: integer
      finalprice:
        example: 110
        type: integer
      id:
        example: '71234567'
        type: string
    type: object
  OrderDrop:
    properties:
      id:
        example: 111111
        type: integer
      public_id:
        example: A-111111
        type: string
      by_agora:
        example: true
        type: boolean
      to_ship:
        example: true
        type: boolean
      order_at:
        example: '2022-09-05T14:34:30+01:00'
        type: string
      delivered_at:
        example: '2022-09-11T10:30:10+01:00'
        type: string
      bordereau_url:
        example: 762b60bbe9f82bca7b80f5747fe959a4
        type: string
      payment_status:
        example: payment_received
        type: string
      shipping_status:
        example: pending_confirmation
        type: string
      billing_address_json:
        example: '{"street":"a","additionnal":"a","postcode":"75000","city":"a","country":"FR","firstname":"a","lastname":"a","company":"A",
          "type":"billing","email":"email@dipli.com","telephone":"061111111111","deliveryinfos":null,"ref":null}'
        type: string
      shipping_address_json:
        example: '{"street":"a","additionnal":"a","postcode":"75000","city":"a","country":"FR","firstname":"a","lastname":"a","company":"A",
          "type":"shipping","email":"email@dipli.com","telephone":"061111111111","deliveryinfos":null,"ref":null}'
        type: string
      anonymous_email:
        example: 810231556_1512390@orders.agora.place
        type: string
      tracking_courier:
        example: ups
        type: string
      tracking_number:
        example: X12FA123GT
        type: string
      total_ttc:
        example: 19900
        type: integer
      total_ht:
        example: 16583
        type: integer
      shipping_h_t:
        example: 1000
        type: integer
      shipping_t_t_c:
        example: 1200
        type: integer
      canceled_at:
        example: '2022-09-15T10:30:10+01:00'
        type: string
      cart_items:
        items:
          "$ref": "#/definitions/CartItem"
        type: array
    type: object
  CartItem:
    properties:
      tax_class:
        example: TVA Classique
        type: string
      product_sku:
        example: APPLE_IPHONE_8_SKU
        type: string
      product_name:
        example: Apple iPhone 8 64
        type: string
      product_quantity:
        example: 10
        type: integer
      product_extra_infos:
        example: '{"extended_images":["f6f5692eecb63dde4c94.jpg"],"grouped_id":707026,"id":11699153,"product_id":25005,"price":12000,"position":"1er","name":"Apple
          iPhone 8 32","grade":"Grade C","tax_class":"Tva classique","color":"Gris
          sideral","packaging":"Chargeur et cable","sku":"O3_MQ3D2ZD\/A","stock":1}'
        type: string
    type: object
securityDefinitions:
  ApiKeyAuth:
    name: apikey
    type: apiKey
    in: header
security:
- ApiKeyAuth: []
