> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Exportera API-anropsposter från AceDataCloud-plattformen

> Platform API guide - Ace Data Cloud

Ladda ner API-anropsdetaljer för det aktuella kontot direkt som CSV, lämpligt för ekonomisk avstämning, offlineanalys eller sparande av stora mängder poster. Om du endast behöver visa ett mindre antal detaljer på sidan, använd först [lista över anropsposter](https://platform.acedata.cloud/documents/platform-usage-list).

## Förberedelser

1. Logga in på [AceDataCloud-plattformen](https://platform.acedata.cloud).
2. Skapa en kontotoken i [Account Token-konsolen](https://platform.acedata.cloud/console/platform-tokens) och spara den omedelbart i lösenordshanteraren eller Secret Manager.
3. Hämta efter behov filtrerings-ID:n från [listan över tjänsteansökningar](https://platform.acedata.cloud/documents/platform-application-list), [listan över API-autentiseringsuppgifter](https://platform.acedata.cloud/documents/platform-credential-list) eller [API-listan](https://platform.acedata.cloud/documents/platform-api-list).

Fullständig tokenbeskrivning finns i [hantera kontotoken](https://platform.acedata.cloud/documents/platform-token). Kontotoken och Credential för anrop av affärs-API:er kan inte användas omväxlande.

```shell theme={null}
export PLATFORM_TOKEN='你的账户令牌'
```

## API-översikt

| Objekt | Innehåll |
| - | - |
| Metod | `GET` |
| URL | `https://platform.acedata.cloud/api/v1/usage/apis/export/` |
| Autentisering | `Authorization: Bearer ${PLATFORM_TOKEN}` |
| OAuth Scope | `usage:read`（`platform:read` / `platform` 可展开包含） |
| Svar | `200 text/csv; charset=utf-8` |
| Filnamn | `usages.csv` |

Detta API returnerar CSV synkront som en ström, skapar ingen exportuppgift och returnerar inte heller JSON eller någon nedladdningslänk. Endast när både start- och sluttid inte anges exporteras poster från början av den aktuella kalendermånaden till den aktuella tidpunkten som standard; om endast en gräns anges fylls den andra gränsen inte automatiskt i med månadens gräns.

## Frågeparametrar

| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
| - | - | - | - | - |
| `perspective` | string | Nej | `both` | `billing`、`actor` 或 `both` |
| `service_id` | UUID | Nej | — | Filtrera efter tjänst; stödjer upprepade parametrar |
| `application_id` | UUID | Nej | — | Filtrera efter Application; stödjer upprepade parametrar |
| `api_id` | UUID | Nej | — | Filtrera efter API; stödjer upprepade parametrar |
| `credential_id` | UUID | Nej | — | Filtrera efter API-autentiseringsuppgift; stödjer upprepade parametrar |
| `status_code` | integer | Nej | — | Stödjer upprepade eller kommaseparerade värden |
| `created_at_from` | datetime | Nej | — | ISO 8601-starttid |
| `created_at_to` | datetime | Nej | — | ISO 8601-sluttid |

Exportomfånget är alltid begränsat till poster som är synliga för det aktuella kontot som betalningsansvarig och/eller faktisk anropare, och export över flera konton stöds inte.

## Begäransexempel

Spara CSV för den aktuella månaden direkt:

```shell theme={null}
curl --fail-with-body --location \
  'https://platform.acedata.cloud/api/v1/usage/apis/export/' \
  -H "Authorization: Bearer ${PLATFORM_TOKEN}" \
  --output usages.csv
```

Exportera efter Application, tid och statuskod:

```shell theme={null}
export APPLICATION_ID='你的 Application ID'

curl --fail-with-body --get \
  'https://platform.acedata.cloud/api/v1/usage/apis/export/' \
  --data-urlencode "application_id=${APPLICATION_ID}" \
  --data-urlencode 'status_code=200,500' \
  --data-urlencode 'created_at_from=2026-09-01T00:00:00Z' \
  --data-urlencode 'created_at_to=2026-09-08T00:00:00Z' \
  -H "Authorization: Bearer ${PLATFORM_TOKEN}" \
  --output usages.csv
```

Python för strömmande sparande och kontroll av fullständighet:

```python theme={null}
import os
from pathlib import Path

import requests

url = "https://platform.acedata.cloud/api/v1/usage/apis/export/"
headers = {"Authorization": f"Bearer {os.environ['PLATFORM_TOKEN']}"}
params = {
    "created_at_from": "2026-09-01T00:00:00Z",
    "created_at_to": "2026-09-08T00:00:00Z",
    "perspective": "both",
}
output = Path("usages.csv")

with requests.get(url, headers=headers, params=params, stream=True, timeout=120) as response:
    response.raise_for_status()
    if not response.headers.get("content-type", "").startswith("text/csv"):
        raise RuntimeError("服务器没有返回 CSV")
    with output.open("wb") as file:
        for chunk in response.iter_content(chunk_size=64 * 1024):
            file.write(chunk)

last_line = output.read_text(encoding="utf-8").splitlines()[-1]
if last_line.startswith("# truncated:") or last_line.startswith("# error:"):
    raise RuntimeError(f"导出不完整：{last_line}")
```

## CSV-kolumner

CSV-rubrikernas ordning är fast:

```text theme={null}
Usage ID,API,Status Code,Deducted Amount,Original Amount,Trace ID,Created At
```

| Kolumn | Beskrivning |
| - | - |
| `Usage ID` | ID för anropspost |
| `API` | API-titel; kan vara API-ID eller tomt värde om matchning misslyckas |
| `Status Code` | HTTP-statuskod |
| `Deducted Amount` | Slutligt faktiskt avdragen kvot |
| `Original Amount` | Ursprunglig kvot före tillämpning av rabatt |
| `Trace ID` | Identifierare för begärandespårning |
| `Created At` | Postens skapandetid, ISO 8601 |

Kvotenheten bestäms av `service.unit` för motsvarande Application.

## Avgör om exporten är fullständig

En enskild export kan som mest ge ut 1 000 000 dataposter. Efter att servern har börjat returnera CSV kan ett fel mitt i processen inte längre ändras till någon annan HTTP-status, därför måste klienten kontrollera den sista raden:

* `# truncated:`：radgränsen har uppnåtts; exportera segmenterat med mindre tidsfönster.
* `# error:`：strömmande läsning avbröts; exportera igen efter att ha minskat omfånget.

När avstämningsprogrammet ser valfri marker måste det behandla filen som ofullständig och får inte bokföra den tyst.

## Fel och återförsök

| Situation | Hantering |
| - | - |
| `400 usage_history_expired` | Använd `available_from` i svaret för att justera till de senaste 60 dagarna |
| `401 not_authenticated` | Kontrollera att Account Token finns, är korrekt och inte har tagits bort |
| Icke-CSV-svar | Spara inte som en lyckad fil; läs först felsvaret och korrigera begäran |
| Nedladdning avbruten eller marker | Minska tidsfönstret och exportera igen med en backoff-strategi |

## Nästa steg

* [Visa anropsposter](https://platform.acedata.cloud/documents/platform-usage-list)：filtrera online och lokalisera enskilda begäranden.
* [Aggregera anropsvolym](https://platform.acedata.cloud/documents/platform-usage-aggregate)：visa data sammanställda efter datum, API eller modell.
* [Visa detaljer för tjänsteansökan](https://platform.acedata.cloud/documents/platform-application-detail)：kontrollera kvotenhet och återstående kvot.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.