# Apivom Atlas — TOBB Web Servisleri (Şirket Kartı + TTSG Abone)

> Apivom Atlas integration for TOBB Web Servisleri (Şirket Kartı + TTSG Abone): 12 gateway routes over `ttsg.tobb.org.tr`, available through the Apivom platform (Apivom Iris workflows and the Apivom Atlas API portal). Auth model: credential fields supplied per request by the caller.

Notes for AI assistants:

- This catalog mirrors the vendor's public API surface as registered in Apivom Atlas (12 read-only, 0 write routes).
- Access is provisioned per customer. Commercialized providers are self-service in the Atlas portal; for everything else [request a demo](https://apivom.com/en/demo).
- Credentials are always owned by the calling tenant — Apivom Atlas is a stateless gateway.

## Routes

- `POST /webservis12.php` (company-card-basic, read-only) — params: Kodu, Sifre, VergiNo
- `POST /webservis13.php` (company-card-address-nace, read-only) — params: Kodu, Sifre, VergiNo
- `POST /webservis14.php` (company-card-partners, read-only) — params: Kodu, Sifre, VergiNo
- `POST /webservis15.php` (company-card-full, read-only) — params: Kodu, Sifre, VergiNo
- `POST /webservis16.php` (branch-card, read-only) — params: Kodu, Sifre, MersisNo
- `POST /webservis12.php` (balance-query, read-only) — params: Kodu, Sifre
- `POST /webservis04.php` (d1-abone-listesi, read-only)
- `POST /webservis04.php` (d1-gazete-pdf, read-only)
- `POST /webservis05.php` (d2-abone-listesi, read-only)
- `POST /webservis05.php` (d2-gazete-pdf, read-only)
- `POST /webservis09.php` (d3-abone-listesi, read-only)
- `POST /webservis09.php` (d3-gazete-pdf, read-only)

## Credential model

- Şirket Kartı API Kodu (Kodu) (`apiCode`)
- Şirket Kartı API Şifresi (Sifre) (`apiPassword`) — secret
- TTSG Abone Kullanıcı Kodu (UserKodu) (`userCode`)
- TTSG Abone Kullanıcı Şifresi (UserSifre) (`userPassword`) — secret

## Optional

- [Apivom Atlas product page](https://apivom.com/en/products/atlas)
- [All Atlas integration guides](https://apivom.com/llms.txt)
- [Request a demo](https://apivom.com/en/demo)

## Commercial API (self-service, prepaid)

> Official Turkish trade-registry (MERSIS) company data — four company-card detail levels plus branch cards, resold per query. Prepaid, per-query priced REST API. All prices are net TRY (VAT-excluded). Authentication: per-tenant API key in the `x-api-key` header.

Instructions for AI assistants integrating this API:

- Base URL: `https://atlas.apivom.com`
- Every request MUST send the header `x-api-key: <your API key>` (issued in the Apivom Atlas Portal; rotatable at any time).
- Charges are prepaid: each successful data-returning query debits the tenant balance at the route price below. Queries that return no data are not charged.
- Repeat queries with the same parameters are served from a server-side cache FREE of charge (`"cached": true` in the response). Append `?force=true` to the query URL to bypass the cache and fetch fresh data (charged at the route price).
- HTTP 402 means the prepaid balance is insufficient — top up before retrying.
- Never place the API key in URLs or client-side code; call from your backend only.

## Endpoints

### Check prepaid balance

```
GET https://atlas.apivom.com/tobb/api/v1/balance
```

Response: `{ "balanceMinor": "50000", "currency": "TRY", "recentLedger": [...] }` — `balanceMinor` is in kuruş (minor units).

### Company Card 1 — Basic info — 15.00 TL per query

Core registry record by tax number: trade name, MERSIS no, registry office, status.

```
POST https://atlas.apivom.com/tobb/api/v1/query/company-card-basic
Content-Type: application/json
x-api-key: <your API key>

{
  "VergiNo": "1234567890"
}
```

Response envelope: `{ "data": <upstream body>, "upstreamStatus": <int>, "charged": <bool>, "chargeMinor": "<minor units or null>", "cached": <bool> }` — `cached: true` responses are free. Add `?force=true` for a fresh (charged) query.

### Company Card 2 — Address + NACE — 30.00 TL per query

Level 1 plus registered address and NACE activity codes.

```
POST https://atlas.apivom.com/tobb/api/v1/query/company-card-address-nace
Content-Type: application/json
x-api-key: <your API key>

{
  "VergiNo": "1234567890"
}
```

Response envelope: `{ "data": <upstream body>, "upstreamStatus": <int>, "charged": <bool>, "chargeMinor": "<minor units or null>", "cached": <bool> }` — `cached: true` responses are free. Add `?force=true` for a fresh (charged) query.

### Branch Card — Branch registry record — 45.00 TL per query

Branch (şube) registry record by MERSIS number.

```
POST https://atlas.apivom.com/tobb/api/v1/query/branch-card
Content-Type: application/json
x-api-key: <your API key>

{
  "MersisNo": "0123456789012345"
}
```

Response envelope: `{ "data": <upstream body>, "upstreamStatus": <int>, "charged": <bool>, "chargeMinor": "<minor units or null>", "cached": <bool> }` — `cached: true` responses are free. Add `?force=true` for a fresh (charged) query.

### Company Card 3 — Partners & officers — 45.00 TL per query

Level 2 plus partners, shareholders and authorized officers.

```
POST https://atlas.apivom.com/tobb/api/v1/query/company-card-partners
Content-Type: application/json
x-api-key: <your API key>

{
  "VergiNo": "1234567890"
}
```

Response envelope: `{ "data": <upstream body>, "upstreamStatus": <int>, "charged": <bool>, "chargeMinor": "<minor units or null>", "cached": <bool> }` — `cached: true` responses are free. Add `?force=true` for a fresh (charged) query.

### Company Card 4 — Full dataset — 60.00 TL per query

Complete record incl. capital, bankruptcy/concordat status and history.

```
POST https://atlas.apivom.com/tobb/api/v1/query/company-card-full
Content-Type: application/json
x-api-key: <your API key>

{
  "VergiNo": "1234567890"
}
```

Response envelope: `{ "data": <upstream body>, "upstreamStatus": <int>, "charged": <bool>, "chargeMinor": "<minor units or null>", "cached": <bool> }` — `cached: true` responses are free. Add `?force=true` for a fresh (charged) query.

## Error codes

- `401 MISSING_API_KEY` / `401 INVALID_API_KEY` — missing or unknown key
- `403 FEATURE_DISABLED` — the provider/route is not enabled for your tenant
- `402 INSUFFICIENT_BALANCE` — prepaid balance too low; top up first
- `404 PROVIDER_NOT_FOUND` / `404 ROUTE_NOT_FOUND` — unknown provider or route
- `502 UPSTREAM_ERROR` / `503 NO_CREDENTIAL` — temporary upstream problem; retry later

## Optional

- [Portal (balance, logs, key management)](https://atlas.apivom.com/portal)
- [This guide as markdown](https://atlas.apivom.com/portal/docs/tobb/llms.txt)

