메인 콘텐츠로 건너뛰기
GetQR API는 베타 버전이며 일부 워크스페이스에서만 사용할 수 있습니다. 정식 출시 전에 세부 사항이 변경될 수 있습니다.
GetQR의 QR 코드는 이미지와, 그 이미지가 거쳐 가는 단축 링크로 이루어집니다. QR 코드를 만들면 단축 링크도 함께 만들어지므로, 코드를 다시 인쇄하지 않고도 나중에 목적지를 바꿀 수 있습니다.

유형별 QR 코드 데이터

16가지 유형별 data 형식.

맞춤 설정

점 스타일, 색상, 프레임, 로고.

접근 규칙

일정, 스캔 제한, 비밀번호.
QR 코드의 스캔 통계는 분석을 참조하세요.

QR 코드 객체

삭제와 다운로드를 제외한 모든 QR 코드 엔드포인트는 이 객체를 반환합니다. 목록 조회는 이 객체의 배열을 반환합니다.
string
QR 코드의 고유 ID입니다. 예: qr_1EPcVfeHZAY2iNoVLsgW2Aqf.
string
QR 코드 유형입니다. 예: website. 16가지 값 전체는 유형별 QR 코드 데이터를 참조하세요.
string | null
대시보드에 표시되는 QR 코드 이름입니다.
string | null
QR 코드에 대한 자유 형식 메모입니다.
string
저장된 페이로드입니다. wifi, vcard, social, multilink, event, sms에서는 보낸 페이로드 그대로입니다. 그 밖의 유형에서는 단축 링크이므로 목적지는 url에서 읽으세요.
boolean
QR 코드가 일시 중지되면 true입니다.
boolean
대시보드에서 만든, 단축 링크가 없는 정적 QR 코드이면 true입니다. API는 항상 동적 QR 코드를 만듭니다.
전체 단축 링크입니다. 예: https://getqr.sh/x7Kd2p1.
string | null
단축 링크의 도메인입니다.
string | null
단축 링크의 슬러그입니다.
boolean
슬러그를 자동 생성하지 않고 직접 지정했으면 true입니다.
string | null
단축 링크가 리디렉션하는 목적지입니다.
string | null
app QR 코드에서 iOS 방문자의 목적지입니다.
string | null
app QR 코드에서 Android 방문자의 목적지입니다.
integer
전체 스캔 수입니다.
object
접근 규칙입니다. 비밀번호 자체는 반환되지 않습니다. 접근 규칙을 참조하세요.
string
읽기 전용입니다. custom은 API로 전부 수정할 수 있는 디자인입니다. branded와 ai는 대시보드에서 만든 Branded design 또는 AI design입니다. API로는 그 이미지를 수정할 수 없지만, 다른 필드를 변경해도 이미지는 유지됩니다.
object
저장된 디자인입니다. styles, frameOptions, logoOptions로 구성되며 각각 객체 또는 null입니다. 요청 필드와 구조가 같으므로 그대로 다시 보낼 수 있습니다. 맞춤 설정을 참조하세요.
object | null
pdf, image, video QR 코드의 파일입니다. id, name, size(바이트)로 구성됩니다.
string | null
읽기 전용입니다. 대시보드에서 만든 app QR 코드의 표시 이름입니다.
object | null
읽기 전용입니다. 대시보드에서 만든, 파일이 여러 개인 pdf QR 코드입니다. title, layout, files로 구성됩니다.
읽기 전용입니다. 대시보드에서 만든, 이미지가 여러 개인 image QR 코드입니다. title, layout, files로 구성됩니다.
string
생성 일시(ISO 8601)입니다.
string
마지막 업데이트 일시(ISO 8601)입니다.
민감한 정보와 내부 ID(password, userId, workspaceId, projectId)는 반환되지 않습니다.

QR 코드 목록 조회

