> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://support.haddock.app/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Agora - Connect POS

> ✨ **Recommended method:** Use the [Agora Connector](https://support.haddock.app/en/article/agora-connector-new-and-recommended-17aizdf/). It connects to haddock without complications, works in the background, and automatically syncs your POS data to haddock.

> **Legacy direct API connection:** The steps below are for the older Agora API integration. Prefer the Agora Connector unless your technician tells you otherwise.

---

## Before connecting - gather the Agora data

This integration reads sales through Agora's **integration HTTP API**. Before filling in the form in haddock, that module has to be enabled and four values written down. You need **Agora 6.0.6 or later** and an **Agora license that includes the Integration Services module** (*Módulo de Servicios de Integración*) - your reseller enables it.

> ✅ **If something is already set up, do not change it:** write down the value and move on to the next step. Steps **B**, **C** and **D** are look-ups only, they change nothing in Agora.

> 💡 If you do not have access to the Agora Monitor or do not feel confident with these steps, **ask your Agora reseller for them** - they are the values any integration needs.

### A - Enable the module and get the Access key (API Token)

1. In the **Agora Monitor** (the server, not the POS), open **Herramientas > Activar Módulos Adicionales**.

   ![Agora's Activar Módulos Adicionales window](https://storage.googleapis.com/helpdesk-haddock-images/integrations/point-of-sale/agora-connect-pos/images/pos-setup-01-agora-activate-additional-modules-window.png)

2. Check the **Activar Módulo de Servicios de Integración** box in the left-hand column.

   ![Close-up of the Activar Módulo de Servicios de Integración checkbox](https://storage.googleapis.com/helpdesk-haddock-images/integrations/point-of-sale/agora-connect-pos/images/pos-setup-02-agora-integration-services-module-checkbox.png)

3. Click **Configurar Servicios de Integración** right below it, enable the **integration HTTP API**, and enter a **key**. It can be any value, but use a **long, unique key**: it grants access to the POS sales. **Write it down, because that key is the Access key** haddock asks for.
4. Press **Aceptar** to save.

That API uses port **8984** by default.

> ⚠️ **If the box cannot be checked**, your license does not include the module: ask your Agora reseller to enable it.

> **Already done?** If the box is already checked and the HTTP API already has a key, **copy that key as it is** and move on to step B. Do not change it: if another integration uses it, you would break it.

### B - Get the Location ID (Workplace ID) - only with ACMS

Only needed if you have **ACMS** (Agora Central Management System), that is, a central installation managing several locations on the same database; it makes haddock pull only this restaurant's sales. **With a single location, leave the field empty** and move on to step C.

In the **Agora web administration**, go to **Administración > Locales**: the **Id** column is the value you need (in the example, "La Macarena" has **Id 1**). If one haddock restaurant collects sales from several locations, enter them separated by commas: `1, 2`.

![Locales list in the Agora administration with the Id column](https://storage.googleapis.com/helpdesk-haddock-images/integrations/point-of-sale/agora-connect-pos/images/pos-setup-03-agora-admin-locales-id-column.png)

> 🚨 **With ACMS, this field is not optional in practice.** If you leave it empty while several locations share the installation, haddock will collect the sales of **all of them** and add them to this restaurant. And if you enter the wrong number, **no** sales will arrive at all. Enter this location's **exact Id**.

### C - Get the POS register ID (Punto de Venta) - only if you split POS registers

Only needed if a single location has **several POS registers** and you want each one to go to a **different haddock restaurant** (for example, a bar and a terrace invoiced separately). In any other case - the most common one - skip this step: haddock will collect the sales of every register in the location.

In the **Agora web administration**, go to **Administración > Puntos de Venta**: the **Id** column of each register is the value you need. The **Local** column tells you which location it belongs to, and **Tipo** whether it is a POS, an order-taking handheld, a tablet, and so on. For several, separate them with commas: `1006, 1009`.

![Puntos de Venta list in the Agora administration with the Id column](https://storage.googleapis.com/helpdesk-haddock-images/integrations/point-of-sale/agora-connect-pos/images/pos-setup-04-agora-admin-points-of-sale-id-column.png)

> ⚠️ **Do not confuse Puntos de Venta with Grupos de Puntos de Venta:** the groups only filter reports inside Agora and are **not valid** here.

### D - Get the Server URL

It is the location's **fixed IP**, where the Agora server runs, reachable from the internet. If you have **several locations sharing the same IP**, you must specify the port in the URL; with a single location that is not necessary.

> ⚠️ This integration needs a fixed IP and the port open on the router. If you do not have them, the [Agora Connector](https://support.haddock.app/en/article/agora-connector-new-and-recommended-17aizdf/) does not require either: it pushes the data outwards, with nothing to open.

---

## Connect in haddock

1. Click the **restaurant name** to open the **menu**.

![](https://storage.googleapis.com/helpdesk-haddock-images/integrations/point-of-sale/agora-connect-pos/images/01-agora-connect-pos.png)

2. Go to **Restaurant settings** > **My integrations**.

![](https://storage.googleapis.com/helpdesk-haddock-images/integrations/point-of-sale/agora-connect-pos/images/02-agora-connect-pos.png)

3. In the "Integrations" section, look for **Agora**.

4. Fill in the values you gathered in the previous section:

   * **Access key** or API token (step **A**).
   * **Server URL** (step **D**).
   * **Location ID** (step **B**) - optional, only with ACMS.
   * **POS register ID (TPV)** (step **C**) - optional, only if you split registers.

5. Click **"Connect"**.

---

## ⚙️ Technical requirements

* Activate the **Agora integration license**.
* Make sure the Agora license is updated to at least **version 6.0.6**.
* **You must have a fixed IP at the location. If you do not have one, you can arrange it through their telephone service.**
* Check that the equipment is powered on and the port is routed to the router.

*Integrations may include additional costs not covered by haddock.*

---

## ❓ Frequently asked questions

### Sales from another restaurant show up in haddock

This is almost always an empty **Location ID** on an **ACMS** installation. If the Agora installation manages several locations on the same database and that field is empty, haddock collects the sales of all of them. Fill it in with this location's **exact Id** - step **B** of the previous section.

### The connection works but no sales arrive

Check the **Location ID**: if it holds anything other than your location's exact numeric Id, Agora returns no sales even though the connection is fine. With a single location, the field must be **empty**.

### Sales totals in haddock do not exactly match Agora reports

This can happen at **month boundaries**. Agora groups tickets into "work shifts" that can span several calendar days (for example, a Friday service may include tickets issued early on Saturday morning, or a holiday period may group several days into a single shift).

- **haddock** groups sales by **work shift**, which is the criterion used by the Agora API.
- Agora's **internal reports** usually group by **ticket issue date**.

This can cause some tickets issued at the beginning or end of the month to be counted in different months depending on the system. **No data is lost**: if you add together two consecutive months in both systems, the totals match.