> For the complete documentation index, see [llms.txt](https://help.citrusad.com/retail-media-interface/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.citrusad.com/retail-media-interface/partner/sk/partner-api-overview/error-handling.md).

# Spracovanie chýb

Epsilon Retail Media Partner APIs sa riadia štruktúrovaným a konzistentným prístupom k spracovaniu chýb. To zaisťuje, že odpovede na chyby sú predvídateľné, ľahko spracovateľné a užitočné pri ladení.

## Štruktúra chybovej odpovede

Keď sa vyskytne chyba, API vráti:

* Štandardný stavový kód HTTP.
* Štruktúrované telo JSON s poľami code, message a voliteľným poľom details.
* Zoznam porušení na úrovni polí (ak je to relevantné), čo klientom umožňuje opraviť viacero problémov naraz.

## Základné stratégie pre spracovanie chýb

Ak narazíte na chybu, postupujte podľa týchto krokov:

1. **Pozorne si prečítajte chybovú správu** - Chybová odpoveď poskytuje konkrétne informácie o tom, čo sa pokazilo a ktoré pole problém spôsobilo.
2. **Skontrolujte stránku koncového bodu** - Ak si nie ste istí, ako postupovať, skontrolujte konkrétnu stránku pre koncový bod, ktorý používate.
3. **Kontaktujte podporu** - Ak problémy pretrvávajú, môžete vytvoriť prípad v našom portáli podpory. Uveďte prosím:
   * Presné volanie API, ktoré vykonávate.
   * Konkrétneho predajcu a tím.
   * Konkrétnu entitu, ktorú vytvárate/aktualizujete.
   * Úplnú chybovú odpoveď, ktorú vidíte.

Tieto informácie pomôžu nášmu tímu asistovať vám efektívne a účinne.

### Príklad jedného porušenia

```json
{
  "code": 3,
  "message": "Invalid argument(s) for product campaign creation",
  "details": [
    {
      "@type": "type.googleapis.com/google.rpc.BadRequest",
      "fieldViolations": [
        {
          "field": "maxBid",
          "description": "[maxBid] must be greater or equal [minBid]"
        }
      ]
    }
  ]
}
```

### Príklad viacerých porušení

```json
{
  "code": 3,
  "message": "Invalid argument(s) for product campaign update",
  "details": [
    {
      "@type": "type.googleapis.com/google.rpc.BadRequest",
      "fieldViolations": [
        {
          "field": "strategy.fixedTenancy.catalogCosts",
          "description": "all catalog cost percentages for fixed tenancy must sum to 100%"
        },
        {
          "field": "strategy.fixedTenancy.catalogCosts",
          "description": "fixed tenancy catalog cost [...] is duplicated in the list"
        }
      ]
    }
  ]
}
```

## Štandardné stavové kódy HTTP

| Stavový kód HTTP          | Význam                            | Kedy sa vyskytuje                                      |
| ------------------------- | --------------------------------- | ------------------------------------------------------ |
| 200 OK                    | Požiadavka bola úspešná           | Úspešné volanie API                                    |
| 204 No Content            | Úspech, bez tela odpovede         | Úspešná požiadavka bez návratového obsahu              |
| 400 Bad Request           | Neplatný vstup                    | Chybne formátovaná požiadavka alebo zlyhanie validácie |
| 401 Unauthorized          | Chýbajúci alebo neplatný token    | Token nebol poskytnutý alebo vypršala jeho platnosť    |
| 403 Forbidden             | Prístup zamietnutý                | Token je platný, ale chýbajú oprávnenia                |
| 404 Not Found             | Zdroj sa nenašiel                 | Neplatný koncový bod alebo ID zdroja                   |
| 409 Conflict              | Duplicitné alebo konfliktné údaje | Zdroj už existuje alebo porušuje obmedzenia            |
| 429 Too Many Requests     | Prekročený limit požiadaviek      | Príliš veľa požiadaviek za krátky čas                  |
| 500 Internal Server Error | Problém na strane servera         | Neočakávaná chyba na serveri                           |
| 503 Service Unavailable   | Dočasný výpadok                   | Služba je nedostupná alebo prebieha údržba             |

## Mapovanie chybových kódov z gRPC na HTTP

| Kód gRPC | Názov gRPC           | Kód HTTP | Názov HTTP            |
| -------- | -------------------- | -------- | --------------------- |
| 0        | OK                   | 200      | OK                    |
| 1        | CANCELLED            | 499      | Client Closed Request |
| 2        | UNKNOWN              | 500      | Internal Server Error |
| 3        | INVALID\_ARGUMENT    | 400      | Bad Request           |
| 4        | DEADLINE\_EXCEEDED   | 504      | Gateway Timeout       |
| 5        | NOT\_FOUND           | 404      | Nenájdené             |
| 6        | ALREADY\_EXISTS      | 409      | Konflikt              |
| 7        | PERMISSION\_DENIED   | 403      | Zakázané              |
| 8        | RESOURCE\_EXHAUSTED  | 429      | Príliš veľa žiadostí  |
| 9        | FAILED\_PRECONDITION | 400      | Bad Request           |
| 10       | ABORTED              | 409      | Konflikt              |
| 11       | OUT\_OF\_RANGE       | 400      | Bad Request           |
| 12       | UNIMPLEMENTED        | 501      | Neimplementované      |
| 13       | INTERNAL             | 500      | Internal Server Error |
| 14       | UNAVAILABLE          | 503      | Služba nedostupná     |
| 15       | DATA\_LOSS           | 500      | Internal Server Error |
| 16       | UNAUTHENTICATED      | 401      | Neautorizované        |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.citrusad.com/retail-media-interface/partner/sk/partner-api-overview/error-handling.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