GET /api/v1/qrs 워크스페이스의 QR 코드를 한 페이지씩 반환합니다.
integer
기본값:"1"
반환할 페이지로, 1 이상입니다.
integer
기본값:"100"
페이지당 QR 코드 수로, 1부터 100까지입니다. 더 큰 값은 거부됩니다.
QR 코드 제목과 비교합니다. 2자보다 긴 검색어는 저장된 data와도 비교합니다. 링크 유형에서는 저장된 data가 단축 링크이므로 목적지 URL로는 검색할 수 없습니다.
string
기본값:"createdAt"
정렬 기준 필드: createdAt, updatedAt, clicks(전체 스캔 수), lastClicked(최근 스캔), type. type은 항상 내림차순으로 정렬되며 sortOrder를 무시합니다.
string
기본값:"desc"
정렬 방향: asc 또는 desc.
boolean
기본값:"false"
일시 중지된 QR 코드도 포함합니다.
boolean
기본값:"false"
일시 중지된 QR 코드만 반환합니다. showArchived보다 우선합니다.
불리언 매개변수에는 문자열 true 또는 false를 사용합니다. pagination.hasMore가 true인 동안 다음 페이지를 요청하세요. 페이지네이션을 참조하세요.

QR 코드 생성

POST /api/v1/qrs QR 코드와 단축 링크를 함께 만듭니다. 새 QR 코드와 함께 201 Created를 반환합니다.
string
직접 정한 재시도 토큰입니다. 24시간 안에 같은 키로 요청을 반복하면 두 번째 QR 코드를 만들지 않고 원래 응답을 반환합니다. 재시도와 중복을 참조하세요.
string
필수
QR 코드가 인코딩하는 내용입니다. data의 형식도 이 값으로 정해집니다. website, pdf, image, video, whatsapp, social, wifi, app, feedback, vcard, sms, payment, location, multilink, email, event 중 하나입니다.
string
필수
유형의 페이로드로, qrType에 맞는지 검사됩니다. 빈 문자열이면 검사를 건너뜁니다. 유형별 형식은 유형별 QR 코드 데이터에 있습니다.
QR 코드가 거쳐 가는 단축 링크입니다. 선택 사항이며, 생략하면 link.url은 data를 따릅니다.
string
대시보드에 표시되는 QR 코드 이름입니다. 앞뒤 공백이 제거되며 1~40자입니다. 생략하면 제목 없는 QR 코드가 됩니다.
string
QR 코드에 대한 자유 형식 메모로, 최대 280자입니다.
string
pdf, image, video QR 코드의 파일로, 일치하는 용도로 업로드한 것입니다. vcard, social, multilink에서는 logo 용도로 업로드한 선택적 프로필 이미지입니다. event도 받지만, 이벤트 페이지는 커버 이미지를 data.fileId에서 읽습니다. 그 밖의 유형은 422를 반환합니다. 먼저 파일로 파일을 업로드하세요. QR 코드에 사용하는 파일을 참조하세요.
string
새 QR 코드에 디자인을 적용할 템플릿입니다. 보낸 디자인 필드는 그 위에 병합됩니다. Branded design 또는 AI design 템플릿은 422(art_template_unsupported)를 반환합니다. 알 수 없는 템플릿이나 다른 워크스페이스의 템플릿은 404를 반환합니다.
object
점과 모서리의 모양과 색상입니다. 맞춤 설정을 참조하세요.
object
QR 코드를 감싸는 프레임과 행동 유도 문구입니다. 맞춤 설정을 참조하세요.
object
중앙의 로고입니다. 추천 로고 또는 logo 용도로 업로드한 직접 만든 파일을 사용합니다. 알 수 없는 파일, 업로드가 완료되지 않은 파일, 다른 용도의 파일은 거부됩니다. 맞춤 설정을 참조하세요.
object
일정, 스캔 제한, 비밀번호 보호입니다. 접근 규칙을 참조하세요.
boolean
QR 코드의 일시 중지 여부입니다. true이면 일시 중지된 상태로 만들어지며, 스캔하면 목적지 대신 일시 중지 페이지가 표시됩니다.
알 수 없는 필드는 오류 없이 무시됩니다. API에서 지원하지 않는 기능을 참조하세요.

