Register a shop for the comparison
register_shopOne call registers a shop (P01): name, domain, delivery country, contact e-mail, the feed (its address in feed_url, or the file in feed_content / feed_base64), how commission is paid and the accepted partner terms version. An address is read at once through the SSRF guard (public hosts only, 422 url_rejected otherwise) with a 12 s cap; a file is decoded (at most 8 MB, gzip allowed, ZIP refused: 422 upload_zip_unsupported, 413 upload_too_large) and only its sha-256 and size are kept. Either way the feed is diagnosed (P04) and the 202 answer carries feed.health ok | warn | fail with the top three issues; the full report is stored on the request, feed_source says url or upload. One open request per domain: a second call updates it and answers the same id with duplicate: true; a declined domain may register again. The contact gets the shop_registration_received mail (its language: locale, else the country's default) with the confirmation link and the status page; the operator gets one notice. verification.ownership carries the token for the meta tag or file proof (verify_shop_domain). A shop on the ČOI / SOI risk list is refused (403). A registration never lists a shop by itself: the operator decides. A shop registered with a file only is listed as still being added until it sends a feed address. Follow it with get_shop_registration. Six calls a minute per caller.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| Yes | Contact e-mail of the shop; it receives the confirmation link and the decision. Never shown. | ||
| domain | Yes | The shop's domain or URL, e.g. www.obchod.cz. | |
| locale | No | Language of the mails (cs, sk, en, …); the country's default language when absent. | |
| country | Yes | Delivery country of the shop, ISO 3166-1 alpha-2 from GET /api/v1/deals/countries. | |
| website | No | Leave empty (spam trap: a filled value is discarded quietly). | |
| feed_url | No | The product feed (Heureka, Zboží, Google Merchant, Ceneo, Idealo, Árukereső XML or CSV). Read at once; the answer carries the diagnostics report. Public hosts only. Either this or a file. | |
| affiliate | Yes | How commission is paid: "own" = forDeal's own programme (5 % of the net order value, partner portal), a network name the country lists (ehub, cj, awin, dognet, …), "other", or "none". | |
| shop_name | Yes | The shop's name as it should appear in the comparison. | |
| feed_base64 | No | The feed file's bytes as base64, for a gzip-packed file (.xml.gz, .csv.gz). ZIP is refused: unpack it first. | |
| accept_terms | Yes | true = the contact accepts the partner terms of the given version. | |
| feed_content | No | The feed as a file instead of an address: the XML or CSV text itself (at most 8 MB). Checked once and dropped; only its sha-256 and size are kept. Regular price updates still need a feed_url later. | |
| feed_filename | No | The uploaded file's name, kept with its fingerprint. | |
| terms_version | Yes | The partner terms version being accepted; today 2026-10-09 (the terms are at /partner/smlouva). |