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

# Supplier API

> Programmatisk åtkomst för serviceleverantörer: ta emot arbetsordrar, schemalägg servicebesök, skicka offerter och fakturor och hantera lager.

OpenWrench Supplier API ger serviceleverantörer programmatisk åtkomst till sin sida av plattformen: ta emot och uppdatera arbetsordrar, schemalägga och dokumentera servicebesök, skicka in offerter och fakturor, hämta WrenchMode-tekniktid och hantera inköp och lager.

## Bas-URL

```text theme={null}
https://api.useopenwrench.com/api/external
```

Alla leverantörsslutpunkter ligger under `/v1/supplier/`.

## Autentisering

Varje förfrågan måste innehålla **två rubriker**: `X-API-KEY` (din API-nyckel, utfärdad per leverantörskontakt) och `OW-KEY` (den delade hemligheten från OpenWrench som utfärdas tillsammans med den). Nyckeln avgränsar automatiskt varje förfrågan till din anläggning. Du ser bara arbetsordrar, fakturor och data som tillhör dig. Förfrågningar som saknar någon av rubrikerna returnerar `401`.

```bash theme={null}
curl -H "X-API-KEY: <your-key>" -H "OW-KEY: <shared-secret>" \
  "https://api.useopenwrench.com/api/external/v1/supplier/ping"
```

För att få en API-nyckel och en delad hemlighet, kontakta [support@useopenwrench.com](mailto:support@useopenwrench.com).

Nycklar löper inte ut av sig själva. För att rotera en, begär ett nytt par nyckel/delad hemlighet från supporten, driftsätt det nya paret och be sedan supporten återkalla det gamla.

## Hastighetsgränser

10 förfrågningar per 20-sekundersfönster per nyckel. Utöver det får du `429 Too Many Requests`: vänta minst 20 sekunder innan du försöker igen, och sprid ut bakgrundsjobb (till exempel fullständiga sidindelade exporter) så att de håller sig under gränsen.

## Hålla arbetsordrar synkroniserade

De flesta leverantörsintegrationer finns till för att spegla OpenWrench-arbetsorderkön till ett annat system. Bygg det på push, inte polling:

1. Registrera en [webhook](/sv/supplier-api/webhooks)-slutpunkt. OpenWrench skickar händelserna `workorder.create`, `workorder.status_update` och `workorder.new_note` när de inträffar.
2. Vid varje händelse, hämta just den arbetsordern med `GET /v1/supplier/work_order/work_orders/{id}`.
3. Använd `GET /v1/supplier/work_order/work_orders` endast för den engångsvisa initiala laddningen och för tillfällig avstämning, med ett smalt filter och en liten sida.

Polla inte list-slutpunkten enligt schema för att hitta nytt eller ändrat arbete. Den är den dyraste läsningen i API:et, den är långsam på stora köer och den konkurrerar med ditt riktiga arbete om hastighetsgränsen. Se [Arbetsordrar](/sv/supplier-api/work-orders#läsa-din-kö) för detaljerna.

## Svarshöljet

Svar för enskilda entiteter:

```json theme={null}
{ "type": "WorkOrder", "data": { "...": "..." }, "status": "ok" }
```

Listsvar lägger till ett totalt `count`:

```json theme={null}
{ "type": "WorkOrder", "data": [ "..." ], "count": 42, "status": "ok" }
```

Fel:

```json theme={null}
{ "message": "Human-readable message", "type": "NotFoundException", "status": "error", "traceId": "abc123def45" }
```

`401` betyder att uppgifter saknas eller är ogiltiga; `400` täcker felaktig indata, felaktiga filter och behörighetsavslag; `429` är hastighetsgränsen.

## Paginering och filtrering

List-slutpunkter accepterar `offset`, `limit` (standard 10, max 25), `sort_by` och `order` (`asc` | `desc`). Ytterligare frågeparametrar behandlas som fältfilter. Skicka ett fältnamn med ett värde (kommaseparera flera värden) för att filtrera resultatuppsättningen. Referensens sida för varje slutpunkt listar dess viktigare filter.

## Datumformat

De flesta tidsstämplar är ISO 8601-strängar med offset (t.ex. `2026-08-14T13:05:22.000-07:00`); vissa databastidsstämpelfält serialiseras som `yyyy-MM-dd HH:mm:ss.S`. Rena datum är `yyyy-MM-dd`.

När du skickar datum-tider, använd ISO 8601 med ett `T` mellan datum och tid och en explicit offset. Ett mellanslagsseparerat värde som `2026-09-10 10:43:00+00:00` är inte ISO 8601 och avvisas; skicka `2026-09-10T10:43:00.000+00:00` i stället. UTC kan skrivas som `+00:00` eller `Z`.

## Teknikertid

WrenchMode-slutpunkterna exponerar per-tekniker arbets- och körtid: `GET /v1/supplier/wrench_mode/events/analytics/{fromDate}/{toDate}` returnerar en per-tekniker sammanställning av körning/arbete/totalt (fönster max 1 månad), och `GET /v1/supplier/wrench_mode/events` returnerar den råa händelseloggen bakom det. Servicebesöks-utökningarna (`/with_work_logs`, `/with_tech_details`) ger den per-besök-historien.

## Detaljerade guider

Guiderna i den här fliken går igenom varje del av API:et i detalj, med payloads, statussemantik och integrationsmönster:

<CardGroup cols={2}>
  <Card title="Arbetsordrar" href="/sv/supplier-api/work-orders" icon="clipboard-list">
    Ta emot, acceptera eller avvisa, reservdelsstatusar, ECD, bilagor och anteckningar.
  </Card>

  <Card title="Webhooks" href="/sv/supplier-api/webhooks" icon="bolt">
    Nytt arbete, statusändringar och köparens anteckningar skickade till din slutpunkt.
  </Card>

  <Card title="Servicebesök" href="/sv/supplier-api/service-calls" icon="truck">
    Schemalägg, checka in, checka ut och sätt slutstatus.
  </Card>

  <Card title="WrenchMode" href="/sv/supplier-api/wrenchmode" icon="stopwatch">
    Analyser per tekniker och den råa händelseloggen för körning/arbete.
  </Card>

  <Card title="Offerter och fakturering" href="/sv/supplier-api/quotes-and-invoicing" icon="file-invoice-dollar">
    Skicka in förslag, fakturautkast och publicera med en PDF.
  </Card>

  <Card title="Inköp och lager" href="/sv/supplier-api/purchasing-and-inventory" icon="boxes-stacked">
    Från inköpsförfrågan till order till mottagning, kataloger och lager.
  </Card>

  <Card title="Referensdata" href="/sv/supplier-api/reference-data" icon="map-location-dot">
    Köparföretag, platser, tillgångar och hur datamaskering fungerar.
  </Card>

  <Card title="Filer och användare" href="/sv/supplier-api/files-and-users" icon="paperclip">
    Fillagringen bakom bilagor och teknikerprovisionering.
  </Card>
</CardGroup>
