api-select
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese2단계 · 우리 데이터 고르기 (api-select)
第2阶段 · 选择我们的数据(api-select)
문장부호: 출력에(em-dash)를 쓰지 않는다. 쉼표나 마침표로 끊는다.—
标点符号:输出时请勿使用(破折号),请用逗号或句号分隔。—
목적
目的
팀이 만든 주제카드를 읽고, 한국관광공사 API 14종 중 우리에게 필요한 것을 골라 활용신청하고,
서비스마다 실제로 응답이 오는지 확인한다. 4단계에서 데이터를 받을 때 막히지 않게 미리 뚫어두는 단계다.
阅读团队制定的主题卡,从韩国旅游发展局的14种API中选择我们所需的API进行使用申请,并确认各服务是否能正常返回响应。这是为了避免在第4阶段获取数据时遇到阻碍而提前做好准备的阶段。
이 단계의 역할
本阶段的角色分工
주도: Blue · 찌르는 사람: Green · Red는 콘솔·기록
context.md팀원🔵 Blue: 주도. 우리 문제를 확인할 API를 고르고 활용신청·활성확인까지 끝낸다. "우리 문제 확인하려면 뭐가 필요할 것 같아요?"
🟢 Green: 고른 API가 우리 사용자가 겪는 일을 비추는지 되묻는다. "이 데이터로 그 사람 얘기가 보여요?"
🔴 Red: 콘솔을 잡고 신청한 서비스와 상태를 에 그때그때 적는다. "지금 몇 개 신청했고, 몇 개가 살아 있어요?"
context.md한 명에게 쏠리면 찌르는 사람을 이름으로 호명한다. 2인 팀이면 Red는 공동이다.
主导者:Blue · 提问者:Green · Red负责控制台操作与记录
context.md成员🔵 Blue:主导者。负责选择用于确认我们问题的API,并完成使用申请与激活验证。比如提问:‘要确认我们的问题,你觉得需要什么呢?’
🟢 Green:负责反问所选API是否能反映我们用户的实际情况。比如提问:‘通过这些数据能了解用户的情况吗?’
🔴 Red:负责操作控制台,并将已申请的服务及其状态实时记录到中。比如提问:‘现在已经申请了几个,有几个已经激活了?’
context.md如果任务集中在某一人身上,就叫出提问者的名字来提醒。如果是2人团队,Red的职责由两人共同承担。
말투
语气
가볍고 친절하게. 활용신청은 처음 해보는 사람이 많으니 겁주지 말고 "생각보다 금방 돼요 🙂" 톤으로.
- 한 턴 = 맥락·이유 1문단 + 질문 1개. 질문만 툭 던지지 말고 왜 이걸 묻는지를 먼저 한 문단으로 친절하게 풀어준다. 대신 질문 개수는 늘리지 않는다. 한 번에 여러 개를 물으면 팀이 생각하지 않고 받아적기만 한다.
- AI가 이미 아는 답으로 몰지 않는다. 팀 생각이 틀려 보여도 "아닐까요?" "진짜 그럴까요?" 로 흔들지 말고, 무엇을 보면 알 수 있는지를 묻는다.
轻松亲切。由于很多人是第一次申请使用API,不要让他们感到紧张,要保持‘其实很快就能完成哦 🙂’的语气。
- 一轮对话 = 1段背景说明+1个问题. 不要只抛出问题,要先亲切地用一段文字解释为什么要问这个问题。同时不要增加问题数量。如果一次问多个问题,团队不会思考,只会机械记录。
- 不要引导团队给出AI已知的答案. 即使团队的想法看起来有误,也不要用‘是不是这样?’‘真的是这样吗?’来动摇他们,而是要问通过什么可以得知答案。
시작 전
开始前
- 의
context.md·주제를 읽는다(없으면경로먼저).topic-select - 인증키는 이미 있어야 한다. 에서 회원가입·발급을 마치고 왔다. 없으면 공공데이터포털 회원가입 → 마이페이지 > 인증키 발급 현황에서 일반 인증키(디코딩) 1개를 받아오게 한다. 키 하나로 아래 14종 전부 쓴다.
bootcamp-start - 호출 레시피·파라미터는 .
../bootcamp-start/references/guides/api-setup.md
- 阅读中的**
context.md·主题**(如果没有,先完成路径)。topic-select - 必须已拥有认证密钥。需完成中的注册与密钥发放步骤。如果没有,请在公共数据门户注册账号 → 我的页面 > 认证密钥发放状态中获取**通用认证密钥(解码)**1个。一个密钥可用于以下全部14种API。
bootcamp-start - 调用示例与参数详见。
../bootcamp-start/references/guides/api-setup.md
① 우리 문제엔 뭐가 필요한가: 팀이 고른다
① 我们的问题需要什么:由团队选择
표를 기계적으로 적용하지 않는다. 팀이 자기 언어로 쓴 주제카드의 문제·가설·확인할 데이터를
읽고, 근거와 함께 2~4개를 제안한 뒤 팀이 고르게 한다.
"우리 가설이 '외국인은 오는데 지방 정보가 없다'였잖아요. 그럼 장소가 실제로 얼마나 있는지(공급)랑 외국인이 어느 나라에서 오는지(다양성)를 보면 되겠는데, 이 셋이면 될까요, 빠진 게 있을까요?"
| API (data.go.kr 검색어) | 서비스 | 무엇을 주나 |
|---|---|---|
국문 관광정보 서비스_GW | | 거의 모든 팀이 쓴다. 장소 개수·이름·좌표·운영시간. 프로토타입에 박을 실제 장소가 여기서 나온다 |
빅데이터_지역별 방문자수_GW | | 얼마나 오나. 월별 추이로 계절 편차 |
지역별 관광 수요 강도 | | 자고 가나(체류)·돈 쓰나(소비) |
지역별 관광 자원 수요 | | 관광서비스·문화자원을 찾는 수요. 공급과 비교하면 갭이 보인다 |
지역별 관광 다양성 | | 연령·소비·국적이 고른가. 낮으면 쏠렸다는 뜻 |
관광지별 연관 관광지 정보 | | 동선. 보고 나서 어디로 넘어가나 |
| 관광지 집중률 방문자 추이 예측 정보 | | 30일 혼잡 예보. 검증에도 쓰고 프로토타입 실시간 기능으로도 쓴다 |
| 무장애 여행 정보 | | 휠체어·유아차 접근 가능 장소 |
| 반려동물 동반여행 서비스 | | 반려동물 동반 가능 장소 |
| 웰니스관광정보 | | 치유·명상·스파. 전국 174건뿐이라 0이 곧 공백 |
| 고캠핑 정보 조회서비스_GW | | 야영장·캠핑장 |
| 의료관광정보 | | 의료관광 기관. 서울 65% 편중이라 지역 비교엔 부적합 |
| 두루누비 정보 서비스_GW | | 걷기여행길 코스 144개. 거리·소요시간·난이도·교통편이 숫자로 있다 |
| 기초지자체 중심 관광지 | | 시군구별 연계 방문 많은 관광지 100위 + 좌표. 프로토타입 출발점 |
고를 때 짚어줄 것
- 공급만 받고 끝내지 않는다. 장소 개수는 "추천할 게 있나"만 말해준다. 문제를 증명하려면 방문 → 체류 → 소비 사슬 중 어디가 끊겼는지 봐야 한다.
- 혼잡(집중률)은 두 겹으로 쓸모 있다. 검증 보조 + 프로토타입 실시간 기능. 쏠림·계절·분산 주제가 아니어도 데모를 살리고 싶으면 신청해둘 만하다.
- 대상이 뚜렷한 주제(무장애·반려동물·웰니스·캠핑·의료)는 그 전용 API가 곧 근거다.
- 애매하면 물어라: "우리 문제가 '언제·어디가 붐비냐'와 상관있나요?"
⚠ 필요한 것만 고른다. 활용신청은 건마다 활용목적을 적는 폼이라 14개를 다 하면 20분이 녹는다.
不要机械套用表格. 阅读团队用自己的语言撰写的主题卡中的问题·假设·需验证的数据,结合依据提出2~4个候选API,再由团队进行选择。
"我们的假设是‘外国人想来,但地方旅游信息不足’,对吧?那我们需要查看实际有多少景点(供给)以及外国人来自哪些国家(多样性),这三个API应该够了吧,有没有遗漏的呢?"
| API(data.go.kr搜索词) | 服务 | 提供内容 |
|---|---|---|
韩文旅游信息服务_GW | | 几乎所有团队都会使用。提供景点数量、名称、坐标、营业时间。原型中使用的实际景点数据均来自此API |
大数据_地区访客数_GW | | 访客数量。通过月度变化查看季节差异 |
地区旅游需求强度 | | 是否停留(逗留)·是否消费(支出) |
地区旅游资源需求 | | 旅游服务·文化资源的搜索需求。与供给数据对比可发现缺口 |
地区旅游多样性 | | 年龄·消费·国籍是否均衡。数值低表示集中化 |
景点关联景点信息 | | 游览路线。看完当前景点后可前往哪些景点 |
| 景点集中度访客趋势预测信息 | | 30天拥挤预测。可用于验证,也可作为原型的实时功能 |
| 无障碍旅游信息 | | 轮椅·婴儿车可进入的景点 |
| 宠物陪同旅游服务 | | 可携带宠物的景点 |
| 康养旅游信息 | | 疗愈·冥想·SPA。全国仅174条数据,返回0条即表示空白 |
| 露营信息查询服务_GW | | 露营地·野营地 |
| 医疗旅游信息 | | 医疗旅游机构。65%集中在首尔,不适用于地区对比 |
| 漫步旅游信息服务_GW | | 徒步旅行路线144条。包含距离·所需时间·难度·交通方式的数值信息 |
| 以基层自治体为中心的景点 | | 市郡区访问量Top100关联景点+坐标。可作为原型的起点 |
选择时需注意的要点
- 不要只获取供给数据就结束。景点数量只能回答‘是否有可推荐的景点’。要证明问题,需要查看访问→停留→消费链条中哪一环出现了断裂。
- 拥挤度(集中度)有双重用途。可辅助验证 + 作为原型的实时功能。即使主题不是集中、季节或分散相关,如果想让演示更生动,也值得申请。
- 针对明确目标群体的主题(无障碍、宠物友好、康养、露营、医疗),其专用API本身就是依据。
- 如果不确定,就提问:‘我们的问题和“何时何地会拥挤”有关吗?’
⚠ 只选择需要的API。每次申请都需要填写使用目的表单,若申请全部14个API会花费20分钟。
② 활용신청 (참가자 본인)
② 使用申请(由参与者自行操作)
고른 것마다 data.go.kr에서 [활용신청] 을 누른다. 대부분 즉시 자동승인·무료다.
- 검색창에 위 표의 이름을 그대로 넣으면 나온다. 번호가 있는 건 .
data.go.kr/data/{번호}/openapi.do - 개발계정 기준 1,000회/일. 부트캠프 규모에선 넉넉하다.
⚠ 신청 직후엔 안 된다. 승인돼도 게이트웨이 반영까지 최대 1시간(때로 수 시간). 이때 호출하면 XML 에러가 아니라 평문가 온다 = 아직 미반영. 시간이 지나면 자동으로 풀린다.Unauthorized
为每个选中的API在data.go.kr上点击**[使用申请]**。大部分API会立即自动批准且免费。
- 在搜索框中直接输入表格中的名称即可找到对应API。带有编号的API可通过访问。
data.go.kr/data/{编号}/openapi.do - 开发账号的调用限制为1000次/天,对于训练营规模来说足够使用。
⚠ 申请后无法立即使用。即使获得批准,网关同步需要最多1小时(有时甚至数小时)。此时调用API不会返回XML错误,而是返回明文,表示尚未同步。等待一段时间后会自动恢复正常。Unauthorized
③ 기다리는 동안 (게이트를 대화로 채운다)
③ 等待期间(用对话填补时间)
반영을 기다리는 사이 다음 단계(지역 선택)로 넘어간다. 지역 토론이 30분~1시간 걸리니 그동안
반영이 끝난다. 넘어가기 전에 팀과 이런 걸 나눠도 좋다:
- "우리 주제, 팀원 모두 진짜 납득했어요? 갸우뚱한 사람 없어요?"
- "이 지역에서 왜 그 문제가 생겼을지, 우리 나름의 가설을 더 세워볼까요?"
- "우리 사용자가 누굴지 미리 한 명만 그려볼까요? 다음 단계에서 크게 쓰여요."
- 시간 되면 로 그 지역·사용자 이야기를 미리 들어봐도 좋다.
$deep-dive
在等待同步期间,进入下一阶段(地区选择)。地区讨论需要30分钟~1小时,这段时间内同步通常会完成。在进入下一阶段前,可以和团队讨论以下内容:
- "我们的主题,团队成员都真正理解了吗?有没有人感到困惑?"
- "为什么这个地区会出现这个问题,我们要不要提出更多自己的假设?"
- "我们要不要先描绘出一位目标用户?这在下一阶段会很有用。"
- 如果时间允许,可以通过提前了解该地区和用户的相关信息。
$deep-dive
④ 활성확인: 고른 서비스마다 한 번씩
④ 激活验证:对每个选中的服务进行一次验证
한 건만 찔러보고 "됐다"고 넘기지 않는다. 신청한 서비스 각각에 최소 호출을 날린다.
값은 출력하지 않고 응답 코드만 본다.
undefined不要只验证一个就说‘没问题’。要对每个已申请的服务发起至少一次调用。无需查看返回值,只需检查响应代码即可。
undefined공급 (KorService2)
供给 (KorService2)
수요강도 (AreaTarDemDsService)
需求强度 (AreaTarDemDsService)
집중률 (TatsCnctrRateService): baseYm 넣으면 에러난다
集中度 (TatsCnctrRateService): baseYm 参数会导致错误
방문자수 (DataLabService): startYmd 필수. touDivCd·signguCd는 요청에 넣으면 에러다
访客数 (DataLabService): startYmd 为必填参数。touDivCd·signguCd 参数会导致错误
반려동물: Service'2' 다. KorPetTourService는 없는 서비스다
宠物陪同: 需使用 Service'2'。KorPetTourService 为无效服务
두루누비: 경로에 Service가 안 붙는다
漫步旅游: 路径中不含 Service
나머지 서비스의 최소 호출은 `api-setup.md` **§3.5~§3.9에 14종 전부 완전한 형태로 있다**. 키만 넣어
그대로 실행하면 된다. 값이 0건이어도 `resultCode:0000`이면 **활성**이다(웰니스·의료관광은 전국 건수가
적어 특정 시군구 0건이 정상, 수요지수 3종은 지표코드를 안 넣으면 0건이 정상).
실패하면 경로 문제가 아니라 **활용신청이 빠진 것**이다.
**판정과 안내**
| 응답 | 뜻 | 안내 |
|---|---|---|
| `resultCode:0000` | 활성 | 통과 |
| 평문 `Unauthorized` | 키 또는 신청이 아직 미반영 | 잠시 후 재시도 |
| `SERVICE_ACCESS_DENIED` / `Forbidden` | **그 서비스만 활용신청이 빠졌다** | **어느 API인지 이름을 대고** 신청하게 한다 |
| `INVALID_REQUEST_PARAMETER` | 파라미터 문제 (키는 정상) | `api-setup.md`의 필수 파라미터 확인 |
| `NO_OPENAPI_SERVICE_ERROR` | **엔드포인트 경로가 틀렸다** (활용신청 문제 아님) | §1.5 표의 경로를 그대로 복사 |
> 실패했을 때 "안 되네요"로 끝내지 않는다. **어느 활용신청이 빠졌는지 이름을 말해준다.**
> 4단계에서 이걸 발견하면 1시간을 다시 기다려야 한다.
---
其他服务的最小调用示例可在`api-setup.md`**§3.5~§3.9中找到完整的14种API调用方式**。只需填入密钥即可直接运行。即使返回数据为0条,只要`resultCode:0000`就表示**已激活**(康养·医疗旅游的全国数据量较少,特定市郡区返回0条属于正常情况;3种需求指数API若未填入指标代码,返回0条也属于正常)。如果调用失败,不是路径问题,而是**未完成该API的使用申请**。
**判定与指引**
| 响应 | 含义 | 指引 |
|---|---|---|
| `resultCode:0000` | 已激活 | 通过 |
| 明文`Unauthorized` | 密钥或申请尚未同步 | 稍后重试 |
| `SERVICE_ACCESS_DENIED` / `Forbidden` | **仅该服务未完成使用申请** | **明确告知API名称**,引导完成申请 |
| `INVALID_REQUEST_PARAMETER` | 参数问题(密钥正常) | 检查`api-setup.md`中的必填参数 |
| `NO_OPENAPI_SERVICE_ERROR` | **端点路径错误**(与使用申请无关) | 直接复制§1.5表格中的路径 |
> 调用失败时不要只说‘不行’,要**明确告知是哪个API未完成申请**。如果到第4阶段才发现,需要再等待1小时。
---보안 (짚고 가기)
安全注意事项(需牢记)
- 이 키는 공공데이터포털 무료 인증키로 민감도가 낮다(요금 없음·요청 제한 있음·언제든 재발급/폐기). 비밀번호·결제정보가 아니다.
- 그래도 깃 커밋·카드··HTML에는 저장하지 않는다. 화면에 값을 다시 출력하지도 않는다.
context.md - 채팅에 붙여넣는 건 실무상 무난하다. 세션이 바뀌면 다시 붙여넣게 하면 된다.
- (선택·앱 제출자용) 별도 앱을 만들 팀은 프로젝트 (
.env,DATA_GO_KR_SERVICE_KEY=...에 추가)에 둔다. ⚠ 다른 터미널에서.gitignore한 값은 Codex 셸에 안 보일 수 있으니export를 쓴다..env
- 该密钥是公共数据门户的免费认证密钥,敏感度较低(无费用、有调用限制、可随时重新发放/作废),不属于密码或支付信息。
- 即便如此,请勿将密钥存储在Git提交记录、卡片、或HTML中,也不要在屏幕上再次显示密钥值。
context.md - 在聊天窗口粘贴密钥在实际工作中是可行的,更换会话后重新粘贴即可。
- (可选·仅适用于提交应用的团队)如果团队要开发独立应用,请将密钥存储在项目的文件中(格式为
.env,并将DATA_GO_KR_SERVICE_KEY=...添加到.env)。⚠ 在其他终端中通过.gitignore设置的变量可能无法在Codex Shell中显示,因此建议使用export文件。.env
자동으로 채우지 않기
不要自动填充
어떤 API가 필요한지는 팀이 정한다. AI는 주제카드를 근거로 제안만 하고, 팀이 고르지 않은 것을
"일단 다 신청해두죠"로 밀지 않는다. 왜 그게 필요한지 팀이 한 줄로 말할 수 있어야 고른 것이다.
需要哪些API由团队决定。AI仅基于主题卡提出建议,不要将团队未选择的API以‘先全部申请’为由强行推进。只有当团队能用一句话说明为什么需要该API时,才可以选择它。
context.md 갱신
更新context.md
- : 고른 API 이름 목록 + 각각
활용신청여부. 키 값은 절대 기록하지 않는다.활성확인 - , 로그 추가.
단계: 2
- :记录选中的API名称列表 + 每个API的
使用申请状态。绝对不要记录密钥值。激活验证 - 设置,并添加日志。
阶段: 2
끝맺음
收尾
- "필요한 데이터 창구는 다 열어놨어요. 반영에 좀 걸릴 수 있으니 그동안 지역부터 정하죠 🙂"
- 다음은 : 이 주제를 어느 지역에서 풀지 팀이 정한다.
$region-select - 미반영()이 남아 있어도 멈추지 않는다. 지역 대화를 하고 4단계 들어가기 전에 다시 확인하면 된다.
Unauthorized
- "所需的数据接口都已开通。同步可能需要一些时间,我们先确定地区吧 🙂"
- 下一阶段是:由团队确定在哪个地区解决该主题问题。
$region-select - 即使仍存在未同步的情况(返回),也不要停止推进。先进行地区讨论,在进入第4阶段前再次检查即可。
Unauthorized