개발자

POST/v3/lnp/project/{uniqueid}/addnumbers

기존 번호이동 프로젝트에 번호 추가

번호 행을 추가한 뒤, 결과가 불확실한 요청을 재시도하기 전에 프로젝트 데이터를 대조합니다.

이 페이지의 내용
  1. 계정 및 프로젝트 접근
  2. 번호 추가 준비
  3. POST 요청
  4. 보고되는 결과
  5. 재시도 전 데이터 대조
  6. 기존 오류 코드
  7. 과금 및 번호이동 범위

계정 및 프로젝트 접근

허용된 IP 주소에서 활성화된 API 계정으로 HTTPS를 통해 접속하세요. 프로젝트는 해당 계정에 속해야 하며 삭제된 상태여서는 안 됩니다. 숫자형 데이터베이스 ID나 전화번호가 아니라 번호이동 신청 워크플로에서 받은 프로젝트의 고유 ID를 사용하세요. 요청을 구성할 때 프로젝트 ID를 URL 인코딩하세요.

번호 추가 준비

이 작업은 기존 번호이동 프로젝트를 변경합니다. 먼저 번호이동 신청 워크플로를 통해 대상 번호와 고객의 승인을 확인하세요. 각 번호를 국가 번호를 포함한 완전한 국제 전화번호의 숫자열로 작성하고, 중복을 직접 제거한 뒤 프로젝트의 기존 번호 목록을 확인하세요. 임의의 번호를 테스트하는 데 이 엔드포인트를 사용하지 마세요.

현재 포털은 이 경로를 호출하기 전에 번호를 검증하고 정규화합니다. 기존 엔드포인트를 직접 호출하면 동일한 보호 기능이 제공되지 않습니다. 입력 앞뒤의 공백은 제거하지만 전화번호 형식, 국가 코드, 중복 여부 또는 프로젝트의 워크플로 상태는 검증하지 않습니다.

POST 요청

로컬에 numbers.json 파일을 다음 구조로 만드세요. 예시 번호는 가상의 번호이므로 선택한 프로젝트에서 승인된 번호로 바꾸세요.

{
  "numbers": [
    "12025550123",
    "12025550124"
  ],
  "isocode": "US"
}
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --header "Content-Type: application/json" \
  --data-binary @numbers.json \
  "https://api.multitel.net/v3/lnp/project/$PROJECT_ID/addnumbers"
번호 추가 요청 필드
필드의미
numbers필수 항목입니다. 번호 문자열로 이루어진 비어 있지 않은 배열 또는 줄마다 번호를 기재한 문자열을 지정합니다. 빈 항목은 버리고 앞뒤의 공백은 제거합니다. 쉼표로 구분된 텍스트는 개별 번호로 분리하지 않습니다.
isocode추가할 행의 국가 코드를 선택적으로 지정합니다. 생략하거나 비워 두면 프로젝트의 위치를 사용합니다. 핸들러는 입력값 앞뒤의 공백을 제거하지만 대문자로 변환하거나 값을 검증하지는 않습니다. 올바른 국가 코드를 직접 대문자로 지정하세요.

이 예시에서는 POST와 application/json을 사용하세요. 폼 형식의 POST 입력도 읽습니다. 이 메서드는 멱등성 키나 이 엔드포인트에서 안전하게 처리할 수 있는 배치 크기에 대한 명시적 보장을 정의하지 않습니다. 한도를 추측해 의존하지 말고 관리 가능한 크기의 배치별로 결과를 대조하세요.

보고되는 결과

가상의 응답 예시입니다.

{
  "status": {
    "code": 200,
    "msg": "Success add numbers"
  },
  "response": {
    "uniqueid": "PROJECT_EXAMPLE",
    "count": 2,
    "numbers": [
      {
        "id": 21,
        "number": "12025550123",
        "status": 0,
        "status_str": "Pending",
        "isocode": "US"
      },
      {
        "id": 22,
        "number": "12025550124",
        "status": 0,
        "status_str": "Pending",
        "isocode": "US"
      }
    ]
  }
}

응답은 추가를 시도한 항목에 Pending 상태를 표시합니다. 결과를 보고하기 전에 각 데이터베이스 삽입의 결과를 검증하지는 않습니다. 따라서 개수나 반환된 ID만으로 모든 행이 영구 저장되었다고 판단할 수 없습니다. Pending 상태의 추가 항목은 통신사 접수, 번호이동 일정 확정 또는 개통 완료를 의미하지 않습니다.

재시도 전 데이터 대조

  1. 번호를 추가하기 전에 프로젝트의 번호 목록을 조회하고, 추가하려는 번호를 자체 요청 기록에 보관하세요.
  2. 추가 요청은 한 번만 전송하세요.
  3. 프로젝트의 번호 목록을 다시 조회하여 추가하려던 모든 번호를 대조하세요. 중복 여부와 각 번호의 상태를 확인하세요.
  4. 요청 시간이 초과되거나 오류가 반환되거나 결과가 불분명하면, 재시도하기 전에 데이터를 다시 조회하세요. 일부 번호는 이미 추가되어 있을 수 있습니다.
  5. 확인 없이 전체 요청을 반복하지 말고, 번호이동 신청 워크플로나 지원 서비스를 통해 누락되거나 중복된 행을 해결하세요.

핸들러는 트랜잭션이나 중복 방지 기능 없이 항목을 개별적으로 삽입합니다. 처리 중에 중단되면 앞서 기록한 데이터가 남을 수 있으며, 삽입에 실패해 false를 반환한 항목도 보고되는 개수에 포함될 수 있습니다. 요청을 반복하면 중복 행이 추가될 수 있습니다. 핸들러 자체는 이벤트를 기록하거나 통신사의 번호이동을 완료하지 않습니다.

기존 오류 코드

POST 이외의 메서드는 API 코드 403을 반환합니다. 프로젝트가 존재하지 않거나 삭제되었거나 해당 계정에 속하지 않으면 API 코드 404를 반환합니다. 번호 입력이 비어 있어도 API 코드 404를 반환합니다. 인증 및 접속 원본 IP 제한이 적용됩니다. 이러한 기존 코드는 처리가 시작된 뒤 그전에 이루어진 삽입이 전혀 없었다는 것을 보장하지 않습니다.

과금 및 번호이동 범위

검토된 핸들러는 프로젝트의 번호 행을 삽입하며, 계정에서 직접 금액을 차감하거나 통신사에 신청하는 처리는 포함하지 않습니다. 그렇다고 전체 번호이동 서비스가 무료가 되거나 합의된 번호이동 수수료가 무효가 되는 것은 아닙니다. 번호이동이 진행될 것으로 기대하기 전에 프로젝트의 승인, 서류 및 심사 요건을 모두 충족하세요.