재시도와 중복

  • 키가 있는 경우. Idempotency-Key 헤더가 있으면 24시간 동안 같은 응답이 재생됩니다.
  • 키가 없는 경우. 30초 안에 보낸 동일한 본문은 중복으로 처리됩니다.
  • 재생. 재생된 응답은 저장된 응답을 x-idempotent-replay: true와 함께 반환합니다. 새 QR 코드는 false를 반환합니다.
  • 처리 중. 첫 번째 요청이 처리 중일 때 들어온 두 번째 요청은 409 conflict를 받습니다.
  • 실패. 생성에 실패하면 키가 즉시 해제되므로 같은 키로 다시 시도할 수 있습니다.
  • 최선 노력 방식. 이 보호 장치를 사용할 수 없으면 생성 요청은 보호 없이 처리됩니다.
멱등성도 참조하세요.

QR 코드 조회

GET /api/v1/qrs/{qrId} QR 코드를 단축 링크, 접근 규칙, 디자인, 그리고 파일 기반 유형의 경우 파일과 함께 반환합니다.
string
필수
QR 코드의 ID로, 목록 조회 또는 생성 응답에서 가져옵니다.
응답은 전체 QR 코드 객체입니다.

QR 코드 업데이트

PATCH /api/v1/qrs/{qrId} QR 코드의 콘텐츠, 목적지, 디자인, 접근 규칙을 변경합니다. 변경할 필드만 보내세요. 업데이트된 QR 코드를 반환합니다.
string
필수
QR 코드의 ID입니다.
본문은 QR 코드 생성과 같은 필드를 모두 선택 사항으로 받으며, 다음 점이 다릅니다.
  • templateId. 받지 않습니다.
  • link. 일부만 보낼 수 있습니다. link.url을 생략하면 현재 목적지가 유지됩니다. link.domain과 link.key는 422를 반환합니다. 인쇄된 코드가 인코딩하는 것은 단축 링크이므로, 다른 단축 링크를 사용하려면 새 QR 코드를 만드세요.
  • data. data 또는 qrType이 바뀔 때만 결과 유형에 맞는지 검사됩니다. 일치하는 data 없이 qrType을 바꾸면 거부됩니다. 유형 변경을 참조하세요.
  • 디자인. styles, frameOptions, logoOptions는 저장된 디자인에 병합되므로 일부만 담은 객체는 지정한 항목만 변경합니다. 다른 로고를 고르면 로고는 교체되지만 크기는 유지됩니다.
  • access. 각 키는 있을 때만 적용됩니다. null은 규칙을 지웁니다. 접근 규칙은 access 아래에 넣어야 하며, link 아래에 보내면 422를 반환합니다.
  • archived. 일시 중지, 재활성화와 마찬가지로 QR 코드와 단축 링크를 함께 일시 중지하거나 재활성화합니다.
유형별로 인쇄 후에 변경할 수 있는 항목은 유형별 QR 코드 데이터에 나와 있습니다.

일시 중지 상태 설정

PUT /api/v1/qrs/{qrId} 일시 중지 상태를 직접 설정합니다. 일시 중지와 재활성화도 같은 일을 하며 의도가 더 분명하게 드러납니다.
string
필수
QR 코드의 ID입니다.
boolean
필수
QR 코드를 일시 중지하려면 true, 재활성화하려면 false입니다.

QR 코드 일시 중지

POST /api/v1/qrs/{qrId}/pause QR 코드가 목적지로 연결되지 않도록 합니다. 스캔하면 대신 일시 중지 페이지가 표시됩니다. 인쇄된 코드와 단축 링크는 계속 유효합니다. 요청 본문은 없습니다.
string
필수
QR 코드의 ID입니다.

QR 코드 재활성화

POST /api/v1/qrs/{qrId}/activate 일시 중지된 QR 코드가 다시 목적지로 연결되도록 합니다. 일정과 스캔 제한은 계속 적용됩니다. 요청 본문은 없습니다.
string
필수
QR 코드의 ID입니다.

QR 코드 복제

