Petpooja Orders API

Push online orders into the Petpooja POS.

OpenAPI Specification

petpooja-orders-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Petpooja Online Ordering Menu Orders API
  description: 'The Petpooja Online Ordering API (V2.1.0) lets partner ordering platforms and aggregators integrate with the Petpooja restaurant POS. Documented capabilities include fetching a mapped restaurant''s menu/catalog, pushing online orders into the POS (save_order), receiving order-status updates on a partner callback_url, receiving full menu payloads via a partner Push Menu endpoint, and reflecting item stock and store availability. Authentication uses an app key, app secret, and access token issued by Petpooja, scoped to a restaurant (restID).


    Some endpoint paths for item stock toggling and store on/off are referenced in Petpooja''s integration material but are not fully published; where the exact path or schema is not publicly reconciled this specification documents the behavior and marks it accordingly rather than fabricating details.'
  termsOfService: https://www.petpooja.com
  contact:
    name: Petpooja Support
    email: support@petpooja.com
    url: https://www.petpooja.com
  version: 2.1.0
servers:
- url: https://qle1yy2ydc.execute-api.ap-southeast-1.amazonaws.com/V1
  description: Petpooja menu / restaurant API (AWS API Gateway, ap-southeast-1)
- url: https://47pfzh5sf2.execute-api.ap-southeast-1.amazonaws.com/V1
  description: Petpooja order API (AWS API Gateway, ap-southeast-1)
security:
- PetpoojaAuthHeaders: []
tags:
- name: Orders
  description: Push online orders into the Petpooja POS.
paths:
  /save_order:
    servers:
    - url: https://47pfzh5sf2.execute-api.ap-southeast-1.amazonaws.com/V1
    post:
      operationId: saveOrder
      tags:
      - Orders
      summary: Push a new order into the Petpooja POS.
      description: Submits a new online order to the Petpooja POS. The request carries app_key, app_secret, and access_token in the body alongside an orderinfo object describing the restaurant, customer, order, order items, taxes, and discounts. The order may include a callback_url to which Petpooja posts subsequent order-status updates.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SaveOrderRequest'
      responses:
        '200':
          description: Order accepted by the Petpooja POS.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SaveOrderResponse'
components:
  schemas:
    OrderRestaurant:
      type: object
      properties:
        details:
          type: object
          properties:
            res_name:
              type: string
            address:
              type: string
            contact_information:
              type: string
            restID:
              type: string
              description: Petpooja restaurant identifier.
    OrderItem:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        gst_liability:
          type: string
        item_tax:
          type: array
          items:
            type: object
        item_discount:
          type: string
        price:
          type: string
        final_price:
          type: string
        quantity:
          type: string
        description:
          type: string
        variation_name:
          type: string
        variation_id:
          type: string
        AddonItem:
          type: object
          properties:
            details:
              type: array
              items:
                type: object
    Order:
      type: object
      properties:
        details:
          type: object
          properties:
            orderID:
              type: string
            preorder_date:
              type: string
            preorder_time:
              type: string
            service_charge:
              type: string
            delivery_charges:
              type: string
            dc_tax_percentage:
              type: string
            dc_tax_amount:
              type: string
            packing_charges:
              type: string
            pc_tax_percentage:
              type: string
            pc_tax_amount:
              type: string
            order_type:
              type: string
            ondc_bap:
              type: string
            advanced_order:
              type: string
            payment_type:
              type: string
            table_no:
              type: string
            no_of_persons:
              type: string
            discount_total:
              type: string
            tax_total:
              type: string
            total:
              type: string
            description:
              type: string
            created_on:
              type: string
            enable_delivery:
              type: string
            min_prep_time:
              type: string
            callback_url:
              type: string
              description: Partner URL Petpooja calls with order-status updates (Accept / Reject / Food Ready, etc.).
            collect_cash:
              type: string
            otp:
              type: string
            urgent_order:
              type: boolean
            urgent_time:
              type: integer
    Customer:
      type: object
      properties:
        details:
          type: object
          properties:
            email:
              type: string
            name:
              type: string
            address:
              type: string
            phone:
              type: string
            latitude:
              type: string
            longitude:
              type: string
    SaveOrderRequest:
      type: object
      required:
      - app_key
      - app_secret
      - access_token
      - orderinfo
      properties:
        app_key:
          type: string
        app_secret:
          type: string
        access_token:
          type: string
        orderinfo:
          $ref: '#/components/schemas/OrderInfo'
        udid:
          type: string
        device_type:
          type: string
    OrderInfo:
      type: object
      properties:
        OrderInfo:
          type: object
          properties:
            Restaurant:
              $ref: '#/components/schemas/OrderRestaurant'
            Customer:
              $ref: '#/components/schemas/Customer'
            Order:
              $ref: '#/components/schemas/Order'
            OrderItem:
              type: array
              items:
                $ref: '#/components/schemas/OrderItem'
            Tax:
              type: array
              items:
                type: object
            Discount:
              type: array
              items:
                type: object
    SaveOrderResponse:
      type: object
      properties:
        success:
          type: string
          description: Success flag (e.g., "1").
        message:
          type: string
        restID:
          type: string
        clientOrderID:
          type: string
        orderID:
          type: string
          description: Petpooja-assigned order identifier.
  securitySchemes:
    PetpoojaAuthHeaders:
      type: apiKey
      in: header
      name: access-token
      description: Petpooja issues an app-key, app-secret, and access-token per integration and a restID per mapped restaurant. Menu/restaurant calls send app-key, app-secret, and access-token as request headers; the save_order call sends app_key, app_secret, and access_token in the request body. Credentials are obtained by emailing support@petpooja.com.