openapi: 3.2.0 info: title: 장소 혼잡도 Visit API version: '1.0' servers: - url: https://apis.openapi.sk.com/puzzle/place security: - sec0: [] tags: - name: Visit paths: /visit/count/raw/daily/pois/{poiId}: get: tags: - Visit summary: 일자별 장소 방문자 수 description: '특정 장소 주변에 10분 이상 체류한 SK텔레콤 회선 사용자 중 거주 인구 및 직장 인구를 제외한 사용자 수에 보정 계수를 곱해 추정 방문자 수를 산출합니다. ' operationId: poivisitcount parameters: - $ref: '#/components/parameters/ContentTypeJson' - $ref: '#/components/parameters/AppKey' - $ref: '#/components/parameters/Gender' - $ref: '#/components/parameters/AgeGrp' - $ref: '#/components/parameters/StartDate' - $ref: '#/components/parameters/EndDate' - $ref: '#/components/parameters/Date' - $ref: '#/components/parameters/Range' - $ref: '#/components/parameters/PoiId' responses: '200': description: OK content: application/json: schema: type: object properties: status: $ref: '#/components/schemas/ResponseStatus' contents: $ref: '#/components/schemas/PoiVisitorCountRawDaily' examples: Result: value: "{\n \"status\": {\n \"code\": \"00\",\n \"message\": \"success\",\n \"totalCount\": 1\n },\n \"contents\": {\n \"poiId\": \"10067845\",\n \"poiName\": \"더현대서울\",\n \"gender\": \"all\",\n \"ageGrp\": \"all\",\n \"raw\": [\n {\n \"approxVisitorCount\": 26284.4,\n \"date\": \"20230201\"\n },\n {\n \"approxVisitorCount\": 27706.7,\n \"date\": \"20230202\"\n }\n ]\n }\n}" '400': $ref: '#/paths/~1meta~1pois/get/responses/400' '401': $ref: '#/paths/~1meta~1pois/get/responses/401' '403': $ref: '#/paths/~1meta~1pois/get/responses/403' '404': $ref: '#/paths/~1meta~1pois/get/responses/404' '429': $ref: '#/paths/~1meta~1pois/get/responses/429' '500': $ref: '#/paths/~1meta~1pois/get/responses/500' '504': $ref: '#/paths/~1meta~1pois/get/responses/504' deprecated: false /visit/distance/stat/daily/pois/{poiId}: get: tags: - Visit summary: 장소 유입력 description: '특정 장소 주변에 10분 이상 체류한 SK텔레콤 회선 사용자 중 거주 인구 및 직장 인구를 제외한 방문자가 얼마나 멀리서 오는지 알 수 있는 중위값을 제공합니다. ' operationId: poivisitdistance parameters: - $ref: '#/components/parameters/ContentTypeJson' - $ref: '#/components/parameters/AppKey' - $ref: '#/components/parameters/PoiId' responses: '200': description: OK content: application/json: schema: type: object properties: status: $ref: '#/components/schemas/ResponseStatus' contents: $ref: '#/components/schemas/PoiVisitorDistance' examples: Result: value: "{\n \"status\": {\n \"code\": \"00\",\n \"message\": \"success\",\n \"totalCount\": 1\n },\n \"contents\": {\n \"poiId\": \"219475\",\n \"poiName\": \"롯데백화점본점\",\n \"stat\": {\n \"visitorDistance\": 10.2218\n },\n \"statStartDate\": \"20230416\",\n \"statEndDate\": \"20230515\"\n }\n}" '400': $ref: '#/paths/~1meta~1pois/get/responses/400' '401': $ref: '#/paths/~1meta~1pois/get/responses/401' '403': $ref: '#/paths/~1meta~1pois/get/responses/403' '404': $ref: '#/paths/~1meta~1pois/get/responses/404' '429': $ref: '#/paths/~1meta~1pois/get/responses/429' '500': $ref: '#/paths/~1meta~1pois/get/responses/500' '504': $ref: '#/paths/~1meta~1pois/get/responses/504' deprecated: false /visit/seg/stat/daily/pois/{poiId}: get: tags: - Visit summary: 장소 방문자 연령 분포 description: '특정 장소 주변에 10분 이상 체류한 SK텔레콤 회선 사용자 중 거주 인구 및 직장 인구를 제외한 방문자의 연령 분포를 제공합니다. ' operationId: poivisitseg parameters: - $ref: '#/components/parameters/ContentTypeJson' - $ref: '#/components/parameters/AppKey' - $ref: '#/components/parameters/PoiId' responses: '200': description: OK content: application/json: schema: type: object properties: status: $ref: '#/components/schemas/ResponseStatus' contents: $ref: '#/components/schemas/PoiVisitorSeg' examples: Result: value: "{\n \"status\": {\n \"code\": \"00\",\n \"message\": \"success\",\n \"totalCount\": 1\n },\n \"contents\": {\n \"poiId\": \"219475\",\n \"poiName\": \"롯데백화점본점\",\n \"stat\": [\n {\n \"gender\": \"male\",\n \"ageGrp\": \"0\",\n \"rate\": 0.1074\n },\n {\n \"gender\": \"male\",\n \"ageGrp\": \"10\",\n \"rate\": 1.0081\n }\n ],\n \"statStartDate\": \"20230416\",\n \"statEndDate\": \"20230515\"\n }\n}" '400': $ref: '#/paths/~1meta~1pois/get/responses/400' '401': $ref: '#/paths/~1meta~1pois/get/responses/401' '403': $ref: '#/paths/~1meta~1pois/get/responses/403' '404': $ref: '#/paths/~1meta~1pois/get/responses/404' '429': $ref: '#/paths/~1meta~1pois/get/responses/429' '500': $ref: '#/paths/~1meta~1pois/get/responses/500' '504': $ref: '#/paths/~1meta~1pois/get/responses/504' deprecated: false /visit/count/raw/daily/areas/{areaId}: get: tags: - Visit summary: 일자별 상권 방문자 수 description: '특정 상권에 10분 이상 체류한 SK텔레콤 회선 사용자 중 거주 인구 및 직장 인구를 제외한 사용자 수에 보정 계수를 곱해 추정 방문자 수를 산출합니다. ' operationId: areavisitcount parameters: - $ref: '#/components/parameters/ContentTypeJson' - $ref: '#/components/parameters/AppKey' - $ref: '#/components/parameters/Gender' - $ref: '#/components/parameters/AgeGrp' - $ref: '#/components/parameters/StartDate' - $ref: '#/components/parameters/EndDate' - $ref: '#/components/parameters/Date' - $ref: '#/components/parameters/Range' - $ref: '#/components/parameters/AreaId' responses: '200': description: OK content: application/json: schema: type: object properties: status: $ref: '#/components/schemas/ResponseStatus' contents: $ref: '#/components/schemas/AreaVisitorCountRawDaily' examples: Result: value: "{\n \"status\": {\n \"code\": \"00\",\n \"message\": \"success\",\n \"totalCount\": 1\n },\n \"contents\": {\n \"areaId\": \"9195\",\n \"areaName\": \"명동\",\n \"gender\": \"all\",\n \"ageGrp\": \"all\",\n \"raw\": [\n {\n \"approxVisitorCount\": 275654,\n \"date\": \"20230511\"\n },\n {\n \"approxVisitorCount\": 299273,\n \"date\": \"20230512\"\n }\n ]\n }\n}" '400': $ref: '#/paths/~1meta~1pois/get/responses/400' '401': $ref: '#/paths/~1meta~1pois/get/responses/401' '403': $ref: '#/paths/~1meta~1pois/get/responses/403' '404': $ref: '#/paths/~1meta~1pois/get/responses/404' '429': $ref: '#/paths/~1meta~1pois/get/responses/429' '500': $ref: '#/paths/~1meta~1pois/get/responses/500' '504': $ref: '#/paths/~1meta~1pois/get/responses/504' deprecated: false /visit/distance/stat/daily/areas/{areaId}: get: tags: - Visit summary: 상권 유입력 description: '특정 상권에 10분 이상 체류한 SK텔레콤 회선 사용자 중 거주 인구 및 직장 인구를 제외한 방문자가 얼마나 멀리서 오는지 알 수 있는 중위값을 제공합니다. ' operationId: areavisitdistance parameters: - $ref: '#/components/parameters/ContentTypeJson' - $ref: '#/components/parameters/AppKey' - $ref: '#/components/parameters/AreaId' responses: '200': description: OK content: application/json: schema: type: object properties: status: $ref: '#/components/schemas/ResponseStatus' contents: $ref: '#/components/schemas/AreaVisitorDistance' examples: Result: value: "{\n \"status\": {\n \"code\": \"00\",\n \"message\": \"success\",\n \"totalCount\": 1\n },\n \"contents\": {\n \"areaId\": \"9195\",\n \"areaName\": \"명동\",\n \"stat\": {\n \"visitorDistance\": 12.0826\n },\n \"statStartDate\": \"20230418\",\n \"statEndDate\": \"20230517\"\n }\n}" '400': $ref: '#/paths/~1meta~1pois/get/responses/400' '401': $ref: '#/paths/~1meta~1pois/get/responses/401' '403': $ref: '#/paths/~1meta~1pois/get/responses/403' '404': $ref: '#/paths/~1meta~1pois/get/responses/404' '429': $ref: '#/paths/~1meta~1pois/get/responses/429' '500': $ref: '#/paths/~1meta~1pois/get/responses/500' '504': $ref: '#/paths/~1meta~1pois/get/responses/504' deprecated: false /visit/seg/stat/daily/areas/{areaId}: get: tags: - Visit summary: 상권 방문자 연령 분포 description: '특정 상권에 10분 이상 체류한 SK텔레콤 회선 사용자 중 거주 인구 및 직장 인구를 제외한 방문자의 연령 분포를 제공합니다. ' operationId: areavisitseg parameters: - $ref: '#/components/parameters/ContentTypeJson' - $ref: '#/components/parameters/AppKey' - $ref: '#/components/parameters/AreaId' responses: '200': description: OK content: application/json: schema: type: object properties: status: $ref: '#/components/schemas/ResponseStatus' contents: $ref: '#/components/schemas/AreaVisitorSeg' examples: Result: value: "{\n \"status\": {\n \"code\": \"00\",\n \"message\": \"success\",\n \"totalCount\": 1\n },\n \"contents\": {\n \"areaId\": \"9195\",\n \"areaName\": \"명동\",\n \"stat\": [\n {\n \"gender\": \"male\",\n \"ageGrp\": \"0\",\n \"rate\": 0.1171\n },\n {\n \"gender\": \"male\",\n \"ageGrp\": \"10\",\n \"rate\": 1.5923\n }\n ],\n \"statStartDate\": \"20230416\",\n \"statEndDate\": \"20230515\"\n }\n}" '400': $ref: '#/paths/~1meta~1pois/get/responses/400' '401': $ref: '#/paths/~1meta~1pois/get/responses/401' '403': $ref: '#/paths/~1meta~1pois/get/responses/403' '404': $ref: '#/paths/~1meta~1pois/get/responses/404' '429': $ref: '#/paths/~1meta~1pois/get/responses/429' '500': $ref: '#/paths/~1meta~1pois/get/responses/500' '504': $ref: '#/paths/~1meta~1pois/get/responses/504' deprecated: false /visit/type/stat/daily/areas/{areaId}: get: tags: - Visit summary: 상권 방문자 유형 분포 description: '특정 상권에 10분 이상 체류한 SK텔레콤 회선 사용자의 유형 분포를 제공합니다. ' operationId: areavisittype parameters: - $ref: '#/components/parameters/ContentTypeJson' - $ref: '#/components/parameters/AppKey' - $ref: '#/components/parameters/AreaId' responses: '200': description: OK content: application/json: schema: type: object properties: status: $ref: '#/components/schemas/ResponseStatus' contents: $ref: '#/components/schemas/AreaVisitorType' examples: Result: value: "{\n \"status\": {\n \"code\": \"00\",\n \"message\": \"success\",\n \"totalCount\": 1\n },\n \"contents\": {\n \"areaId\": \"9195\",\n \"areaName\": \"명동\",\n \"stat\": [\n {\n \"visitorType\": \"home\",\n \"rate\": 2.7631\n },\n {\n \"visitorType\": \"visitor\",\n \"rate\": 75.0717\n },\n {\n \"visitorType\": \"work\",\n \"rate\": 22.1652\n }\n ],\n \"statStartDate\": \"20230416\",\n \"statEndDate\": \"20230515\"\n }\n}" '400': $ref: '#/paths/~1meta~1pois/get/responses/400' '401': $ref: '#/paths/~1meta~1pois/get/responses/401' '403': $ref: '#/paths/~1meta~1pois/get/responses/403' '404': $ref: '#/paths/~1meta~1pois/get/responses/404' '429': $ref: '#/paths/~1meta~1pois/get/responses/429' '500': $ref: '#/paths/~1meta~1pois/get/responses/500' '504': $ref: '#/paths/~1meta~1pois/get/responses/504' deprecated: false components: schemas: VisitorCountDate: type: object properties: approxVisitorCount: type: number description: 추정 방문자수 date: type: string description: 날짜 (YYYYMMDD) required: - approxVisitorCount - date PoiVisitorCountRawDaily: type: object properties: poiId: type: string description: 장소 id poiName: type: string description: 장소 이름 gender: type: string description: 성별 (male:남성, female:여성, all:전체) ageGrp: type: string description: 연령대 (0:10대 미만, 10:10대, 20:20대, 30:30대, 40:40대, 50:50대, 60:60대, 70:70대, 80:80대, 90:90대, 100:100대이상, all:전체) raw: description: raw 데이터 type: array items: $ref: '#/components/schemas/VisitorCountDate' required: - poiId - poiName - gender - ageGrp - raw ResponseStatus: type: object description: 응답 상태입니다. properties: code: type: string description: '응답 코드입니다. 00: 성공 ' message: type: string description: '요청(request) 성공 여부 메시지입니다. success: 성공. ' totalCount: type: integer description: 검색 결과 데이터 건수입니다. required: - code - message - totalCount VisitorType: type: object properties: visitorType: type: string description: 방문자 유형(home, work, visitor) rate: type: number description: 방문자 유형이 전체에서 차지하는 비율입니다. required: - gender - ageGrp - rate AreaVisitorSeg: type: object properties: areaId: type: string description: 상권 id areaName: type: string description: 상권 이름 stat: description: 통계 데이터 type: array items: $ref: '#/components/schemas/VisitorSeg' statStartDate: type: string description: 통계 시작일 statEndDate: type: string description: 통계 종료일 required: - areaId - areaName - stat - statStartDate - statEndDate AreaVisitorDistance: type: object properties: areaId: type: string description: 상권 id areaName: type: string description: 상권 이름 stat: description: 통계 데이터 type: object properties: visitorDistance: type: number description: 유입력 statStartDate: type: string description: 통계 시작일 statEndDate: type: string description: 통계 종료일 required: - areaId - areaName - stat - statStartDate - statEndDate AreaVisitorType: type: object properties: areaId: type: string description: 상권 id areaName: type: string description: 상권 이름 stat: description: 통계 데이터 type: array items: $ref: '#/components/schemas/VisitorType' statStartDate: type: string description: 통계 시작일 statEndDate: type: string description: 통계 종료일 required: - areaId - areaName - stat - statStartDate - statEndDate PoiVisitorSeg: type: object properties: poiId: type: string description: 장소 id poiName: type: string description: 장소 이름 stat: description: 통계 데이터 type: array items: $ref: '#/components/schemas/VisitorSeg' statStartDate: type: string description: 통계 시작일 statEndDate: type: string description: 통계 종료일 required: - poiId - poiName - stat - statStartDate - statEndDate VisitorSeg: type: object properties: gender: type: string description: 성별 ageGrp: type: string description: 연령대 rate: type: number description: 방문자 성별, 연령대가 전체에서 차지하는 비율입니다. required: - gender - ageGrp - rate PoiVisitorDistance: type: object properties: poiId: type: string description: 장소 id poiName: type: string description: 장소 이름 stat: description: 통계 데이터 type: object properties: visitorDistance: type: number description: 유입력 statStartDate: type: string description: 통계 시작일 statEndDate: type: string description: 통계 종료일 required: - poiId - poiName - stat - statStartDate - statEndDate AreaVisitorCountRawDaily: type: object properties: areaId: type: string description: 상권 id areaName: type: string description: 상권 이름 gender: type: string description: 성별 (male:남성, female:여성, all:전체) ageGrp: type: string description: 연령대 (0:10대 미만, 10:10대, 20:20대, 30:30대, 40:40대, 50:50대, 60:60대, 70:70대, 80:80대, 90:90대, 100:100대이상, all:전체) raw: description: raw 데이터 type: array items: $ref: '#/components/schemas/VisitorCountDate' required: - areaId - areaName - gender - ageGrp - raw parameters: Gender: name: gender in: query description: 조회 대상 성별 schema: type: string default: male enum: - male - female - all ContentTypeJson: name: Content-Type description: application/json in: header required: true schema: type: string default: application/json EndDate: name: endDate in: query description: 기준 종료 일자(YYYYMMDD) schema: type: string AgeGrp: name: ageGrp in: query description: 조회 대상 연령대 schema: type: string default: '30' enum: - '0' - '10' - '20' - '30' - '40' - '50' - '60' - '70' - '80' - '90' - 100_over - all Date: name: date in: query description: 기준 일자(YYYYMMDD) 또는 어제(ystday)를 지정, startDate, endDate 입력이 우선합니다. schema: type: string default: ystday AreaId: name: areaId in: path description: 상권(AREA) ID schema: type: string default: '9195' required: true PoiId: name: poiId in: path description: 관심장소(POI) ID schema: type: string default: '10067845' required: true AppKey: name: appKey in: header description: 대시보드>앱>앱키(appKey) 탭에서 조회 required: true schema: type: string StartDate: name: startDate in: query description: 기준 시작 일자(YYYYMMDD) schema: type: string Range: name: range in: query description: 기준일로부터 조회되는 날짜 범위 schema: type: string default: 30days enum: - 0days - 7days - 30days securitySchemes: sec0: type: apiKey in: header x-default: e8wHh2tya84M88aReEpXCa5XTQf3xgo01aZG39k5 name: appkey x-readme: headers: [] explorer-enabled: true proxy-enabled: true samples-enabled: true x-readme-fauxas: true