Explorar la documentación

Primeros pasos

Inicio rápido

Haz tu primera llamada saliente desde tu código. Necesitas una cuenta de CallShift con un agente y un número de teléfono autorizado para llamadas salientes. Lo más rápido es crear el agente en el panel y luego controlarlo desde la API.
  1. Crea una clave de API

    Crea una clave en app.callshift.ai/api-keys y guárdala en una variable de entorno. Comprueba que funciona listando tus agentes:

    Terminal
    export CALLSHIFT_API_KEY="your-api-key"
    
    curl "https://api.callshift.ai/v1/agents?limit=5" \
      -H "Authorization: Bearer $CALLSHIFT_API_KEY"
  2. Elige un agente

    Anota el id del agente que hará la llamada. Para probar un cambio sin tocar un agente en producción, duplícalo antes con POST/v1/agents/{agentId}/duplicate y trabaja sobre la copia.

    JSON
    {
      "data": [
        { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Alice", "gender": "FEMALE", "language": "en", "entityId": null }
      ],
      "pageCount": 1
    }
  3. Elige un número de teléfono

    GET/v1/phones lista todos los números de la cuenta. Elige uno cuyo isOutboundAllowed sea true: su id es el phoneId de la campaña.

  4. Crea una campaña

    Una campaña se crea inactiva, así que todavía no se marca ningún número.

    curl -X POST "https://api.callshift.ai/v1/campaigns" \
      -H "Authorization: Bearer $CALLSHIFT_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "API quickstart",
        "agentId": "550e8400-e29b-41d4-a716-446655440000",
        "phoneId": "0d3a7e6b-2b8e-4c5b-9c4e-5f4b9d2a1c8e"
      }'
    const res = await fetch("https://api.callshift.ai/v1/campaigns", {
      method: "POST",
      headers: {
        Authorization: `Bearer ${process.env.CALLSHIFT_API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        name: "API quickstart",
        agentId: "550e8400-e29b-41d4-a716-446655440000",
        phoneId: "0d3a7e6b-2b8e-4c5b-9c4e-5f4b9d2a1c8e",
      }),
    });
    const { id: campaignId } = await res.json();
    import os
    import requests
    
    res = requests.post(
        "https://api.callshift.ai/v1/campaigns",
        headers={"Authorization": f"Bearer {os.environ['CALLSHIFT_API_KEY']}"},
        json={
            "name": "API quickstart",
            "agentId": "550e8400-e29b-41d4-a716-446655440000",
            "phoneId": "0d3a7e6b-2b8e-4c5b-9c4e-5f4b9d2a1c8e",
        },
    )
    campaign_id = res.json()["id"]
  5. Añádete y lanza la campaña

    Añade un contacto, tu propio móvil en formato E.164, y después activa la campaña. Una campaña activa llama a los contactos nuevos en cuanto llegan.

    Terminal
    curl -X POST "https://api.callshift.ai/v1/campaigns/$CAMPAIGN_ID/contacts" \
      -H "Authorization: Bearer $CALLSHIFT_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "contacts": [ { "firstName": "Ada", "phoneNumber": "+33612345678" } ] }'
    
    curl -X PATCH "https://api.callshift.ai/v1/campaigns/$CAMPAIGN_ID" \
      -H "Authorization: Bearer $CALLSHIFT_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "isActive": true }'

    Tu teléfono sonará en unos segundos. Contesta y habla con el agente.

  6. Consulta la llamada

    En cuanto cuelgues, la llamada ya tiene su resultado. La lista muestra el estado, el motivo de fin de llamada y el resumen; el detalle añade la transcripción y la grabación.

    Terminal
    curl "https://api.callshift.ai/v1/calls?campaignId=$CAMPAIGN_ID" \
      -H "Authorization: Bearer $CALLSHIFT_API_KEY"
Consejo

Antes de una campaña real, envía un lote de prueba con uno o dos números internos, y haz que el mensaje de bienvenida avise de que se está hablando con un asistente de IA.

Si prefieres atender llamadas entrantes

Para que el agente atienda un número, asígnaselo con PATCH/v1/phones/{phoneId} y llama a ese número.

Terminal
curl -X PATCH "https://api.callshift.ai/v1/phones/$PHONE_ID" \
  -H "Authorization: Bearer $CALLSHIFT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "agentId": "550e8400-e29b-41d4-a716-446655440000" }'

Siguientes pasos