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

# Auftragsverwaltungssysteme

> Topsort-APIs mit Auftragsverwaltungssystemen verbinden für Kampagnenorchestrierung

export const LastUpdatedDe = ({date}) => {
  const label = "Zuletzt aktualisiert:";
  return <>
      <style>{`
        .last-updated-component {
          display: inline-flex;
          align-items: center;
          gap: 8px;
          padding: 10px 16px;
          border-radius: 8px;
          margin-top: 12px;
          margin-bottom: 16px;
          font-size: 14px;
          background-color: rgba(0, 0, 0, 0.05);
          border: 1px solid rgba(0, 0, 0, 0.12);
          color: rgba(0, 0, 0, 0.75);
          line-height: 1;
        }

        .last-updated-component svg {
          flex-shrink: 0;
          vertical-align: middle;
        }

        .last-updated-component span {
          display: inline-flex !important;
          align-items: center !important;
          line-height: 1 !important;
        }

        [data-theme="dark"] .last-updated-component {
          background-color: #3a3a3a;
          border: 2px solid #888888;
          color: #ffffff;
        }

        [data-theme="dark"] .last-updated-component svg {
          stroke: #ffffff;
        }
      `}</style>
      <div className="last-updated-component">
        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
          <circle cx="12" cy="12" r="10" />
          <polyline points="12 6 12 12 16 14" />
        </svg>
        <span>
          <strong style={{
    fontWeight: 600
  }}>{label}</strong> 
          <time dateTime={date}>{date}</time>
        </span>
      </div>
    </>;
};

# Topsort mit Auftragsverwaltungssystemen verbinden

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  **Auftragsverwaltungssysteme (OMS)** wie Vantage, Boostr, ADvendio und Placements.io helfen Einzelhändlern bei der Verwaltung von Kampagnenplanung, Buchung und Inventar. Sie können diese Systeme mit den APIs von Topsort integrieren, um die Erstellung und Verwaltung von Kampagnen zu automatisieren.
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  Dieser Leitfaden zeigt, wie Sie OMS mit Topsort unter Verwendung bestehender APIs für automatisierte Kampagnen-Workflows integrieren.
</div>

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/topsort/h-pUiNQBFh7nVN27/images/knowledge-base/oms-diagram-light.svg?fit=max&auto=format&n=h-pUiNQBFh7nVN27&q=85&s=ef36a1634d73cdd3dea851e244ea06f5" alt="Diagramm zur Darstellung der OMS-Konnektivität" width="890" height="251" data-path="images/knowledge-base/oms-diagram-light.svg" />

  <img className="hidden dark:block" src="https://mintcdn.com/topsort/h-pUiNQBFh7nVN27/images/knowledge-base/oms-diagram-dark.svg?fit=max&auto=format&n=h-pUiNQBFh7nVN27&q=85&s=d72d7cf127d66c23d927fb826a7ac30f" alt="Diagramm zur Darstellung der OMS-Konnektivität" width="890" height="251" data-path="images/knowledge-base/oms-diagram-dark.svg" />
</Frame>

## Workflows

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  Die OMS-Integration umfasst drei Haupt-Workflows für unterschiedliche Rollen und Zeitpunkte:
</div>

