---
title: Проверка на съответствието на паспорт
description: Тристепенна оценка за съответствие за един паспорт, с findings, цитиращи регламента — анализ на пропуските, поправка, повторна проверка.
canonical: "https://www.tracepass.eu/bg/docs/passport-compliance"
locale: bg
source: "https://www.tracepass.eu/bg/docs/passport-compliance"
---

# Проверка на съответствието на паспорт

> Тристепенна оценка за съответствие за един паспорт, с findings, цитиращи регламента — анализ на пропуските, поправка, повторна проверка.

```http
GET /api/v1/passports/{id}/compliance
```

Връща тристепенна оценка за съответствие за един паспорт — `compliant`, `compliant_with_warnings` или `incomplete` — заедно с findings, цитиращи регламента, така че интеграция може да направи анализ на пропуските на паспорт, да поправи цитираните пропуски и да извика отново за потвърждение. Тази верига четене → поправка → проверка е целта: отговорът казва на AI агента точно какво да зададе след това.

Findings идват от три нива. **Static**: задължителни template полета, които липсват или не са одобрени, и задължителни operatori, които не са зададени, са `critical`; стойности на полета, които нарушават формата на template (pattern / enum / граници) са `warning`. **Conditional**: правила по категория, които са в сила днес — обхватът на паспорта на батерията по Регламент (ЕС) 2023/1542 чл. 77, разкриването на SVHC по REACH чл. 33 / SCIP, декларацията за експлоатационни показатели по Регламент (ЕС) 2024/3110 — плюс междусекторното правило, че продукт, пуснат на пазара на ЕС от производител извън ЕС, се нуждае от operator, установен в ЕС (Регламент (ЕС) 2019/1020 чл. 4).

**Прочетете `conditionalCoverage`.** Той е `evaluated`, когато conditional правилата са изпълнени за тази категория, или `static-only`, когато все още няма обвързващо conditional правило в сила (8 от 12-те категории днес). Когато е `static-only`, липсата на conditional findings НЕ означава, че категорията няма бъдещи изисквания — а само че все още няма правно обвързващи. Finding, маркиран `unverifiable_conditional`, означава, че правило се прилага, но данните, необходими за оценката му (напр. категория на батерията, SVHC съдържание), не са в паспорта — проверете го ръчно. Само за четене; брои се като едно v1 четене на паспорт спрямо дневния лимит.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Authorization` | header | string | yes | `Bearer <api-key>`. |
| `id` | path | ObjectId | yes | ID на паспорта. |

## Examples

```bash
curl -sS \
  https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/compliance \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"
```

```typescript
const res = await fetch(
  `https://app.tracepass.eu/api/v1/passports/${id}/compliance`,
  { headers: { Authorization: `Bearer ${process.env.TRACEPASS_API_KEY}` } },
);
const verdict = await res.json();

if (verdict.verdict === "incomplete") {
  // Each critical finding names the field/party to set and cites the regulation.
  for (const f of verdict.critical) {
    console.log(`${f.target}: ${f.why} (${f.regulation ?? ""} ${f.article ?? ""})`);
  }
}
```

```python
import os, requests
res = requests.get(
    f"https://app.tracepass.eu/api/v1/passports/{passport_id}/compliance",
    headers={"Authorization": f"Bearer {os.environ['TRACEPASS_API_KEY']}"},
)
res.raise_for_status()
verdict = res.json()
for f in verdict["critical"]:
    print(f["target"], "—", f["why"], f.get("regulation", ""), f.get("article", ""))
```

## Responses

### 200 — incomplete

```json
{
  "verdict": "incomplete",
  "category": "battery",
  "conditionalCoverage": "evaluated",
  "critical": [
    {
      "type": "conditional_missing",
      "severity": "critical",
      "target": "batteryUniqueIdentifier",
      "regulation": "(EU) 2023/1542",
      "article": "Art. 77",
      "ruleId": "BAT-1",
      "why": "This is an in-scope battery (EV); a battery passport with its unique identifier is mandatory.",
      "fix": "Provide batteryUniqueIdentifier — the battery passport's unique identifier (GS1 Digital Link)."
    }
  ],
  "warnings": [],
  "checkedRules": ["static:required-fields", "static:required-parties", "static:format", "BAT-1", "CC-1"],
  "completionPercentage": 72
}
```

### 200 — compliant

```json
{
  "verdict": "compliant",
  "category": "furniture",
  "conditionalCoverage": "static-only",
  "critical": [],
  "warnings": [],
  "checkedRules": ["static:required-fields", "static:required-parties", "static:format", "CC-1"],
  "completionPercentage": 100
}
```

### 404 — Не е намерен

```json
{ "error": "Passport not found" }
```

## Related

- [Прочитане на паспорт](https://www.tracepass.eu/bg/docs/get-passport.md)
- [Обновяване на поле](https://www.tracepass.eu/bg/docs/update-field.md)
- [Задаване на оператор](https://www.tracepass.eu/bg/docs/upsert-party.md)
