# 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>"
    }
]
```
