CRMCRM-Opportunities

CRM-Opportunities

Verkaufschancen im Talkturo-CRM verfolgen — Opportunities mit Pipeline-Phasen, Beträgen, Wahrscheinlichkeiten und Aktivitätshistorie erstellen, auflisten, aktualisieren und löschen.

curl -X GET "https://api.talkturo.com/api/crm/opportunities?teamId=team_7c42m9ab&stage=proposal&ownerUserId=usr_5d18c2ef&limit=20&offset=0" \
  -H "Cookie: sb-access-token=session_example_7fd82k"
{
  "opportunities": [
    {
      "id": "opp_4b29d7e1",
      "teamId": "team_7c42m9ab",
      "name": "Annual renewal - Acme GmbH",
      "primaryContactId": "cnt_8c13fa20",
      "stage": "proposal",
      "amount": 24000,
      "currency": "EUR",
      "probability": 70,
      "expectedCloseDate": "2025-10-15",
      "ownerUserId": "usr_5d18c2ef"
    }
  ],
  "count": 1,
  "limit": 20,
  "offset": 0,
  "stageTotals": {
    "lead": 0,
    "qualified": 0,
    "proposal": 24000,
    "negotiation": 0,
    "won": 0,
    "lost": 0
  }
}
curl -X POST "https://api.talkturo.com/api/crm/opportunities" \
  -H "Content-Type: application/json" \
  -H "Cookie: sb-access-token=session_example_7fd82k" \
  -d '{
    "teamId": "team_7c42m9ab",
    "name": "Expansion deal - Nordstern AG",
    "primaryContactId": "cnt_28d91fa4",
    "stage": "qualified",
    "amount": 18500,
    "currency": "EUR",
    "probability": 45,
    "expectedCloseDate": "2025-10-15",
    "ownerUserId": "usr_5d18c2ef",
    "notes": "Budget ist für das vierte Quartal vorgesehen.",
    "customFields": {
      "region": "DACH",
      "contractType": "expansion"
    }
  }'
{
  "success": true,
  "opportunity": {
    "id": "opp_91cd34ab",
    "teamId": "team_7c42m9ab",
    "name": "Expansion deal - Nordstern AG",
    "primaryContactId": "cnt_28d91fa4",
    "stage": "qualified",
    "amount": 18500,
    "currency": "EUR",
    "probability": 45,
    "expectedCloseDate": "2025-10-15",
    "ownerUserId": "usr_5d18c2ef",
    "notes": "Budget ist für das vierte Quartal vorgesehen.",
    "customFields": {
      "region": "DACH",
      "contractType": "expansion"
    }
  }
}
curl -X GET "https://api.talkturo.com/api/crm/opportunities/opp_4b29d7e1" \
  -H "Cookie: sb-access-token=session_example_7fd82k"
{
  "success": true,
  "opportunity": {
    "id": "opp_4b29d7e1",
    "teamId": "team_7c42m9ab",
    "name": "Annual renewal - Acme GmbH",
    "primaryContactId": "cnt_8c13fa20",
    "stage": "proposal",
    "amount": 24000,
    "currency": "EUR",
    "probability": 70,
    "expectedCloseDate": "2025-10-15",
    "ownerUserId": "usr_5d18c2ef",
    "notes": "Vertragsverlängerung mit erweitertem Leistungsumfang.",
    "customFields": {
      "region": "DACH"
    }
  },
  "activities": [
    {
      "id": "act_72f19c0b",
      "type": "call",
      "subject": "Budget und Zeitplan besprechen",
      "createdAt": "2025-08-20T09:30:00Z"
    }
  ]
}
curl -X PUT "https://api.talkturo.com/api/crm/opportunities/opp_4b29d7e1" \
  -H "Content-Type: application/json" \
  -H "Cookie: sb-access-token=session_example_7fd82k" \
  -d '{
    "name": "Annual renewal - Acme GmbH",
    "stage": "negotiation",
    "amount": 26000,
    "currency": "EUR",
    "probability": 80,
    "expectedCloseDate": "2025-11-01",
    "ownerUserId": "usr_5d18c2ef",
    "notes": "Konditionen befinden sich in der finalen Abstimmung.",
    "customFields": {
      "region": "DACH",
      "renewalTerm": "24 months"
    },
    "actualCloseDate": null,
    "lostReason": null,
    "wonDetails": null
  }'
{
  "success": true,
  "opportunity": {
    "id": "opp_4b29d7e1",
    "teamId": "team_7c42m9ab",
    "name": "Annual renewal - Acme GmbH",
    "primaryContactId": "cnt_8c13fa20",
    "stage": "negotiation",
    "amount": 26000,
    "currency": "EUR",
    "probability": 80,
    "expectedCloseDate": "2025-11-01",
    "ownerUserId": "usr_5d18c2ef",
    "notes": "Konditionen befinden sich in der finalen Abstimmung.",
    "customFields": {
      "region": "DACH",
      "renewalTerm": "24 months"
    },
    "actualCloseDate": null,
    "lostReason": null,
    "wonDetails": null
  }
}
curl -X DELETE "https://api.talkturo.com/api/crm/opportunities/opp_4b29d7e1" \
  -H "Cookie: sb-access-token=session_example_7fd82k"
{
  "success": true
}

