# Product Matching

## Overview

The Roomle Product Matching API allows users to find Roomle products based on a given query or SKU. The API provides three matching strategies:

* **Exact Matching**: Finds products that exactly match the given query.
* **Similar Matching**: Finds products that are similar to the given query.
* **SKU Matching**: Finds products based on a specific SKU.

## Endpoints

### Exact Matching

**Endpoint:**

```http
GET https://search.roomle.com/api/match?exact=true&query=<QUERY>
```

**Description:** Finds the Roomle product that exactly matches the given query.

**Query Parameters:**

| Parameter | Type   | Required | Description                        |
| --------- | ------ | -------- | ---------------------------------- |
| `query`   | string | Yes      | The exact query to match products. |

**Example Request:**

```http
GET https://search.roomle.com/api/match?exact=true&query=sofa
```

***

### Similar Matching

**Endpoint:**

```http
GET https://search.roomle.com/api/match?query=<QUERY>
```

**Description:** Finds Roomle products that are similar to the given query.

**Query Parameters:**

| Parameter | Type   | Required | Description                          |
| --------- | ------ | -------- | ------------------------------------ |
| `query`   | string | Yes      | The search term for similar matches. |

**Example Request:**

```http
GET https://search.roomle.com/api/match?query=chair
```

***

### SKU Matching

**Endpoint:**

```http
GET https://search.roomle.com/api/match?sku=<SKU>
```

**Description:** Finds Roomle products based on a specific SKU.

**Query Parameters:**

| Parameter | Type   | Required | Description             |
| --------- | ------ | -------- | ----------------------- |
| `sku`     | string | Yes      | The SKU of the product. |

**Example Request:**

```http
GET https://search.roomle.com/api/match?sku=RM12345
```

## Response Format

The API returns a JSON array with matched products.

```json
[
    {
        "id": "<ROOMLE_PRODUCT_ID>",
        "configurable": true,
        "sku": "<SKU>"
    }
]
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.roomle.com/rubens/rest-api/matching.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
