Table of Contents

Cloud recognition APIs 소개

API 목록

REST API 인터페이스 프로토콜 및 인증 메커니즘

CRS API는 표준 HTTP REST 전송 표준을 따릅니다.

Http Header

    Authorization: <APIKey에서 얻은 Token 입력>

Http 요청 파라미터는 두 가지 유형으로 나뉩니다.

  • 공통 파라미터(다음을 모두 포함하며, 인증 방식에 따라 서로 다른 조합으로 사용):

    • appId
    • timestamp(Long 정수: 1970년 1월 1일 00:00:00 UTC 이후 경과한 밀리초)
    • apiKey
    • signature(요청 서명, token 방식 인증과 둘 중 하나 선택)
  • CRS API 파라미터: API 자체의 파라미터

    API 문서는 더 이상 인증에 사용하는 공통 파라미터를 설명하지 않습니다

API Key 인증

인증 방식은 두 가지로 나뉩니다.

Token 기반 인증

Http header Authorization에 Token이 포함됩니다. 공통 파라미터는 다음을 포함합니다.

  • appId

Signature 인증

Http header Authorization을 사용하지 않습니다.

공통 파라미터에는 signature 서명 정보가 포함됩니다. 이미지를 제외한 모든 파라미터가 서명 계산에 포함됩니다.

  • appId
  • timestamp
  • apiKey
  • signature

서명 계산의 자세한 알고리즘과 코드는 API Key signature 방법 문서를 참고하십시오.

사용 예시 및 속성 분석

API 사용 예시

이 예시에서는 API 인터페이스를 호출하여 target image를 생성함으로써, 개발자가 CRS API 요청 과정, target image의 속성 구조, 인터페이스의 입력과 출력을 이해할 수 있도록 합니다.

운영 환경에서 target image를 생성하기 전에는 더 많은 검증이 필요합니다. 자세한 내용은 best practice를 참고하여 새 target image를 생성하십시오.

요청 예시

test-target.jpg라는 target image 파일을 추가합니다. Target image를 생성할 때 이미지 파일은 base64 인코딩되어야 합니다.

API 문서에서는 요청 파라미터를 자세히 설명합니다. 이미지 파일을 base64 인코딩하여 API를 요청하려면 API - Target image 생성을 참고하십시오.

POST /targets HTTP/1.1
Host:
Date: Mon, 1 Jan 2018 00:00:00 GMT
Content-Type: application/json
{
    "image":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
    "active":"1",
    "name":"easyar",
    "size":"5",
    "meta":"496fbbabc2b38ecs3460a...",
    "type":"ImageTarget",
    "timestamp": 1514736000000,
    "apiKey": "8b485c648c3056e79c2a85ee9b51f9dc",
    "appId": "C:CN1:f9f903c36da8bd64d71d491077bba...",
    "signature": "89985e2420899196db5bdf16b3c2ed0922c0c221"
}

응답 예시

HTTP/1.1 200 OK
Content-Type: application/json
{
    "statusCode": 0,
    "result": {
        "targetId":"e61db301-e80f-4025-b822-9a00eb48d8d2",
        "trackingImage":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
        "name": "easyar",
        "size": "5",
        "meta": "496fbbabc2b38ecs3460a...",
        "type": "ImageTarget",
        "modified":1514735000000
        "active":"1",
        "trackableRate": 0,
        "detectableRate": 0,
        “detectableDistinctiveness”:0,
        "detectableFeatureCount": 0,
        "trackableDistinctiveness": 0,
        "trackableFeatureCount": 0,
        "trackableFeatureDistribution": 0,
        "trackablePatchContrast": 0,
        "trackablePatchAmbiguity": 0
    },
    "timestamp": 1514736000000
}

응답 형식

응답은 모두 통일된 형식을 사용합니다. 다음은 예시입니다.

{
  "statusCode": 119,
  "msg": "Parameter has errors",
  "date": "2022-06-15T09:56:30.000Z",
  "result":  //result는 statusCode가 0인 경우에만 있으며, 오류가 발생하면 결과 필드는 비어 있습니다
}

위 예시와 같이, 이는 정상적으로 반환되는 target image 상세 구조입니다. 하나의 target image는 다음 속성을 포함합니다.

속성 설명
targetId Target image의 고유 Id
trackingImage 처리된 grayscale image의 base64 인코딩이며, device 측 image tracking에 사용됩니다
name Target image 이름
size 이미지 크기, 애플리케이션에서 virtual content를 중첩할 때 사용하는 실제 크기
meta 사용자 연결 데이터로, 파일, 텍스트 또는 url일 수 있으며 base64 인코딩이 필요합니다
type "ImageTarget"
active 활성화된 target image만 인식될 수 있습니다. 비활성화 후에는 인식되지 않습니다
trackableRate Tracking 난이도 점수. 작을수록 좋습니다
detectableRate Recognition 종합 난이도 점수. 작을수록 좋습니다
detectableDistinctiveness Recognition 구분 난이도 점수. 작을수록 좋습니다
detectableFeatureCount Recognition feature 난이도 점수. 작을수록 좋습니다
trackableDistinctiveness Tracking 구분 난이도 점수. 작을수록 좋습니다
trackableFeatureCount Tracking feature 난이도 점수. 작을수록 좋습니다
trackableFeatureDistribution Tracking feature distribution 난이도 점수. 작을수록 좋습니다

오류 코드

Cloud recognition APIs 오류 코드 설명

관련 주제