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

# SDKs

> Kostenlose Zippendo-Client-Bibliotheken für TypeScript, Python, PHP, Go und Ruby.

Mit den SDKs kann dein Entwickler deinen Onlineshop, dein ERP- oder Lagerverwaltungssystem mit wenigen Zeilen Code an Zippendo anbinden, statt rohe HTTP-Aufrufe zu schreiben. Es sind kostenlose Client-Bibliotheken für TypeScript, Python, PHP, Go und Ruby, und sie decken jeden Endpunkt der API-Referenz ab.

<CardGroup cols={2}>
  <Card title="TypeScript / JavaScript" icon="package" href="https://www.npmjs.com/package/@zippendo/sdk">
    npm: `@zippendo/sdk`
  </Card>

  <Card title="Python" icon="package" href="https://pypi.org/project/zippendo">
    PyPI: `zippendo`
  </Card>

  <Card title="PHP" icon="package" href="https://packagist.org/packages/zippendo/zippendo-php">
    Packagist: `zippendo/zippendo-php`
  </Card>

  <Card title="Go" icon="package" href="https://github.com/zippendo/zippendo-go">
    `github.com/zippendo/zippendo-go`
  </Card>

  <Card title="Ruby" icon="package" href="https://rubygems.org/gems/zippendo">
    RubyGems: `zippendo`
  </Card>
</CardGroup>

## Installation

<CodeGroup>
  ```bash npm theme={null}
  npm install @zippendo/sdk
  ```

  ```bash pip theme={null}
  pip install zippendo
  ```

  ```bash composer theme={null}
  composer require zippendo/zippendo-php
  ```

  ```bash go theme={null}
  go get github.com/zippendo/zippendo-go
  ```

  ```bash gem theme={null}
  gem install zippendo
  ```
</CodeGroup>

## Authentifizieren und den ersten Aufruf machen

Erstelle einen API-Token unter **API-Einstellungen** (öffne das Organisationsmenü unten in der Seitenleiste, dann **Verwalten**). Er beginnt mit `zipp_` und wird als Bearer-Token gesendet. Die Basis-URL ist standardmäßig `https://api.zippendo.com`.

<CodeGroup>
  ```ts TypeScript theme={null}
  import { Configuration, ShipmentsApi } from "@zippendo/sdk"

  const shipments = new ShipmentsApi(
    new Configuration({ accessToken: process.env.ZIPPENDO_API_TOKEN })
  )

  const page = await shipments.listShipments({ orgId: "org_8f3kd92ld0", page: 1, limit: 50 })
  console.log(page.data)
  ```

  ```python Python theme={null}
  import os
  import zippendo

  config = zippendo.Configuration(access_token=os.environ["ZIPPENDO_API_TOKEN"])
  with zippendo.ApiClient(config) as client:
      page = zippendo.ShipmentsApi(client).list_shipments("org_8f3kd92ld0", page=1, limit=50)
      print(page.data)
  ```

  ```php PHP theme={null}
  <?php
  require_once __DIR__ . "/vendor/autoload.php";

  $config = Zippendo\Sdk\Configuration::getDefaultConfiguration()
      ->setAccessToken(getenv("ZIPPENDO_API_TOKEN"));

  $shipments = new Zippendo\Sdk\Api\ShipmentsApi(new GuzzleHttp\Client(), $config);
  $page = $shipments->listShipments("org_8f3kd92ld0", 1, 50);
  ```

  ```go Go theme={null}
  client := zippendo.NewAPIClient(zippendo.NewConfiguration())
  ctx := context.WithValue(context.Background(), zippendo.ContextAccessToken, os.Getenv("ZIPPENDO_API_TOKEN"))

  page, _, err := client.ShipmentsAPI.ListShipments(ctx, "org_8f3kd92ld0").Page(1).Limit(50).Execute()
  ```

  ```ruby Ruby theme={null}
  require "zippendo"

  Zippendo.configure { |c| c.access_token = ENV["ZIPPENDO_API_TOKEN"] }
  page = Zippendo::ShipmentsApi.new.list_shipments("org_8f3kd92ld0", page: 1, limit: 50)
  ```
</CodeGroup>

<Info>
  Jeder Aufruf braucht die ID deiner Organisation (`orgId`). Ein API-Token gehört zu einer Organisation, und Aufrufe für jede andere Organisation werden abgelehnt. Um die ID nachzuschlagen, rufe `verifyApiToken` auf `TokensApi` mit deinem Token auf: Die Antwort enthält `orgId`. Siehe [REST-API-Schnellstart](/docs/de/quickstarts/rest-api).
</Info>

## Ressourcen

Jedes SDK hat pro Ressource einen Client, z. B. `ShipmentsApi`, `OrdersApi`, `CarriersApi`, `AddressesApi`, `RulesApi`, `WebhooksApi` und `TokensApi`, passend zu den Gruppen in der API-Referenz. Paginierung (`page`/`limit`), Anfragekörper und Fehlerbehandlung (Fehler enthalten `{ code, error, message }`) sind in der README des jeweiligen SDK beschrieben.

## Referenz

Durchsuche alle Endpunkte und probiere Anfragen im Playground aus, in der [API-Referenz](/docs/api-reference/overview).

<Tip>
  Entwickelst du mit KI-Agenten? Der [**MCP-Server**](/docs/de/mcp/overview) gibt Claude, Cursor, ChatGPT und anderen KI-Tools nach einer Anmeldung im Browser dieselben Aktionen, ganz ohne SDK-Installation.
</Tip>


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