다중 데이터 수집 요청 V2
여러 스크래퍼에 한 번에 데이터 수집을 요청합니다.
요청 본문의 schedules 배열에 담긴 각 항목마다 collect와 동일한 동작을 수행합니다. 각 항목은 자체 schedule_id와 param1~param10을 가질 수 있습니다.
처리는 두 단계로 나뉩니다. 검증 단계에서는 모든 항목의 schedule_id·필수 파라미터를 검사하며, 한 건이라도 실패하면 어떤 수집도 시작되지 않고 즉시 에러로 응답합니다. 실행 단계에서는 검증을 통과한 항목들을 순서대로 큐에 추가하는데, 도중에 한 건이 실패하면 이미 큐에 들어간 앞 항목들은 그대로 진행되고 뒤 항목들은 트리거되지 않습니다.
각 항목의 param1~param10 값은 해당 스크래퍼 본체에 저장되어 다음 실행의 기본값이 됩니다. 보내지 않은 파라미터는 빈 값으로 덮어쓰여지므로, 일부만 갱신할 의도라도 사용 중인 모든 파라미터를 함께 보내야 합니다.
이용권 기간이 만료되었거나 보유 크레딧이 부족하면 요청이 거부됩니다. 이 경우 응답 키는 message가 아닌 error_message로 내려옵니다. schedules가 배열 형식이 아닌 경우에도 동일하게 error_message 키로 응답됩니다.
요청 파라미터
-
api_key: String해시스크래퍼 API 키API키 확인하기
-
schedules: Array<Object>수집 요청 항목 배열. 각 항목은
schedule_id와param1~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요청 처리 결과.
-
version: StringAPI 버전.
-
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응답 생성에 걸린 시간(초 단위 숫자).
에러 응답
-
schedules missing
{ "result": "error", "version": "v2", "message": "`schedules` parameter is required" } -
Invalid schedules format
{ "result": "error", "version": "v2", "error_message": "Array 형식의 데이터를 입력해주세요. schedules: ...(data_type: ...)" } -
Schedule not found
{ "result": "error", "version": "v2", "message": "schedule(id: YOUR_SCHEDULE_ID) not found" } -
Required params missing
{ "result": "error", "version": "v2", "message": "[ID: YOUR_SCHEDULE_ID] 사용되는 파라미터를 모두 입력해주세요. 사용되는 파라미터: [\"param1(검색어)\"]" } -
Service ticket expired
{ "result": "error", "version": "v2", "error_message": "서비스 이용권의 기간이 만료되었습니다." } -
Credit exhausted
{ "result": "error", "version": "v2", "error_message": "보유하신 크레딧을 모두 사용하셨습니다." } -
Schedule execution blocked
{ "result": "error", "version": "v2", "message": "Schedule execution blocked: ... (schedule_id: YOUR_SCHEDULE_ID)" }
관련 가이드
요청 예시
응답 예시 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
}