POST /api/v1/qrs/{qrId}/duplicate 같은 콘텐츠와 디자인을 가진 복사본을 만듭니다. 요청 본문은 없습니다. 새 QR 코드와 함께 201 Created를 반환합니다.
string
필수
복사할 QR 코드의 ID입니다.
  • 단축 링크. 복사본에는 별도의 단축 링크가 생깁니다. 슬러그는 무작위이고, 도메인은 원본의 도메인이 아니라 워크스페이스의 기본 도메인입니다. 스캔은 따로 집계됩니다.
  • 제목. 제목 뒤에 (Copy)가 붙습니다. 결과는 40자를 넘지 않으며, 긴 제목은 먼저 줄어듭니다. 제목 없는 QR 코드는 제목 없는 상태로 유지됩니다.
  • 복사되지 않는 항목. 접근 규칙(비밀번호, 일정, 스캔 제한)과 일시 중지 상태입니다. 복사본은 항상 활성 상태입니다.
  • 파일. PDF와 이미지 파일(번들과 갤러리 파일 포함)은 복사되어 복사본이 소유합니다. 동영상 파일과 로고 같은 디자인 파일은 원본과 공유됩니다.

QR 코드 삭제

DELETE /api/v1/qrs/{qrId} QR 코드와 단축 링크를 삭제합니다. 삭제된 ID를 반환합니다.
삭제는 영구적입니다. 인쇄된 코드와 단축 링크가 작동을 멈추고, 스캔 기록에도 더 이상 접근할 수 없습니다. 다시 필요할 수 있다면 대신 QR 코드를 일시 중지하세요.
string
필수
QR 코드의 ID입니다.
string
삭제된 QR 코드의 ID입니다.
boolean
항상 true입니다.

QR 코드 이미지 다운로드

GET /api/v1/qrs/{qrId}/download QR 코드를 디자인대로 렌더링하여 파일을 반환합니다.
string
필수
렌더링할 QR 코드의 ID로, 목록 조회 또는 생성 응답에서 가져옵니다.
string
기본값:"jpg"
출력 형식: jpg, png, svg, pdf(A4 페이지), eps. Branded design과 AI design은 jpg, png, pdf로만 다운로드됩니다.
integer
기본값:"1024"
픽셀 단위 이미지 크기: 1024, 2048, 4096. svg와 pdf는 이 값을 무시합니다. Branded design과 AI design은 1024로만 다운로드됩니다.
  • 본문. 응답 본문은 파일입니다. 권장 파일 이름은 Content-Disposition 헤더에 있으며, 제목으로 만들어지고 제목 없는 QR 코드는 qr-code입니다.
  • 캐싱. 응답에는 ETag와 Cache-Control: private, max-age=3600, must-revalidate가 담깁니다. ETag를 If-None-Match로 다시 보내면 QR 코드가 바뀌지 않았을 때 304 Not Modified를 받습니다.
  • 오류. 지원하지 않는 형식이나 해상도는 400 bad_request를 반환합니다. 오류 메시지에 이유가 표시됩니다: qr_download_invalid_format, qr_download_invalid_resolution, qr_download_art_format_unsupported, qr_download_art_resolution_unsupported.

접근 규칙

생성 또는 업데이트 시 access 객체를 보내면 시작과 종료를 예약하고, 스캔 수를 제한하고, 비밀번호를 요구할 수 있습니다. 생략한 규칙은 변경되지 않으며, null은 규칙을 지웁니다. 예시를 포함한 전체 동작은 접근 규칙에 있습니다.

디자인 객체

styles, frameOptions, logoOptions는 점과 모서리 모양, 색상, 프레임, 로고를 설정합니다. QR 코드, 템플릿, 대량 생성에서 똑같이 작동합니다. 알 수 없는 모양, 프레임, 로고는 거부됩니다. 허용되는 모든 값과 실제 예시는 맞춤 설정에 있습니다.

자주 발생하는 문제

규칙은 link 아래가 아니라 access 아래에 보내세요.
data가 qrType의 형식과 맞지 않습니다. 유형별 QR 코드 데이터에서 유형을 확인하세요.
동일한 생성 요청이 아직 처리 중이거나 link.key가 이미 사용 중입니다. 첫 번째 요청이 끝난 뒤 다시 시도하세요. Idempotency-Key가 있으면 재시도 시 원래 QR 코드가 반환됩니다.
매개변수는 format과 resolution이며, format의 기본값은 jpg입니다. format=png를 보내세요.
모든 요청은 API 키의 워크스페이스에서 실행됩니다. QR 코드가 해당 워크스페이스에 속하는지 확인하세요. 인증을 참조하세요.

다음 단계

유형별 QR 코드 데이터

맞춤 설정

접근 규칙

분석