de
Team & FuhrparkTechniker hinzufügen

Techniker hinzufügen

Legt eine Techniker-Mitgliedschaft unter dem aktuellen Unternehmen an. Stimmt Telefon/E-Mail mit einem bestehenden Nutzer überein, wird dessen Konto verknüpft. Andernfalls wird eine neue Nutzer-Identität erstellt (keine Einladungs-E-Mail — der Login erfolgt später passwortlos). In beiden Fällen startet die Mitgliedschaft aktiv. War der Techniker zuvor entfernt (deactive), wird er stattdessen reaktiviert. Owner-/Administrator-Gruppen können nicht per API-Key zugewiesen werden und im Sandbox-Modus gar nicht. Optionale Beziehungen (alle validiert; jede fehlende id → 404 TECHNICIAN_NOT_FOUND mit `missing_ids`): `buddy_ids` setzt die Buddy-Liste dieses Technikers (beim Anlegen eines Leads verwenden); `lead_ids` fügt diesen Techniker als Buddy jedes genannten Leads hinzu (beim Anlegen eines Buddys verwenden — die Buddy-seitige Art, dieselbe Lead↔Buddy-Beziehung zu knüpfen); `service_area_ids` weist den Techniker diesen Servicegebieten zu. `start_location_type=office` übernimmt die Unternehmensadresse + Koordinaten beim Anlegen als Snapshot in den Techniker; `address`, `start_location_lat`, `start_location_long` im Body werden ignoriert. Erfordert, dass für das Unternehmen Koordinaten gesetzt sind (sonst 400 BUSINESS_LOCATION_MISSING). `start_location_type=home` (oder leer) verwendet die Adresse + Koordinaten aus dem Body.

Argumente

Idempotency-Keystringheaderoptional
Unique key making retries safe: a repeat send with the same key replays the original response (header Idempotent-Replayed: true) instead of re-running the operation. Reusing a key with a different body returns 422 IDEMPOTENCY_KEY_REUSE.
addressobjectbodyoptional
Home address (the day-start point when start_location_type=home).
citystringbodyoptional
City / locality.
countrystringbodyoptional
Country (free-form or ISO code).
formattedstringbodyoptional
Vollständige Anzeigezeichenfolge; wenn gesetzt, hat sie für die Anzeige Vorrang vor den einzelnen Teilen.
linestringbodyoptional
Straße Zeile 1.
line2stringbodyoptional
Straße Zeile 2 (Einheit, Suite).
postal_codestringbodyoptional
Postleitzahl.
statestringbodyoptional
State / province / region.
assignment_tierenumbodyoptional
Team-Stufe, nach der die Matching-Engine zuweist: lead (kann einen Auftrag leiten), buddy (Team-Helfer), float (von der automatischen Team-Zuweisung ausgeschlossen).
buddy_idsarray<string>bodyoptional
BuddyIDs — Buddies dieses Technikers (beim Anlegen eines Leads gesetzt). LeadIDs — Leads, deren Buddy dieser Techniker ist (beim Anlegen eines Buddys gesetzt; der Techniker wird an die Buddy-Liste jedes Leads angehängt). ServiceAreaIDs — Servicegebiete, denen der Techniker zugewiesen wird. Alle optional.
business_group_idstringbodyerforderlich
Rollengruppe für das neue Mitglied. IDs ermitteln über GET /permission/groups (Owner-/Administrator-Gruppen werden im Sandbox-Modus abgelehnt).
emailstringbodyoptional
Email address. At least one of phone/email is required (identity resolution key).
full_namestringbodyerforderlich
The person's full display name. Required; max 255 chars.
job_titlestringbodyoptional
Anzeigetitel (z. B. "Senior HVAC Technician").
join_datestringbodyoptional
Erster Arbeitstag (YYYY-MM-DD).
lead_idsarray<string>bodyoptional
Leads this technician is a buddy of (set when creating a buddy; the technician is appended to each lead's buddy list). Optional; max 50 technician ids.
phonestringbodyoptional
Mindestens eines von Telefon/E-Mail ist erforderlich (Schlüssel zur Identitätsauflösung).
service_area_idsarray<string>bodyoptional
Service areas to assign the technician to. Optional; max 50. Discover via GET /service-areas.
start_location_latnumberbodyoptional
Explizite Tagesstart-Koordinaten; wenn gesetzt, haben sie Vorrang vor der Adress-Geokodierung.
start_location_longnumberbodyoptional
Explicit day-start longitude in decimal degrees (-180..180); when set it wins over the address geocode.
start_location_typeenumbodyoptional
Wo der Techniker seinen Tag beginnt: home (seine Adresse) oder office (der Unternehmensstandort). Steuert die Fahrtwegschätzungen der Engine.
POST/v1/technicians
curl -X POST "https://api.crisphive.com/v1/technicians" \
  -H "Authorization: Bearer chsk_test_4eC8xQ9mZ2pL7Ka0rT" \
  -H "Content-Type: application/json" \
  -d '{
  "address": {
    "city": "San Francisco",
    "country": "US",
    "formatted": "123 Market Street, San Francisco, CA 94103",
    "line": "123 Market Street",
    "line2": "Suite 200",
    "postal_code": "94103",
    "state": "CA"
  },
  "assignment_tier": "lead",
  "buddy_ids": [
    "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01"
  ],
  "business_group_id": "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01",
  "email": "jane.doe@example.com",
  "full_name": "Jane Cooper",
  "job_title": "Sample title",
  "join_date": "2026-07-02",
  "lead_ids": [
    "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01"
  ],
  "phone": "+14155550142",
  "service_area_ids": [
    "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01"
  ],
  "start_location_lat": 1,
  "start_location_long": 1,
  "start_location_type": "home"
}'
Anfragetext
{
"address": {
"city": ,
"country": ,
"formatted": ,
"line": ,
"line2": ,
"postal_code": ,
"state":
},
"assignment_tier": ,
"buddy_ids": [
],
"business_group_id": ,
"email": ,
"full_name": ,
"job_title": ,
"join_date": ,
"lead_ids": [
],
"phone": ,
"service_area_ids": [
],
"start_location_lat": ,
"start_location_long": ,
"start_location_type":
}

Antworten