---
title: "Implementing"
manual: "Interest"
version: "4.1"
source: "Implementing/Index.rst"
rendered: "2026-09-18T11:09:59+00:00"
---

# Implementing {#implementing}

-   [Command Line API](Cli/Index.html#command-line-api)
-   [REST API](Rest/Index.html#rest-api)
-   [Webhook (Reaction)](Webhook/Index.html#webhook-reaction)
-   [Anatomy of the Data Array](DataArray/Index.html#anatomy-of-the-data-array)
-   [File Handling](FileHandling/Index.html#file-handling)
-   [Changing and Extending](Extending/Index.html#changing-and-extending)

## Choosing REST or CLI? {#choosing-rest-or-cli}

The extension supports both REST and CLI (Command Line Interface) endpoints.
Which one you use depends on your needs, but here's the way we usually keep
them apart:

-   Use **CLI** when the service sending data to the extension is in the same
    environment. This is good for situations where you need more advanced parsing
    and transformation of input data.
-   Use **REST** when the data source is external and supports REST export.
    [DataCater](https://datacater.io/?utm_source=ext_interest) is an ETA
    (Extract Transform Load) service that integrates well with the Interest
    extension's REST API.
-   -   **Use **Webhook** to utilize TYPO3's built-in reactions support to authenticate**

        a *REST*-like request (see above).

## Common Properties {#common-properties}

Which-ever implementation you choose, there are a number of common properties
that you will be using:

-   ****\[table\]****

    The name of the table you are writing records to.

-   ****\[remoteId\]****

    The record reference. See: [Remote ID mapping](../Introduction/Index.html#what-it-does-remote-ids)

-   ****\[language\]****

    A language as an RFC 1766/3066 string, e.g. `nb` or `sv-SE`. Will be set to
    the default language if not supplied.

-   ****\[workspace\]****

    *(Not yet implemented. Will be ignored.)*

-   ****\[data\]****

    The data you would like to write to a record. Compatible with DataHandler,
    but using remote IDs for references.

    ```json
    {
       "title": "What are your inteRESTed in?",
       "item_count": 100,
       "images": [
          "Reference-File-543",
          "Reference-File-876"
       ],
       "page": ["Page-916"]
    }
    ```

    > [!TIP]
    > Please note that arrays of references can only be numeric arrays!

-   ****\[metaData\]****

    Additional data, external to the record data, sent with a request. Can be
    used in conditions and transformations. See: [Accessing metadata](../Configuration/UserTS/Index.html#userts-accessing-metadata)