| **Workflow**                                                               | **Wer**                         | **Wann**              | **Ziel**                                                |
| -------------------------------------------------------------------------- | ------------------------------- | --------------------- | ------------------------------------------------------- |
| [Implementierungsleitfaden](#implementierungsleitfaden)                    | DevOps/Integrationsteam         | Einmalige Einrichtung | Automatisierte OMS ↔ Topsort-Synchronisation einrichten |
| [Kampagnenerstellung](#kampagnenerstellung-aus-oms-daten)                  | Kampagnenmanager/Vertriebsteams | Pro Kampagne          | Kampagnen automatisch aus OMS-Daten erstellen           |
| [Leistungssynchronisation](#abrufen-von-leistungsdaten-fur-oms-dashboards) | Marketingteams                  | Fortlaufend           | Kampagnenleistung in OMS-Dashboards abrufen             |

## Wie OMS-Integration funktioniert

1. **Kampagnenplanung**: Vertriebsteams planen Kampagnen in ihrer OMS-Oberfläche
2. **Automatisierte Erstellung**: OMS sendet Kampagnendaten über API-Aufrufe an Topsort
3. **Echtzeit-Updates**: Webhook-Benachrichtigungen halten Systeme synchronisiert
4. **Einheitliche Berichterstattung**: Leistungsdaten fließen zurück zu OMS-Dashboards

<Tip>
  **Unternehmensvorteil**: Die OMS-Integration eliminiert manuelle Kampagneneinrichtung,
  reduziert Fehler und ermöglicht Vertriebsteams die Verwaltung von Kampagnen im großen Maßstab ohne
  neue Tools zu erlernen.
</Tip>

## Implementierungsbeispiel

### Kampagnenerstellung aus OMS-Daten

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  **Rolle:** Kampagnenmanager/Vertriebsteams | **Häufigkeit:** Pro Kampagne
</div>

```javascript theme={null}
// Kampagnendaten von Ihrem OMS
const campaignData = {
  name: "Q4 Holiday Campaign - Brand X",
  budget: 15000,
  startDate: "2024-11-01",
  endDate: "2024-12-31",
  biddingStrategy: "target_roas",
  targetRoas: 4.5,
  vendorId: "vendor-123",
};

// Kampagne in Topsort erstellen
const response = await fetch("https://api.topsort.com/v2/campaigns", {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    name: campaignData.name,
    type: "sponsored_products",
    vendor_id: campaignData.vendorId,
    bidding_strategy: campaignData.biddingStrategy,
    target_roas: campaignData.targetRoas,
    budget: {
      amount: campaignData.budget,
      currency: "USD",
      period: "lifetime",
    },
    start_date: campaignData.startDate,
    end_date: campaignData.endDate,
  }),
});

const campaign = await response.json();
```

### Webhook-Integration für Echtzeit-Updates

```javascript theme={null}
// Webhook einrichten, um Kampagnen-Updates zu erhalten
const webhookPayload = {
  url: "https://your-oms.com/webhooks/topsort",
  events: ["campaign:create", "campaign:update", "campaign:delete"],
};

await fetch("https://api.topsort.com/v2/webhooks", {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify(webhookPayload),
});

// Webhook in Ihrem OMS verarbeiten
app.post("/webhooks/topsort", (req, res) => {
  const { channel, payload } = req.body;

  switch (channel) {
    case "campaign:create":
      updateOMSCampaignStatus(payload.campaign_id, "active");
      break;
    case "campaign:update":
      syncCampaignData(payload);
      break;
  }

  res.status(200).send("OK");
});
```

## API-Referenz

### Aktuelle Topsort-APIs für Integration

| API                                                          | Integrations-Anwendungsfall                                | Status      | Dokumentation                                  |
| ------------------------------------------------------------ | ---------------------------------------------------------- | ----------- | ---------------------------------------------- |
| [Campaign API](/de/ad-server/additional-apis/campaign-api)   | Kampagnen mit Gebotsstrategie, Budget, Targeting erstellen | ✅ Verfügbar | Vollständiges Kampagnen-Lebenszyklusmanagement |
| [Assets API](/de/ad-server/additional-apis/assets-api)       | Asset-URLs in Kampagnen referenzieren                      | ✅ Verfügbar | Asset- und Sammlungsverwaltung                 |
| [Reporting API](/de/ad-server/additional-apis/reporting-api) | Leistungsdaten zu OMS/Dashboards abrufen                   | ✅ Verfügbar | Kampagnen-, Anbieter-, Marketplace-Berichte    |
| [Auctions API](/de/ad-server/auctions/auctions-api)          | Auktions- und Gebotsparameter konfigurieren                | ✅ Verfügbar | Auktionskonfiguration                          |

### Authentifizierung

```http theme={null}
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
```

### Massen-Kampagnenoperationen

```javascript theme={null}
// Mehrere Kampagnen aus einem OMS-Batch erstellen
async function createBulkCampaigns(campaignsList) {
  const results = [];

  for (const campaignData of campaignsList) {
    try {
      const response = await fetch("https://api.topsort.com/v2/campaigns", {
        method: "POST",
        headers: {
          Authorization: "Bearer YOUR_API_KEY",
          "Content-Type": "application/json",
        },
        body: JSON.stringify(campaignData),
      });

      const campaign = await response.json();
      results.push({ success: true, campaign });
    } catch (error) {
      results.push({ success: false, error: error.message });
    }
  }

  return results;
}
```

### Abrufen von Leistungsdaten für OMS-Dashboards

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  **Rolle:** Marketingteams | **Häufigkeit:** Fortlaufend/Geplant
</div>

```javascript theme={null}
// Kampagnenleistung zu OMS abrufen
async function syncPerformanceData(campaignId) {
  const reportResponse = await fetch(
    `https://api.topsort.com/v2/reports/campaigns/${campaignId}`,
    {
      method: "GET",
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
      },
    }
  );

  const performanceData = await reportResponse.json();

  // OMS-Dashboard mit Leistungsmetriken aktualisieren
  await updateOMSDashboard(campaignId, {
    impressions: performanceData.impressions,
    clicks: performanceData.clicks,
    spend: performanceData.spend,
    conversions: performanceData.conversions,
  });
}
```

## Best Practices

### Datensynchronisation

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  * **Feldzuordnung**: Ordnen Sie OMS-Kampagnenfelder den Topsort-API-Parametern zu
  * **Datenvalidierung**: Validieren Sie Kampagnendaten vor dem Senden an Topsort-APIs
  * **Massenoperationen**: Verwenden Sie Batch-Verarbeitung für unternehmensweites Kampagnenmanagement
</div>

### Fehlerbehandlung

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  * **Wiederholungslogik**: Implementieren Sie exponentiellen Backoff für fehlgeschlagene API-Aufrufe
  * **Umfassende Protokollierung**: Verfolgen Sie alle API-Interaktionen und -Fehler
  * **Gesundheitsüberwachung**: Richten Sie Benachrichtigungen für Integrationsprobleme ein
</div>

### Sicherheit

<Warning>
  **Sicherheitsanforderungen**: OMS-Integrationen verarbeiten sensible Kampagnen- und Finanzdaten.
  Gewährleisten Sie ordnungsgemäße Authentifizierung, Datenvalidierung und sichere
  API-Schlüsselverwaltung.
</Warning>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  * **API-Schlüsselverwaltung**: Speichern Sie API-Schlüssel sicher und rotieren Sie sie regelmäßig
  * **Rate Limiting**: Beachten Sie API-Rate-Limits, um Throttling zu vermeiden
  * **Eingabebereinigung**: Validieren Sie alle Daten vor dem Senden an APIs
</div>

## Implementierungsleitfaden

<Steps>
  <Step title="API-Zugriff einrichten">
    <div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
      Erhalten Sie Topsort-API-Schlüssel und konfigurieren Sie die Authentifizierung:
    </div>

    * Fordern Sie einen erweiterten API-Schlüssel von Ihrem Topsort-Vertreter an
    * Speichern Sie API-Schlüssel sicher in Ihren Umgebungsvariablen
    * Konfigurieren Sie Authentifizierungs-Header für alle API-Aufrufe
  </Step>

  <Step title="Webhooks konfigurieren">
    <div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
      Richten Sie Webhook-Endpunkte für Echtzeit-Kampagnen-Updates ein:
    </div>

    * Erstellen Sie einen Webhook-Endpunkt in Ihrem OMS-System
    * Registrieren Sie die Webhook-URL bei Topsort für Kampagnenereignisse
    * Implementieren Sie Handler für Kampagnenerstellungs-/Aktualisierungs-/Löschereignisse
  </Step>

  <Step title="Datenfeldzuordnung">
    <div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
      Ordnen Sie OMS-Kampagnenfelder den Topsort-API-Parametern zu:
    </div>

    * Dokumentieren Sie Feldzuordnungen zwischen Systemen
    * Implementieren Sie Datentransformationslogik
    * Validieren Sie, dass erforderliche Felder vorhanden sind
  </Step>

  <Step title="Fehlerbehandlung implementieren">
    <div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
      Erstellen Sie umfassende Fehlerbehandlung und Wiederholungslogik:
    </div>

    * Implementieren Sie exponentiellen Backoff für fehlgeschlagene API-Aufrufe
    * Fügen Sie umfassende Protokollierung für Debugging hinzu
    * Richten Sie Benachrichtigungen für Integrationsfehler ein
  </Step>

  <Step title="Tests und Validierung">
    <div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
      Testen Sie die Integration mit Sandbox-Daten vor der Produktion:
    </div>

    * Erstellen Sie Test-Kampagnen über den OMS-Workflow
    * Überprüfen Sie, dass Kampagnen korrekt in Topsort erscheinen
    * Testen Sie Webhook-Zustellung und -Verarbeitung
  </Step>

  <Step title="Überwachung und Wartung">
    <div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
      Richten Sie kontinuierliche Überwachung für die Integration ein:
    </div>

    * Verfolgen Sie Erfolgs-/Fehlerquoten von API-Aufrufen
    * Überwachen Sie die Leistung der Kampagnenerstellung
    * Richten Sie Dashboards für Integrationsgesundheit ein
  </Step>
</Steps>

## Verwandte Ressourcen

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  * [DAM-Integrationsleitfaden](/de/knowledge-base/ad-server/dam-connectivity) - Digital Asset Management-Konnektivität
  * [Campaign API-Dokumentation](/de/ad-server/additional-apis/campaign-api)
  * [Reporting API-Dokumentation](/de/ad-server/additional-apis/reporting-api)
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  ***
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  *Bereit, Ihr OMS mit Topsort zu integrieren? Kontaktieren Sie Ihren Account-Vertreter, um mit API-Zugriff und Implementierungsunterstützung zu beginnen.*
</div>

***

<LastUpdatedDe date="2025-11-18" />
