> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mayar.id/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Product Page with Type Filter

> Endpoint where you can get your products with type filter

<RequestExample>
  ```bash Request Example theme={null}
  curl --request GET 'https://api.mayar.id/hl/v1/product/type/ebook?page=1&pageSize=100' \
  --header 'Authorization: Bearer Paste-Your-API-Key-Here'
  ```
</RequestExample>

<ResponseExample>
  ```json Response Example 200 theme={null}
  {
      "statusCode": 200,
      "messages": "success",
      "hasMore": false,
      "pageCount": 1,
      "pageSize": 10,
      "page": 1,
      "data": [
          {
              "id": "b1eae80c-cecf-48ee-8879-36f0b915603b",
              "amount": 0,
              "category": null,
              "createdAt": 1685963288286,
              "description": "<p style=\"text-align:start;\"><span style=\"color: rgb(73,80,87);background-color: rgb(251,252,252);font-size: 13px;font-family: Open Sans\">COVID-19 has plagued almost all corners of the world, including in Indonesia where the most common symptom is fever up to 38℃. Therefore, at this time in various places have imposed body temperature checks to detect the body temperature of visitors. To inhibit the spread of COVID-19 , the Government appeals to the public to implement health protocols, including wearing masks. This is the basis for making a visitor's body temperature detector when entering a building or public room, not only detecting body temperature but this tool is also able to detect the use of masks using the Haar Cascade Classifier method as one of the applications. An appeal from the government regarding health protocols. </span></p>\n<p style=\"text-align:left;\"><span style=\"color: rgb(73,80,87);background-color: rgb(251,252,252);font-size: 13px;font-family: Open Sans\">The mask detection tool and body temperature detector use Arduino UNO as a microcontroller, ESP32-Cam as a face detection camera, MLX90614 sensor as a body temperature detector, LCD to display information about the results of body temperature detection and also masks, and servos as door movers. In designing the automatic door to detect face masks and body temperature, the author uses a Flowchart as a method for designing the system, this system is made using the C++ programming language and also the Open CV (Open Computer Vision) algorithm. Then perform system testing using hardware testing. After testing, conclusions are made whether the functions, inputs, and outputs of the system are in accordance with the required specifications or not. </span>&nbsp;</p>\n",
              "link": "journal-design-of-automatic-door-detection-of-face-mask-and-human-body-temperature-based-on-arduino-uno-using-haar-cascade-classifier-method-w9ya",
              "type": "ebook",
              "subType": null,
              "status": "active",
              "name": "DUPLICATE - JOURNAL DESIGN OF AUTOMATIC DOOR DETECTION OF FACE MASK AND  HUMAN BODY TEMPERATURE BASED ON Arduino UNO USING HAAR  CASCADE CLASSIFIER METHOD",
              "limit": null,
              "redirectUrl": null,
              "installmentId": null,
              "variant": null,
              "membershipTier": [],
              "event": null,
              "order": null,
              "coverImageId": "681abbf7-8620-405a-96f6-246cd7397cd9",
              "multipleImageId": null,
              "multipleImage": null,
              "coverImage": null,
              "transactions": [],
              "linkUrl": "https://testingmayar.myr.id/ebook/journal-design-of-automatic-door-detection-of-face-mask-and-human-body-temperature-based-on-arduino-uno-using-haar-cascade-classifier-method-w9ya",
              "linkPayment": "https://testingmayar.myr.id/pl/journal-design-of-automatic-door-detection-of-face-mask-and-human-body-temperature-based-on-arduino-uno-using-haar-cascade-classifier-method-w9ya"
          }
      ],
      "total": 1
  }
  ```
</ResponseExample>

Endpoint:

<CodeGroup>
  ```Production Production theme={null}
  https://api.mayar.id/hl/v1/product/type/ebook?page=1&pageSize=100
  ```

  ```Sandbox Sandbox theme={null}
  https://api.mayar.club/hl/v1/product/type/ebook?page=1&pageSize=100
  ```
</CodeGroup>

## Authorization

<ResponseField name="Authorization" type="string" required>
  Example:

  `Authorization | Bearer Paste-Your-API-Key-Here`
</ResponseField>

## Path Parameters

<ParamField path="type" type="string" required>
  Product type for filtering, list all product with filter:

  * generic\_link
  * physical\_product
  * event
  * webinar
  * digital\_product
  * coaching
  * course
  * cohort\_based
  * fundraising
  * ebook
  * podcast
  * audiobook
  * membership
  * zakat
  * invoice
  * bundling
  * saas
  * payment\_request
  * support
</ParamField>

## Query Parameters

<ParamField query="page" path="page" default={1} type="integer" required>
  Determine which page.
</ParamField>

<ParamField query="pageSize" path="pageSize" default={10} type="integer" required>
  How much data is displayed on the page.
</ParamField>

## Response

Successful Response

### Main Structure (Root)

<ResponseField name="id" type="string">
  Unique identifier of the product.
</ResponseField>

<ResponseField name="amount" type="integer">
  Product price amount.
</ResponseField>

<ResponseField name="category" type="string | null">
  Product category if available.
</ResponseField>

<ResponseField name="createdAt" type="number">
  Timestamp in milliseconds indicating when the product was created.
</ResponseField>

<ResponseField name="description" type="string">
  Product description in HTML format.
</ResponseField>

<ResponseField name="link" type="string">
  Unique slug or identifier used in the product URL.
</ResponseField>

<ResponseField name="type" type="string">
  Product type (e.g., `saas`, `event`, `membership`, `ebook`, etc.).
</ResponseField>

<ResponseField name="subType" type="string | null">
  Product subtype if applicable.
</ResponseField>

<ResponseField name="status" type="string">
  Current product status (e.g., `active`, `inactive`).
</ResponseField>

<ResponseField name="name" type="string">
  Product name.
</ResponseField>

<ResponseField name="limit" type="integer | null">
  Purchase or access limit if configured.
</ResponseField>

<ResponseField name="redirectUrl" type="string | null">
  URL where the customer will be redirected after checkout.
</ResponseField>

<ResponseField name="installmentId" type="string | null">
  Installment identifier if the product supports installment payments.
</ResponseField>

<ResponseField name="variant" type="string | null">
  Product variant.
</ResponseField>

<ResponseField name="membershipTier" type="string | null">
  Installment identifier if the product supports installment payments.
</ResponseField>

<ResponseField name="event" type="object | null">
  Membership product tier.
</ResponseField>

<ResponseField name="order" type="object | null">
  Order configuration if applicable.
</ResponseField>

<ResponseField name="coverImageId" type="string | null">
  Identifier of the cover image.
</ResponseField>

<ResponseField name="multipleImageId" type="array | null">
  List of additional image identifiers.
</ResponseField>

<ResponseField name="coverImage" type="object | null">
  Cover image object containing image details.
</ResponseField>

<ResponseField name="multipleImage" type="array | null">
  List of additional image objects.
</ResponseField>

<ResponseField name="transactions" type="array">
  List of related transactions (empty if none).
</ResponseField>

<ResponseField name="linkUrl" type="string">
  Public product page URL.
</ResponseField>

<ResponseField name="linkPayment" type="string">
  Public payment link URL.
</ResponseField>