CRM-Opportunities verwalten

Verwalten Sie Verkaufschancen im Talkturo-CRM über Endpunkte zum Auflisten, Erstellen, Abrufen, Aktualisieren und Löschen. Eine Opportunity enthält unter anderem ihren Namen, ihre Pipeline-Phase, den Betrag, die Abschlusswahrscheinlichkeit, den verantwortlichen Benutzer und optionale benutzerdefinierte Felder.

Alle CRM-Opportunity-Endpunkte verwenden Session-Cookie-Authentifizierung. Senden Sie die Anfragen aus einer angemeldeten Sitzung heraus.

Endpunkte im Überblick

MethodePfadBeschreibung
GET/api/crm/opportunitiesOpportunities eines Teams auflisten und nach Phase oder verantwortlichem Benutzer filtern
POST/api/crm/opportunitiesEine neue Opportunity erstellen
GET/api/crm/opportunities/{id}Eine einzelne Opportunity mit Aktivitätshistorie abrufen
PUT/api/crm/opportunities/{id}Eine bestehende Opportunity aktualisieren
DELETE/api/crm/opportunities/{id}Eine Opportunity löschen

GET /api/crm/opportunities

Rufen Sie die Opportunities eines Teams mit optionalen Filtern und Offset-basierter Pagination ab. Die Antwort enthält außerdem aggregierte Summen pro Pipeline-Phase in stageTotals.

Query-Parameter

query
teamIdstring
Required

ID des Teams, dessen Opportunities abgerufen werden sollen.

query
stagestring

Filtert die Ergebnisse nach einer Pipeline-Phase.

Allowed values:leadqualifiedproposalnegotiationwonlost
query
ownerUserIdstring

Filtert die Ergebnisse nach dem Benutzer, der für die Opportunity verantwortlich ist.

query
limitinteger

Maximale Anzahl der Opportunities in der Antwort.

query
offsetinteger

Anzahl der Opportunities, die vor dem ersten zurückgegebenen Ergebnis übersprungen werden.

Antwortfelder

opportunitiesarray
Required

Liste der gefundenen Opportunities.

countinteger
Required

Anzahl der Opportunities, die für die Anfrage zurückgegeben wurden.

limitinteger
Required

Für die Anfrage verwendeter Grenzwert.

offsetinteger
Required

Für die Anfrage verwendeter Offset.

stageTotalsobject
Required

Aggregierte Beträge der Opportunities nach Pipeline-Phase.

opportunities[].idstring
Required

Eindeutige ID der Opportunity.

opportunities[].teamIdstring
Required

ID des Teams, dem die Opportunity zugeordnet ist.

opportunities[].namestring
Required

Name der Opportunity.

opportunities[].primaryContactIdstring

ID des primären Kontakts, falls ein Kontakt zugeordnet ist.

opportunities[].stagestring

Aktuelle Pipeline-Phase der Opportunity.

opportunities[].amountnumber

Monetärer Betrag der Opportunity.

opportunities[].currencystring

Währung des Betrags, zum Beispiel EUR.

opportunities[].probabilitynumber

Abschlusswahrscheinlichkeit der Opportunity.

opportunities[].expectedCloseDatestring

Voraussichtliches Abschlussdatum.

opportunities[].ownerUserIdstring

ID des verantwortlichen Benutzers.

POST /api/crm/opportunities

Erstellen Sie eine Opportunity für ein Team. Der Name und die Team-ID sind erforderlich; alle weiteren Felder ergänzen die Pipeline- und Vertriebsdaten.

Request-Body

body
teamIdstring
Required

ID des Teams, dem die neue Opportunity zugeordnet wird.

body
namestring
Required

Name der Opportunity.

body
primaryContactIdstring

ID des primären Kontakts für die Opportunity.

body
stagestring

Pipeline-Phase der Opportunity. Zulässige Werte sind lead, qualified, proposal, negotiation, won und lost.

body
amountnumber

Monetärer Betrag der Opportunity.

body
currencystring

Währung des Betrags, zum Beispiel EUR oder USD.

body
probabilitynumber

Wahrscheinlichkeit, mit der die Opportunity abgeschlossen wird.

body
expectedCloseDatestring

Voraussichtliches Abschlussdatum der Opportunity.

body
ownerUserIdstring

ID des Benutzers, der für die Opportunity verantwortlich ist.

body
notesstring

Freitext mit zusätzlichen Informationen zur Opportunity.

body
customFieldsobject

