ThunderPhone 2.0을 출시했습니다.별도 문의 없이 분당 2¢부터.출시 소식 보기

Developer cookbook

수신 전화 처리(API)

엔드 투 엔드: 에이전트를 구성하고, 전화번호에 할당하고, 전화를 받고, 대화 내용을 검토합니다.

터미널에서 수행하는 표준적인 "AI로 전화를 받기" 흐름입니다. 다음을 수행합니다.

  1. 프롬프트와 음성을 포함한 에이전트를 생성합니다.
  2. 전화번호를 프로비저닝(또는 가져오기)하고 에이전트를 해당 번호의 수신 처리기로 할당합니다.
  3. 번호로 전화를 겁니다. 통화 로그, 트랜스크립트 및 녹음을 확인합니다.

총 API 호출 수: 4회. 총 소요 시간: 5분 미만입니다.

1. 에이전트 생성

에이전트는 통화를 처리할 프롬프트, 음성 및 제품 티어를 묶습니다. 모든 구성 필드는 에이전트를 참조하세요. 최소 구성은 다음과 같습니다.

curl -X POST https://api.thunderphone.com/v1/agents \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name":    "Acme Support",
    "prompt":  "You are a friendly support agent for Acme. Help callers with orders and returns. Keep answers short.",
    "voice":   "john",
    "product": "spark"
  }'

반환된 id를 저장하세요. 2단계에서 필요합니다.

2. 전화번호 가져오기

단순히 전화할 번호가 필요하다면 ThunderPhone의 풀에서 데모 번호를 프로비저닝하세요.

curl -X POST https://api.thunderphone.com/v1/phone-numbers \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"area_code": "415"}'

응답에는 E.164 형식의 idnumber가 포함됩니다. 데모 번호는 status="provisioning"으로 시작하며 몇 초 내에 active 상태가 됩니다. 필요하다면 GET /v1/phone-numbers/{id}를 폴링하여 상태 전환을 확인하세요.

3. 에이전트 할당

1단계의 에이전트를 번호의 수신 방향에 연결합니다.

curl -X PATCH https://api.thunderphone.com/v1/phone-numbers/{phone_id} \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"inbound_agent_id": 12}'

이것으로 완료입니다. 번호가 활성화되었습니다. 동일한 PATCH에서 outbound_agent_id도 설정하면 해당 번호로 발신할 준비도 할 수 있습니다.

4. 통화 받기

휴대폰에서 번호로 전화를 거세요. 에이전트가 전화를 받고, 프롬프트에 따라 자신을 소개한 후 대화가 시작됩니다.

통화가 진행 중인 동안에는 GET /v1/callsstatus="in_progress"로 표시됩니다. 통화가 종료되면 레코드가 end_reason, duration_seconds, billable_minutes 및 (최종적으로) 녹음 URL과 AI 등급으로 업데이트됩니다.

5. 결과 확인

최근 통화 목록을 가져옵니다.

curl 'https://api.thunderphone.com/v1/calls?limit=5' \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

트랜스크립트를 가져옵니다.

curl https://api.thunderphone.com/v1/calls/{call_id}/transcript \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

그리고 녹음 URL(짧은 기간 동안 유효한 서명 URL)을 가져옵니다.

curl https://api.thunderphone.com/v1/calls/{call_id}/audio \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

telephony.complete 웹훅을 구독했다면 동일한 데이터를 서버로 전송되는 POST로 수신합니다. call.complete를 참조하세요.


다음 단계