RESTful API를 사용하여 통신업체 수준의 통신 워크플로를 구축하세요. HTTPS를 통한 JSON, Bearer 토큰 인증 및 실시간 웹후크.
curl -X POST https://api.ajoxi.com/v1/calls \
-H "Authorization: Bearer AJX_LIVE_..." \
-H "Content-Type: application/json" \
-d '{ "to": "+14155551234", "from": "+14155550100", "ai_receptionist": true }'{
"id": "call_8f2a1b3c",
"status": "ringing",
"ai_handler": "receptionist_v2"
}모든 요청은 Bearer 토큰으로 인증됩니다. Authorization 헤더. Ajoxi 콘솔의 API 탭에서 키를 생성하세요. AJX_LIVE_… 프로덕션 트래픽 및 AJX_TEST_… 샌드박스용.
curl https://api.ajoxi.com/v1/calls \
-H "Authorization: Bearer AJX_LIVE_XXXXX"음성 통화를 걸고, 나열하고, 전송하고, 검색할 수 있습니다.
/v1/calls커서 페이지 매김 및 날짜 필터를 사용하여 모든 통화를 나열합니다.
/v1/calls새로운 아웃바운드 통화를 시작하거나 다이얼러 캠페인을 시작하세요.
/v1/calls/{id}전체 메타데이터가 포함된 ID로 단일 호출을 검색합니다.
/v1/calls/{id}/transfer활성 통화를 다른 상담원이나 내선 번호로 전환합니다.
전화번호를 검색, 제공, 포팅, 해제합니다.
/v1/numbers사용 가능한 지역, 무료 또는 국제 전화번호를 검색하세요.
/v1/numbers계정에 새 번호를 제공하십시오.
/v1/numbers/{id}번호의 라우팅, 발신자 ID 또는 SMS 구성을 업데이트합니다.
/v1/numbers/{id}풀에 번호를 다시 해제합니다. 뒤집을 수 없는.
SMS, MMS, 대화 기록을 보내고 받습니다.
/v1/messages메시지를 나열하고 방향, 채널 또는 대화별로 필터링합니다.
/v1/messagesSMS 또는 MMS를 보내세요. 미디어 첨부 파일 및 템플릿을 지원합니다.
통화 녹음, 녹취록, AI에서 생성된 통찰력에 액세스하세요.
/v1/recordings선택적 날짜 및 상담원 필터를 사용하여 통화 녹음을 나열합니다.
/v1/recordings/{id}기록 및 AI 요약이 포함된 단일 녹음을 검색합니다.
/v1/transcripts/{id}통화 또는 녹음에 대한 전체 기록을 검색합니다.
실시간 플랫폼 이벤트를 구독하세요.
/v1/webhooks구성된 웹훅 구독을 나열합니다.
/v1/webhooks하나 이상의 이벤트(call.start, message.received)를 구독합니다.
/v1/webhooks/{id}웹훅 구독을 제거합니다.
모든 오류 응답은 JSON을 반환합니다. error.code 그리고 error.message. HTTP 상태 코드가 카테고리와 일치합니다.
표준 계정은 API 키당 초당 100개의 요청으로 제한됩니다. 엔터프라이즈 플랜에는 고정된 한도가 없습니다. 트래픽에 따라 확장됩니다. 모든 응답에는 세 가지 속도 제한 헤더가 포함됩니다.
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1715800000한도를 초과하면 다음과 같은 429 응답을 받게 됩니다. Retry-After 헤더(초)입니다. SDK 클라이언트는 이러한 헤더에 대해 지수 백오프를 자동으로 구현합니다.
목록 끝점은 기본적으로 페이지당 최대 50개의 항목을 반환합니다(다음을 통해 최대 200개까지 구성 가능). ?limit=200). 각 응답에는 next_cursor — 다음과 같이 다시 전달하십시오. ?cursor=… 다음 페이지를 검색합니다. 언제 next_cursor null이면 끝에 도달했습니다.
{
"data": [ ... ],
"next_cursor": "Y3Vyc29yX2FmMmI...",
"has_more": true
}서명된 HTTPS POST를 통해 플랫폼 이벤트를 구독하세요. 모든 웹훅 요청에는 다음이 포함됩니다. X-Ajoxi-Signature 헤더 — 웹훅 비밀을 사용하여 원시 요청 본문을 통해 HMAC-SHA256으로 확인하세요.
call.started인바운드 또는 아웃바운드 전화 벨이 울리기 시작하면 시작됩니다.call.answered인간이나 AI 접수원이 전화에 응답하면 시작됩니다.call.completed통화가 끝나면 시작됩니다. 페이로드에는 기간, 녹음 URL, 최종 처리가 포함됩니다.message.received인바운드 SMS 또는 MMS가 프로비저닝된 번호에 도착하면 시작됩니다.message.delivered이동통신사에서 아웃바운드 메시지 전달을 확인하면 시작됩니다.recording.ready통화 녹음이 처리되어 다운로드가 가능해지면 시작됩니다.transcript.ready녹음에 대한 AI 기록 처리가 완료되면 시작됩니다.실패한 전달은 최대 24시간 동안 지수 백오프를 통해 재시도됩니다. 마지막 시도 후에 이벤트는 콘솔에서 재생할 수 있는 배달 못한 편지 대기열로 이동됩니다.
현재 안정 버전은 v1. 주요 변경 사항은 새로운 접두사(/v2/등) — 기존 버전에는 절대 포함되지 않습니다. 더 이상 사용되지 않는 버전은 후속 버전 출시 후 최소 18개월 동안 계속 사용할 수 있으며, 종료되기 6개월 전에 이메일 경고가 제공됩니다.
자사 SDK는 Node.js, Python, Go 및 Ruby에서 사용할 수 있습니다. 각각은 유형이 지정된 클라이언트, 재시도 논리 및 verifyWebhook() 돕는 사람.
모든 요청은 Bearer 토큰 인증을 사용합니다. Ajoxi 콘솔에서 API 키를 생성한 다음 모든 요청에 대해 `Authorization: Bearer AJX_LIVE_XXXXX`로 전달합니다. 샌드박스 트래픽에는 별도의 `AJX_TEST_…` 키를 사용하세요. 테스트 환경은 격리되어 있으며 실제 호출을 하지 않습니다.
예. 테스트 모드 키를 사용하여 접수된 통화는 실제 통신업체 네트워크 대신 시뮬레이터를 통해 라우팅되므로 CI 파이프라인 및 로드 테스트에 적합합니다. 테스트 모드 요청은 분당 허용량에 따라 비용이 청구되지 않으며 실제 전화가 울리지 않습니다.
표준 요금제에서는 초당 요청 100개, 기업에서는 무제한입니다. 각 응답에는 'X-RateLimit-Limit', 'X-RateLimit-Remaining' 및 'X-RateLimit-Reset' 헤더가 포함되어 있어 트래픽 속도를 정확하게 조정할 수 있습니다. 한도를 초과하면 'Retry-After' 값과 함께 429가 표시됩니다.
모든 웹훅 요청에는 `X-Ajoxi-Signature` 헤더가 포함됩니다. 웹훅 비밀을 사용하여 원시 요청 본문에 대해 HMAC-SHA256을 계산한 다음 두 값을 일정 시간 비교합니다. SDK 클라이언트(Node, Python, Go, Ruby)에는 이를 처리하는 `verifyWebhook()` 도우미가 함께 제공됩니다.
우리는 안정적인 API 버전을 깨뜨리지 않습니다. 주요 변경 사항은 새 버전 경로(예: `/v2/`)로 제공됩니다. 더 이상 사용되지 않는 버전은 후속 버전 출시 후 최소 18개월 동안 유지되며, 종료되기 최소 6개월 전에 이메일 경고를 받게 됩니다.
현재는 아닙니다. API는 라이브 스크립트와 같은 스트리밍 엔드포인트를 위한 선택적 서버 전송 이벤트가 포함된 REST + JSON입니다. GraphQL이 특정 워크플로의 차단을 해제하는 경우 계정 팀을 통해 요청을 제출하세요. 우리는 수요를 추적하고 그에 따라 우선 순위를 지정합니다.
샌드박스 키를 가동하고, SDK를 설치하고, 점심 식사 전에 프로그래밍 가능한 첫 번째 호출을 해보세요.