Benutzerdefinierte Felder und ihre Werte für die Opportunity.

Antwortfelder

successboolean
Required

Kennzeichnet, ob die Opportunity erfolgreich erstellt wurde.

opportunityobject
Required

Enthält die neu erstellte Opportunity.

opportunity.idstring
Required

Eindeutige ID der neuen Opportunity.

opportunity.teamIdstring
Required

ID des zugehörigen Teams.

opportunity.namestring
Required

Name der Opportunity.

opportunity.primaryContactIdstring

ID des primären Kontakts.

opportunity.stagestring

Gespeicherte Pipeline-Phase.

opportunity.amountnumber

Gespeicherter Betrag.

opportunity.currencystring

Gespeicherte Währung.

opportunity.probabilitynumber

Gespeicherte Abschlusswahrscheinlichkeit.

opportunity.expectedCloseDatestring

Gespeichertes erwartetes Abschlussdatum.

opportunity.ownerUserIdstring

ID des verantwortlichen Benutzers.

opportunity.notesstring

Gespeicherte Notizen.

opportunity.customFieldsobject

Gespeicherte benutzerdefinierte Felder.

GET /api/crm/opportunities/{id}

Rufen Sie eine einzelne Opportunity anhand ihrer ID ab. Die Antwort enthält zusätzlich die mit der Opportunity verbundenen Aktivitäten.

Pfadparameter

path
idstring
Required

Eindeutige ID der Opportunity, die Sie abrufen möchten.

Antwortfelder

successboolean
Required

Kennzeichnet, ob die Opportunity erfolgreich geladen wurde.

opportunityobject
Required

Enthält die angeforderte Opportunity.

activitiesarray
Required

Aktivitätshistorie der Opportunity.

Die Einzelroute leitet team_id aus der Opportunity ab und prüft, ob Ihre Sitzung Zugriff auf das zugehörige Team hat.

PUT /api/crm/opportunities/{id}

Aktualisieren Sie eine bestehende Opportunity anhand ihrer ID. Senden Sie nur die Felder, die Sie ändern möchten.

Pfadparameter

path
idstring
Required

Eindeutige ID der Opportunity, die Sie aktualisieren möchten.

Aktualisierbare Felder

body
namestring

Aktualisiert den Namen der Opportunity.

body
stagestring

Aktualisiert die Pipeline-Phase. Zulässige Werte sind lead, qualified, proposal, negotiation, won und lost.

body
amountnumber

Aktualisiert den monetären Betrag.

body
currencystring

Aktualisiert die Währung des Betrags.

body
probabilitynumber

Aktualisiert die Abschlusswahrscheinlichkeit.

body
expectedCloseDatestring

Aktualisiert das voraussichtliche Abschlussdatum.

body
ownerUserIdstring

Aktualisiert den verantwortlichen Benutzer.

body
notesstring

Aktualisiert die Notizen zur Opportunity.

body
customFieldsobject

Aktualisiert die benutzerdefinierten Felder.

body
actualCloseDatestring

Setzt das tatsächliche Abschlussdatum, sobald die Opportunity abgeschlossen wurde.

body
lostReasonstring

Dokumentiert den Grund, aus dem die Opportunity verloren wurde.

body
wonDetailsobject

Enthält zusätzliche Informationen zu einer gewonnenen Opportunity.

Antwortfelder

successboolean
Required

Kennzeichnet, ob die Opportunity erfolgreich aktualisiert wurde.

opportunityobject
Required

Enthält die aktualisierte Opportunity.

opportunity.idstring
Required

Eindeutige ID der Opportunity.

opportunity.namestring
Required

Aktueller Name der Opportunity.

opportunity.stagestring

Aktuelle Pipeline-Phase.

opportunity.amountnumber

Aktueller Betrag.

opportunity.currencystring

Aktuelle Währung.

opportunity.probabilitynumber

Aktuelle Abschlusswahrscheinlichkeit.

opportunity.expectedCloseDatestring

Aktuelles erwartetes Abschlussdatum.

opportunity.actualCloseDatestring

Tatsächliches Abschlussdatum, falls vorhanden.

opportunity.lostReasonstring

Grund für den Verlust, falls die Opportunity die Phase lost erreicht hat.

opportunity.wonDetailsobject

Zusätzliche Informationen zu einer gewonnenen Opportunity.

DELETE /api/crm/opportunities/{id}

Löschen Sie eine Opportunity dauerhaft anhand ihrer ID.

Pfadparameter

path
idstring
Required

Eindeutige ID der Opportunity, die Sie löschen möchten.

Antwortfelder

successboolean
Required

Ist true, wenn die Opportunity erfolgreich gelöscht wurde.

Das Löschen ist dauerhaft. Stellen Sie sicher, dass die Opportunity nicht mehr für Berichte, Aktivitäten oder Vertriebsprozesse benötigt wird.

Verwandte Endpunkte