How integrations work
A custom integration with Etals has two directions. Your system pushes product and content data into Etals. Etals produces content (descriptions, meta titles, translations, tags) and pushes it back to your system. Optionally, your system tells Etals when a value needs another pass.
On your side you build one sender and one receiver. Etals configures the rest.
The round trip
- Your system sends data to a funnel endpoint, for example every time a product is created or changed in your PIM. See Data sync via Funnel API.
- Etals stores the items in a content type, such as Products. Fields you did not map are left alone.
- Automations start tasks for the changed items, for example “write a description in Swedish, Norwegian and German when it is missing”. A task runs your pipelines and agents.
- Etals sends the results to your receiver as JSON, when the task finishes (and after approval, if approval is switched on). See API export.
- Your system can send feedback on a value, which creates a task that writes it again. See API Feedback.
What you build
What Etals configures
Integration checklist
Agree on the data
Pick your identifier (for example the SKU NV-1001), the fields you send, the properties Etals writes, and the languages and markets. Write down which system owns each field.
Get a token
Create a token with Read, Create and Delete from an integration user whose role can manage Funnels and API tokens.
Create and map the funnel
Map the identifier, the name and every field you send. Map each language of a translated field to its own localization.
Build the sender
Send Accept: application/json. Treat 200 as accepted, read item errors from the body, retry only 5xx and network errors.
Build the receiver
Check the shared secret, store values keyed by identifier, property and localization, keep value_id, answer 2xx fast.
Test it in 5 minutes
This checks the inbound half with nothing but curl. You need a token and a funnel with the Endpoint URL nordvik-products for your Products content type. Map sku to Identifier and name to Name, and leave no other required mappings.
Check what Etals received
Open My Apps > Funnels > nordvik-products. The request is at the top of Recent Received Requests. After a few seconds, NV-1004 appears in the content type.
To test the outbound half before your real receiver exists, give your Etals contact a temporary request-capture URL as a mirror or main URL, and run a small task on one product.
Things to know up front
- Inbound is queued. A
200from the funnel means “accepted”. The items are stored a few seconds later. - Outbound is not retried automatically. If your receiver is down, the values show as failed in Etals until the export is sent again. On automation tasks, ask your Etals contact to resend. A finished feedback task can be sent again with Export > Integration. Your receiver must have a public address: Etals doesn’t send to private or internal networks. See Export status and retries.
- Exports are not signed. Protect your receiver with the shared secret and HTTPS.
- Duplicates happen. Make your receiver an upsert keyed on identifier, property and localization.
- Localizations are explicit. Every language and market of a property is its own field, in both directions.
