{
  "_status": "NOT PUBLISHED. GRAJ has no Make developer account and lists nothing on Make. To use this, create a custom app in YOUR OWN Make account and paste each block below into the matching tab (Base, Connection, Modules). Connect it with your own GRAJ API key; Make bills operations to your own plan, and GRAJ is paid nothing by it and pays nothing for it. Every module is a read on /api/v1 with your key (600 a minute). Generated from lib/integration-apps.ts.",
  "name": "graj",
  "label": "GRAJ Protocol",
  "description": "Orders, notifications, activity, disputes, returns, sample requests and product lookups from the GRAJ Protocol, read with your own API key.",
  "docs": "https://www.getreadyandjump.com/openapi.json",
  "base": {
    "baseUrl": "https://www.getreadyandjump.com/api/v1",
    "headers": {
      "X-API-Key": "{{connection.apiKey}}"
    },
    "response": {
      "error": {
        "message": "{{body.error}}"
      }
    },
    "log": {
      "sanitize": [
        "request.headers.X-API-Key"
      ]
    }
  },
  "connection": {
    "name": "graj",
    "type": "apikey",
    "parameters": [
      {
        "name": "apiKey",
        "type": "password",
        "label": "GRAJ API key",
        "required": true,
        "help": "Your own key from https://www.getreadyandjump.com/settings/api-keys."
      }
    ],
    "communication": {
      "url": "https://www.getreadyandjump.com/api/v1/analytics",
      "method": "GET",
      "headers": {
        "X-API-Key": "{{parameters.apiKey}}"
      },
      "log": {
        "sanitize": [
          "request.headers.X-API-Key"
        ]
      }
    }
  },
  "modules": [
    {
      "name": "newOrder",
      "label": "New Order",
      "description": "Triggers when an order you are a party to appears: as the seller, as a brand or seller on it, or as the buyer.",
      "type": "trigger",
      "connection": "graj",
      "parameters": [],
      "communication": {
        "url": "/orders",
        "method": "GET",
        "qs": {
          "limit": 50
        },
        "response": {
          "iterate": "{{body.data}}",
          "output": "{{item}}",
          "trigger": {
            "id": "{{item.id}}",
            "date": "{{item.created_at}}",
            "type": "date",
            "order": "desc"
          }
        }
      },
      "interface": [
        {
          "name": "id",
          "type": "text",
          "label": "id"
        },
        {
          "name": "order_number",
          "type": "any",
          "label": "order number"
        },
        {
          "name": "seller_id",
          "type": "text",
          "label": "seller id"
        },
        {
          "name": "buyer_masked",
          "type": "any",
          "label": "buyer masked"
        },
        {
          "name": "party",
          "type": "any",
          "label": "party"
        },
        {
          "name": "status",
          "type": "any",
          "label": "status"
        },
        {
          "name": "payment_status",
          "type": "any",
          "label": "payment status"
        },
        {
          "name": "fulfillment_status",
          "type": "any",
          "label": "fulfillment status"
        },
        {
          "name": "subtotal_cents",
          "type": "number",
          "label": "subtotal cents"
        },
        {
          "name": "discount_cents",
          "type": "number",
          "label": "discount cents"
        },
        {
          "name": "tax_cents",
          "type": "number",
          "label": "tax cents"
        },
        {
          "name": "protocol_fee_cents",
          "type": "number",
          "label": "protocol fee cents"
        },
        {
          "name": "total_rep_commission_cents",
          "type": "number",
          "label": "total seller commission cents"
        },
        {
          "name": "total_brand_payout_cents",
          "type": "number",
          "label": "total brand payout cents"
        },
        {
          "name": "currency_code",
          "type": "any",
          "label": "currency code"
        },
        {
          "name": "created_at",
          "type": "date",
          "label": "created at"
        },
        {
          "name": "paid_at",
          "type": "date",
          "label": "paid at"
        },
        {
          "name": "delivered_at",
          "type": "date",
          "label": "delivered at"
        }
      ]
    },
    {
      "name": "newNotification",
      "label": "New Notification",
      "description": "Triggers when GRAJ sends you a notification.",
      "type": "trigger",
      "connection": "graj",
      "parameters": [],
      "communication": {
        "url": "/notifications",
        "method": "GET",
        "qs": {
          "limit": 50
        },
        "response": {
          "iterate": "{{body.data}}",
          "output": "{{item}}",
          "trigger": {
            "id": "{{item.id}}",
            "date": "{{item.created_at}}",
            "type": "date",
            "order": "desc"
          }
        }
      },
      "interface": [
        {
          "name": "id",
          "type": "text",
          "label": "id"
        },
        {
          "name": "type",
          "type": "any",
          "label": "type"
        },
        {
          "name": "title",
          "type": "any",
          "label": "title"
        },
        {
          "name": "body",
          "type": "any",
          "label": "body"
        },
        {
          "name": "read",
          "type": "any",
          "label": "read"
        },
        {
          "name": "created_at",
          "type": "date",
          "label": "created at"
        }
      ]
    },
    {
      "name": "newEvent",
      "label": "New Activity",
      "description": "Triggers on a new row in your own activity log.",
      "type": "trigger",
      "connection": "graj",
      "parameters": [
        {
          "name": "event_type",
          "type": "text",
          "label": "Event type",
          "required": false,
          "help": "Only events of this exact type. Leave empty for every type."
        }
      ],
      "communication": {
        "url": "/events",
        "method": "GET",
        "qs": {
          "limit": 50,
          "event_type": "{{parameters.event_type}}"
        },
        "response": {
          "iterate": "{{body.data}}",
          "output": "{{item}}",
          "trigger": {
            "id": "{{item.id}}",
            "date": "{{item.created_at}}",
            "type": "date",
            "order": "desc"
          }
        }
      },
      "interface": [
        {
          "name": "id",
          "type": "text",
          "label": "id"
        },
        {
          "name": "event_type",
          "type": "any",
          "label": "event type"
        },
        {
          "name": "entity_type",
          "type": "any",
          "label": "entity type"
        },
        {
          "name": "entity_id",
          "type": "text",
          "label": "entity id"
        },
        {
          "name": "counterparty_id",
          "type": "text",
          "label": "counterparty id"
        },
        {
          "name": "payload",
          "type": "any",
          "label": "payload"
        },
        {
          "name": "created_at",
          "type": "date",
          "label": "created at"
        }
      ]
    },
    {
      "name": "newDispute",
      "label": "New Dispute",
      "description": "Triggers when a dispute you are on either side of is opened.",
      "type": "trigger",
      "connection": "graj",
      "parameters": [],
      "communication": {
        "url": "/disputes",
        "method": "GET",
        "qs": {
          "limit": 50
        },
        "response": {
          "iterate": "{{body.data}}",
          "output": "{{item}}",
          "trigger": {
            "id": "{{item.id}}",
            "date": "{{item.created_at}}",
            "type": "date",
            "order": "desc"
          }
        }
      },
      "interface": [
        {
          "name": "id",
          "type": "text",
          "label": "id"
        },
        {
          "name": "created_at",
          "type": "date",
          "label": "created at"
        }
      ]
    },
    {
      "name": "newReturn",
      "label": "New Return",
      "description": "Triggers when a return you are on either side of is opened.",
      "type": "trigger",
      "connection": "graj",
      "parameters": [],
      "communication": {
        "url": "/returns",
        "method": "GET",
        "qs": {
          "limit": 50
        },
        "response": {
          "iterate": "{{body.data}}",
          "output": "{{item}}",
          "trigger": {
            "id": "{{item.id}}",
            "date": "{{item.created_at}}",
            "type": "date",
            "order": "desc"
          }
        }
      },
      "interface": [
        {
          "name": "id",
          "type": "text",
          "label": "id"
        },
        {
          "name": "created_at",
          "type": "date",
          "label": "created at"
        }
      ]
    },
    {
      "name": "newSampleRequest",
      "label": "New Sample Request",
      "description": "Triggers when a sample request where you are the brand or the requester appears.",
      "type": "trigger",
      "connection": "graj",
      "parameters": [],
      "communication": {
        "url": "/samples",
        "method": "GET",
        "qs": {
          "limit": 50
        },
        "response": {
          "iterate": "{{body.data}}",
          "output": "{{item}}",
          "trigger": {
            "id": "{{item.id}}",
            "date": "{{item.created_at}}",
            "type": "date",
            "order": "desc"
          }
        }
      },
      "interface": [
        {
          "name": "id",
          "type": "text",
          "label": "id"
        },
        {
          "name": "created_at",
          "type": "date",
          "label": "created at"
        }
      ]
    },
    {
      "name": "findProductByGtin",
      "label": "Find Product by GTIN",
      "description": "Finds a product in your own catalog by its exact GTIN.",
      "type": "search",
      "connection": "graj",
      "parameters": [
        {
          "name": "gtin",
          "type": "text",
          "label": "GTIN",
          "required": true,
          "help": "The exact GTIN printed on the product."
        }
      ],
      "communication": {
        "url": "/gtin",
        "method": "GET",
        "qs": {
          "gtin": "{{parameters.gtin}}"
        },
        "response": {
          "iterate": "{{body.data}}",
          "output": "{{item}}"
        }
      },
      "interface": [
        {
          "name": "id",
          "type": "text",
          "label": "id"
        },
        {
          "name": "name",
          "type": "any",
          "label": "name"
        },
        {
          "name": "sku",
          "type": "any",
          "label": "sku"
        },
        {
          "name": "upc_item",
          "type": "any",
          "label": "upc item"
        },
        {
          "name": "gtin",
          "type": "any",
          "label": "gtin"
        },
        {
          "name": "gs1_prefix",
          "type": "any",
          "label": "gs1 prefix"
        },
        {
          "name": "brand_id",
          "type": "text",
          "label": "brand id"
        }
      ]
    },
    {
      "name": "findCatalogProducts",
      "label": "Find Products in the GRAJ Catalog",
      "description": "Finds active products across GRAJ whose category contains the text you give.",
      "type": "search",
      "connection": "graj",
      "parameters": [
        {
          "name": "category",
          "type": "text",
          "label": "Category",
          "required": true,
          "help": "Category contains this text (not case-sensitive)."
        }
      ],
      "communication": {
        "url": "/catalog",
        "method": "GET",
        "qs": {
          "category": "{{parameters.category}}"
        },
        "response": {
          "iterate": "{{body.data}}",
          "output": "{{item}}"
        }
      },
      "interface": [
        {
          "name": "id",
          "type": "text",
          "label": "id"
        },
        {
          "name": "name",
          "type": "any",
          "label": "name"
        },
        {
          "name": "sku",
          "type": "any",
          "label": "sku"
        },
        {
          "name": "brand_id",
          "type": "text",
          "label": "brand id"
        },
        {
          "name": "category",
          "type": "any",
          "label": "category"
        },
        {
          "name": "description",
          "type": "any",
          "label": "description"
        },
        {
          "name": "images",
          "type": "any",
          "label": "images"
        },
        {
          "name": "wholesale_price_cents",
          "type": "number",
          "label": "wholesale price cents"
        },
        {
          "name": "suggested_retail_cents",
          "type": "number",
          "label": "suggested retail cents"
        },
        {
          "name": "currency_code",
          "type": "any",
          "label": "currency code"
        },
        {
          "name": "minimum_order_qty",
          "type": "any",
          "label": "minimum order qty"
        },
        {
          "name": "minimum_order_value_cents",
          "type": "number",
          "label": "minimum order value cents"
        },
        {
          "name": "units_per_case",
          "type": "any",
          "label": "units per case"
        },
        {
          "name": "unit",
          "type": "any",
          "label": "unit"
        },
        {
          "name": "lead_time_days",
          "type": "any",
          "label": "lead time days"
        },
        {
          "name": "status",
          "type": "any",
          "label": "status"
        },
        {
          "name": "created_at",
          "type": "date",
          "label": "created at"
        },
        {
          "name": "operators",
          "type": "any",
          "label": "operators"
        }
      ]
    }
  ]
}
