es
Equipo y flotaAñadir un técnico

Añadir un técnico

Crea una membresía de técnico en el negocio actual. Si el teléfono/email coincide con un usuario existente, se vincula su cuenta. De lo contrario se crea una nueva identidad de usuario (sin correo de invitación — el inicio de sesión es sin contraseña más adelante). En cualquier caso la membresía empieza activa. Si el técnico fue eliminado anteriormente (deactive), se reactiva en su lugar. Los grupos Owner/Administrator no pueden asignarse mediante clave de API, y en absoluto en modo sandbox. Relaciones opcionales (todas validadas; cualquier id inexistente → 404 TECHNICIAN_NOT_FOUND con `missing_ids`): `buddy_ids` fija la lista de compañeros de este técnico (úselo al crear un líder); `lead_ids` añade este técnico como compañero de cada líder indicado (úselo al crear un compañero — la forma, del lado del compañero, de adjuntar la misma relación líder↔compañero); `service_area_ids` asigna el técnico a esas áreas de servicio. `start_location_type=office` toma un snapshot de la dirección + coordenadas del negocio en el técnico al crearlo; `address`, `start_location_lat`, `start_location_long` del cuerpo se ignoran. Requiere que el negocio tenga coordenadas configuradas (de lo contrario 400 BUSINESS_LOCATION_MISSING). `start_location_type=home` (o vacío) usa la dirección + coordenadas del cuerpo.

Argumentos

Idempotency-Keystringheaderopcional
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.
addressobjectbodyopcional
Home address (the day-start point when start_location_type=home).
citystringbodyopcional
City / locality.
countrystringbodyopcional
Country (free-form or ISO code).
formattedstringbodyopcional
Cadena de visualización completa; cuando se define prevalece sobre las partes discretas para mostrar.
linestringbodyopcional
Línea 1 de la calle.
line2stringbodyopcional
Línea 2 de la calle (unidad, suite).
postal_codestringbodyopcional
Código postal / ZIP.
statestringbodyopcional
State / province / region.
assignment_tierenumbodyopcional
Nivel de cuadrilla por el que asigna el motor de emparejamiento: lead (puede encabezar un trabajo), buddy (ayudante de cuadrilla), float (excluido de la asignación automática de cuadrilla).
buddy_idsarray<string>bodyopcional
BuddyIDs — compañeros de este técnico (se define al crear un líder). LeadIDs — líderes de los que este técnico es compañero (se define al crear un compañero; el técnico se añade a la lista de compañeros de cada líder). ServiceAreaIDs — áreas de servicio a las que asignar el técnico. Todos opcionales.
business_group_idstringbodyobligatorio
Grupo de rol para el nuevo miembro. Descubra los IDs con GET /permission/groups (los grupos Owner/Administrator se rechazan en modo sandbox).
emailstringbodyopcional
Email address. At least one of phone/email is required (identity resolution key).
full_namestringbodyobligatorio
The person's full display name. Required; max 255 chars.
job_titlestringbodyopcional
Título de visualización (p. ej. "Técnico HVAC sénior").
join_datestringbodyopcional
Primer día de trabajo (YYYY-MM-DD).
lead_idsarray<string>bodyopcional
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.
phonestringbodyopcional
Se requiere al menos uno de phone/email (clave de resolución de identidad).
service_area_idsarray<string>bodyopcional
Service areas to assign the technician to. Optional; max 50. Discover via GET /service-areas.
start_location_latnumberbodyopcional
Coordenadas explícitas de inicio del día; cuando se definen prevalecen sobre la geocodificación de la dirección.
start_location_longnumberbodyopcional
Explicit day-start longitude in decimal degrees (-180..180); when set it wins over the address geocode.
start_location_typeenumbodyopcional
Dónde empieza su día el técnico: home (su dirección) u office (la ubicación del negocio). Determina las estimaciones de desplazamiento del motor.
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"
}'
Cuerpo de la solicitud
{
"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":
}

Respuestas