Productfeeds kunnen direct in MyDaisycon worden geconfigureerd. Wanneer je een productfeed selecteert, kun je het gewenste exportformaat kiezen en de beschikbare instellingen aanpassen. MyDaisycon genereert automatisch de bijbehorende productfeed-URL.
Je kunt een productfeed-URL ook zelf samenstellen of aanpassen met queryparameters. Dit is vooral handig voor geautomatiseerde integraties of wanneer je meer controle nodig hebt over de data die door de productfeed wordt teruggegeven.
In dit artikel lees je welke productfeedparameters beschikbaar zijn en hoe deze zich verhouden tot de instellingen in MyDaisycon.
Een productfeed configureren in MyDaisycon
De eenvoudigste manier om een productfeed-URL te maken is via Materiaal > Productfeeds in MyDaisycon. Selecteer de gewenste productfeed en open de instellingen om de productfeed te gebruiken.
Kies eerst het gewenste formaat. Daisycon ondersteunt XML, JSON en CSV. De beschikbare instellingen veranderen automatisch op basis van het gekozen formaat.
Afhankelijk van het formaat kun je onder andere de encoding, XML- of JSON-tags, CSV-delimiter, CSV-enclosure, regeleinden, HTML-verwerking, niet-gestandaardiseerde data, media en een Sub ID instellen. De productfeed-URL onderaan wordt automatisch aangepast wanneer je de configuratie wijzigt.
Voor de meeste implementaties raden we aan om de productfeed eerst in MyDaisycon te configureren en daarna de gegenereerde URL te kopiëren. De parameters hieronder zijn vooral bedoeld wanneer je een productfeed-URL zelf wilt maken, controleren of aanpassen.
Opbouw van een productfeed-URL
Daisycon productfeeds gebruiken de volgende basis-URL:
https://daisycon.io/datafeed/
Parameters worden als querystring aan de URL toegevoegd. De eerste parameter begint met ?. Extra parameters worden van elkaar gescheiden met &.
Een eenvoudige productfeed-URL kan er bijvoorbeeld als volgt uitzien:
https://daisycon.io/datafeed/?program_id=7611&media_id=22848&standard_id=1&language_code=nl&locale_id=1&type=xml&encoding=utf8
Verplichte productfeedparameters
| Parameter | Beschrijving | Voorbeeld |
|---|---|---|
media_id |
Het ID van de publisher media waarvoor de productfeed wordt opgevraagd. De toegang tot campagnes en productfeeds kan afhankelijk zijn van de geselecteerde media. | 22848 |
standard_id |
Het ID van de Daisycon productfeedstandaard die voor de feed wordt gebruikt. | 1 |
language_code |
De taal van de productfeed. |
nl, en, de
|
locale_id |
De doellocatie van de productfeed. |
1 voor Nederland |
De beschikbare waarden voor standard_id en locale_id zijn ook op te vragen via de Daisycon Common API-services.
Campagnes selecteren
Gebruik program_id[] wanneer je alleen producten uit specifieke campagnes wilt ophalen. De parameter kan meerdere keren worden gebruikt om meerdere campagnes op te nemen.
Bijvoorbeeld:
program_id[]=7611&program_id[]=14007
Een productfeed-URL die via MyDaisycon wordt gegenereerd kan ook program_id bevatten wanneer de feed voor één specifieke campagne wordt gebruikt.
Exportformaat en encoding
| Parameter | Beschrijving | Waarden |
|---|---|---|
type |
Bepaalt het uitvoerformaat van de productfeed. |
xml, json, csv
|
encoding |
Bepaalt de tekencodering van de geëxporteerde data. | ASCII, ISO-8859-1, ISO-8859-15, UTF-8, UTF-16 of Windows-1252. UTF-8 is de standaardinstelling in MyDaisycon. |
XML- en JSON-instellingen
Bij XML- en JSON-exports kun je de naam van de root en van afzonderlijke productitems aanpassen. Deze instellingen zijn ook beschikbaar in MyDaisycon.
| Parameter | Beschrijving |
|---|---|
root_tag |
Bepaalt de naam van het root-element of root-object. De standaardconfiguratie in MyDaisycon gebruikt datafeed. |
item_tag |
Bepaalt de naam die voor een afzonderlijk product wordt gebruikt. De standaardwaarde kan per exportformaat verschillen. MyDaisycon gebruikt momenteel bijvoorbeeld product voor XML en product_info voor JSON. |
CSV-instellingen
CSV-exports hebben extra instellingen voor het scheiden van velden, het omsluiten van veldwaarden en het scheiden van regels.
| Parameter | Beschrijving | Voorbeelden |
|---|---|---|
csv_explode |
Bepaalt de CSV-delimiter. De delimiter scheidt de afzonderlijke velden binnen iedere regel. | Komma (,), puntkomma (;), pipe (|), hash (#) of tab. |
csv_enclose |
Bepaalt het enclosure-teken dat gebruikt wordt om veldwaarden heen. | Dubbele aanhalingstekens ("), enkele aanhalingstekens ('), pipe (|) of circumflex (^). |
line_ending |
Bepaalt hoe afzonderlijke CSV-regels van elkaar worden gescheiden. |
LF, CR of CRLF. |
Gebruik niet hetzelfde teken als CSV-delimiter en enclosure
De waarden van csv_explode en csv_enclose moeten verschillend zijn. De delimiter geeft aan waar een veld eindigt en het volgende veld begint. Het enclosure-teken markeert de grenzen van een veldwaarde.
Stel beide parameters bijvoorbeeld niet in op een pipe-teken (|). Wanneer hetzelfde teken voor beide functies wordt gebruikt, kan de structuur van het CSV-bestand onduidelijk worden en kan het bestand verkeerd worden ingelezen.
URL-encode speciale CSV-tekens
Speciale tekens die als waarde van een URL-parameter worden gebruikt, moeten URL-encoded worden wanneer je zelf een productfeed-URL samenstelt. MyDaisycon verwerkt dit automatisch in de gegenereerde URL.
| Teken | URL-encoded waarde |
|---|---|
Pipe (|) |
%7C |
Dubbele aanhalingstekens (") |
%22 |
Hash (#) |
%23 |
Puntkomma (;) |
%3B |
Wanneer bijvoorbeeld een pipe als CSV-delimiter wordt gebruikt, kan de URL het volgende bevatten:
csv_explode=%7C
Algemene productinformatie
De parameter general bepaalt of de algemene productinformatie van Daisycon in de export wordt opgenomen. De mogelijke waarden zijn true en false.
De algemene informatie kan Daisycon-specifieke velden bevatten, zoals product-ID's, valuta-informatie, productstatus, wijzigingsdatums en interne gegevens waarmee wijzigingen aan producten kunnen worden herkend.
Deze parameter komt overeen met de instelling voor algemene informatie in MyDaisycon.
Niet-gestandaardiseerde adverteerderdata
Daisycon probeert productinformatie van adverteerders te mappen naar de toepasselijke Daisycon productfeedstandaard. Velden van een adverteerder die niet aan een gestandaardiseerd Daisycon-veld kunnen worden gekoppeld, worden beschouwd als niet-gestandaardiseerde data.
Stel rawdata=true in om deze oorspronkelijke, niet-gestandaardiseerde velden mee te nemen in de export. De standaardwaarde is false.
Deze instelling is beschikbaar voor XML- en JSON-feeds, maar niet voor CSV-exports.
Velden selecteren, hernoemen en sorteren
Met de parameter fields kun je bepalen welke velden in de export worden opgenomen. De veldnamen worden met komma's van elkaar gescheiden. De volgorde van de velden in de parameter bepaalt ook de volgorde waarin ze worden teruggegeven.
Bijvoorbeeld:
fields=title,description,link
Je kunt een veld ook een andere naam geven in de uitvoer. In het onderstaande voorbeeld wordt het veld link teruggegeven onder de naam url:
fields=title,description,link=url
Wanneer je fields gebruikt, moet je alle velden opnemen die je in de productfeed wilt ontvangen.
HTML verwerken
Productinformatie van adverteerders kan HTML bevatten. Met de parameter html_transform bepaal je hoe deze HTML wordt verwerkt.
| Waarde | Resultaat |
|---|---|
none |
HTML wordt niet verwijderd of encoded. |
strip |
HTML-markup wordt uit de geëxporteerde content verwijderd. |
encode |
HTML wordt encoded in de geëxporteerde content. |
De standaardwaarde is none.
HTML-speciale tekens en regeleinden
Met aanvullende parameters kun je bepalen hoe HTML-gerelateerde content wordt geëxporteerd.
| Parameter | Beschrijving |
|---|---|
xhtml_strict |
Schakelt strikte XHTML-verwerking in of uit. De mogelijke waarden zijn true en false. De standaardwaarde is false. |
nl2br |
Wanneer deze parameter op true staat, worden nieuwe regels in productcontent omgezet naar HTML <br/>-elementen. |
Productfeeddata filteren
Productfeed-URL's ondersteunen filters wanneer je alleen producten wilt ophalen die aan bepaalde voorwaarden voldoen. Filters kunnen worden gecombineerd met de andere URL-parameters uit dit artikel.
Bekijk de filteropties voor productfeeds voor de beschikbare filtermogelijkheden en voorbeelden.
Paginering
Grote productfeeds kunnen in kleinere delen worden opgehaald met paginering. Dit kan handig zijn wanneer het voor je applicatie niet praktisch is om een volledige feed in één keer te verwerken.
Bekijk de paginering voor productfeeds voor de beschikbare parameters en voorbeelden.
Voorbeelden van productfeed-URL's
XML-feed
In het volgende voorbeeld wordt een XML-productfeed opgehaald:
https://daisycon.io/datafeed/?program_id=7611&media_id=22848&standard_id=1&language_code=nl&locale_id=1&type=xml&encoding=utf8
CSV-feed met aangepaste delimiter
In het volgende voorbeeld wordt een pipe gebruikt als CSV-delimiter en een dubbel aanhalingsteken als enclosure:
https://daisycon.io/datafeed/?program_id=7611&media_id=22848&standard_id=1&language_code=nl&locale_id=1&type=csv&encoding=utf8&csv_explode=%7C&csv_enclose=%22&line_ending=LF
JSON-feed met niet-gestandaardiseerde data
In het volgende voorbeeld wordt JSON opgehaald en worden ook niet-gestandaardiseerde velden van de adverteerder opgenomen:
https://daisycon.io/datafeed/?program_id=7611&media_id=22848&standard_id=1&language_code=nl&locale_id=1&type=json&encoding=utf8&rawdata=true
Aanbevolen manier om een productfeed-URL te maken
Configureer de productfeed waar mogelijk eerst in MyDaisycon. Zo kun je eenvoudig compatibele instellingen selecteren en direct de gegenereerde URL kopiëren.
Handmatige URL-configuratie is vooral handig voor integraties die dynamisch productfeed-URL's opbouwen, specifieke velden nodig hebben, filters of paginering gebruiken of meerdere exportconfiguraties van dezelfde productfeed nodig hebben.