다중 데이터 수집 요청 V2

POST api.hashscraper.com/api/collect_multiple Content-Type: application/json; version=2

여러 스크래퍼에 한 번에 데이터 수집을 요청합니다.

요청 본문의 schedules 배열에 담긴 각 항목마다 collect와 동일한 동작을 수행합니다. 각 항목은 자체 schedule_idparam1~param10을 가질 수 있습니다.

처리는 두 단계로 나뉩니다. 검증 단계에서는 모든 항목의 schedule_id·필수 파라미터를 검사하며, 한 건이라도 실패하면 어떤 수집도 시작되지 않고 즉시 에러로 응답합니다. 실행 단계에서는 검증을 통과한 항목들을 순서대로 큐에 추가하는데, 도중에 한 건이 실패하면 이미 큐에 들어간 앞 항목들은 그대로 진행되고 뒤 항목들은 트리거되지 않습니다.

각 항목의 param1~param10 값은 해당 스크래퍼 본체에 저장되어 다음 실행의 기본값이 됩니다. 보내지 않은 파라미터는 빈 값으로 덮어쓰여지므로, 일부만 갱신할 의도라도 사용 중인 모든 파라미터를 함께 보내야 합니다.

이용권 기간이 만료되었거나 보유 크레딧이 부족하면 요청이 거부됩니다. 이 경우 응답 키는 message가 아닌 error_message로 내려옵니다. schedules가 배열 형식이 아닌 경우에도 동일하게 error_message 키로 응답됩니다.

요청 파라미터

  • api_key: String
    해시스크래퍼 API 키API키 확인하기
    예시 YOUR_API_KEY
  • schedules: Array<Object>
    수집 요청 항목 배열. 각 항목은 schedule_idparam1~param10 값을 가질 수 있습니다.
    • schedule_id: String
      수집을 요청할 스크래퍼의 ID.
    • param1: optional String
      스크래퍼의 첫 번째 파라미터. 스크래퍼 설정에서 사용으로 지정되어 있으면 필수이며, 사용 안 함이면 입력 검증에서 제외됩니다.
    • param2: optional String
      스크래퍼의 두 번째 파라미터. 동일한 규칙이 적용됩니다.
    • param3: optional String
      스크래퍼의 세 번째 파라미터. 동일한 규칙이 적용됩니다.
    • param4: optional String
      스크래퍼의 네 번째 파라미터. 동일한 규칙이 적용됩니다.
    • param5: optional String
      스크래퍼의 다섯 번째 파라미터. 동일한 규칙이 적용됩니다.
    • paramN (6 ≤ N ≤ 10): optional String
      일부 스크래퍼에서만 사용되는 추가 파라미터 슬롯입니다. 라벨이 붙지 않으며, 응답의 param_info에도 param6처럼 키 그대로 노출됩니다.

응답 필드

  • result: String
    요청 처리 결과.
    허용값 success, error
  • version: String
    API 버전.
    예시 v2
  • collect_info: Array<Object>
    각 수집 요청의 결과 정보 배열. 입력 schedules의 순서와 동일합니다.
    • schedule_result_id: Integer
      이번 수집으로 생성된 데이터셋 ID. 이후 상태·결과 조회의 입력값으로 사용합니다.
    • schedule_id: String
      요청한 스크래퍼의 ID. 입력 항목의 값과 동일합니다.
    • param_info: Object
      이번 수집에 사용된 파라미터. param1~param5는 키 이름에 라벨이 함께 표기됩니다 (예: param1(검색어)). 스크래퍼에 라벨이 설정되지 않았으면 param1() 또는 param1(param1)처럼 라벨 자리가 비거나 placeholder로 남을 수 있습니다. param6~param10은 라벨 없이 키만 노출됩니다.
  • elapsed_time: Float
    응답 생성에 걸린 시간(초 단위 숫자).
    예시 0.7843

에러 응답

  • schedules missing
    필수 파라미터 schedules가 누락되었습니다.
    {
      "result": "error",
      "version": "v2",
      "message": "`schedules` parameter is required"
    }
  • Invalid schedules format
    schedules가 배열 형식이 아닙니다. 응답 키는 error_message입니다.
    {
      "result": "error",
      "version": "v2",
      "error_message": "Array 형식의 데이터를 입력해주세요. schedules: ...(data_type: ...)"
    }
  • Schedule not found
    schedules 항목 중 하나의 schedule_id로 스크래퍼를 찾을 수 없거나 접근 권한이 없습니다. 메시지에 해당 schedule_id가 표시됩니다.
    {
      "result": "error",
      "version": "v2",
      "message": "schedule(id: YOUR_SCHEDULE_ID) not found"
    }
  • Required params missing
    schedules 항목 중 하나에서 사용으로 지정된 param1~param5 항목이 비어 있습니다. 메시지에 해당 schedule_id와 누락된 파라미터가 함께 표시됩니다.
    {
      "result": "error",
      "version": "v2",
      "message": "[ID: YOUR_SCHEDULE_ID] 사용되는 파라미터를 모두 입력해주세요. 사용되는 파라미터: [\"param1(검색어)\"]"
    }
  • Service ticket expired
    이용권 기간이 만료되어 요청이 거부되었습니다. 응답 키는 error_message입니다.
    {
      "result": "error",
      "version": "v2",
      "error_message": "서비스 이용권의 기간이 만료되었습니다."
    }
  • Credit exhausted
    보유 크레딧을 모두 소진하여 요청이 거부되었습니다. 응답 키는 error_message입니다.
    {
      "result": "error",
      "version": "v2",
      "error_message": "보유하신 크레딧을 모두 사용하셨습니다."
    }
  • Schedule execution blocked
    이용권/크레딧 상태로 인해 schedules 항목 중 하나의 수집을 시작할 수 없습니다. 메시지에 사유와 해당 schedule_id가 함께 표시되며, 사유는 No active service ticket, Credit exhausted, Service ticket expired, Invalid service ticket 중 하나입니다.
    {
      "result": "error",
      "version": "v2",
      "message": "Schedule execution blocked: ... (schedule_id: YOUR_SCHEDULE_ID)"
    }

관련 가이드

요청 예시
  • cURL
  • Ruby
  • Python
  • NodeJS
  • PHP
  • Java
응답 예시 200
{
  "result": "success",
  "version": "v2",
  "collect_info": [
    {
      "schedule_result_id": 13229289,
      "schedule_id": "사람인_채용공고_수집_1697441449957",
      "param_info": {
        "param1(검색할 키워드)": "검색어A"
      }
    },
    {
      "schedule_result_id": 13229290,
      "schedule_id": "네이버_뉴스_수집_1687856320079",
      "param_info": {
        "param1(검색할 키워드)": "검색어B"
      }
    }
  ],
  "elapsed_time": 0.7843
}