문서

연락처 속성(Contact Properties)

계정 유형, 지역, 계약 등급 같은 연락처의 커스텀 필드를 정의하고 위젯을 통해 전달하세요. 속성은 연락처 프로필에 표시되고, 상담원이 편집할 수 있으며, Inbox에서 필터링할 수 있습니다.

개요#

연락처 속성을 사용하면 기본 제공 필드(email, name, userId)를 넘어 구조화된 데이터를 대화에 첨부할 수 있습니다. 자유 형식의 metadata와 달리 속성은 타입, 레이블, 검증이 정의된 스키마를 가집니다 — HubSpot이나 Salesforce의 커스텀 필드와 비슷합니다.

스키마 정의

string, number, enum, boolean, date, url 같은 타입으로 에이전트 설정에서 속성 정의를 만드세요

위젯에서 전달

Respondo.identify()로 속성 값을 전송하세요 — 값은 자동으로 저장되고 표시됩니다

필터링 & 편집

Inbox에서 속성 값으로 대화를 필터링하세요. 상담원은 연락처 프로필에서 연락처의 속성을 보고 편집할 수 있습니다.

속성 정의하기#

속성은 에이전트 설정 → 연락처 속성에서 에이전트별로 정의됩니다. 각 속성은 다음을 가집니다:

필드설명
key코드에서 사용되는 고유 식별자. 레이블에서 자동 생성됩니다(편집 가능). 소문자, 숫자, 언더스코어만 허용되며, 문자로 시작해야 하고, 2~63자여야 합니다. 시스템 키(user_id, visitor_id, timezone, page_url 등)는 예약되어 있습니다. 예: account_type
label대시보드에 표시되는 사람이 읽을 수 있는 이름. 예: "Account Type"
type값 타입: string, number, boolean, enum, date, url
enum_valuesenum 타입의 경우 — 허용되는 값 목록. 예: ["starter", "pro", "enterprise"]
is_filterable향후 필터 제어를 위해 예약됨. 정의와 함께 저장되지만, 현재 Inbox 필터 선택기는 정의된 모든 속성을 나열합니다(기본값: true)
is_visible향후 표시 제어를 위해 예약됨. 정의와 함께 저장되지만 아직 UI에는 적용되지 않습니다(기본값: true)
에이전트당 최대 50개의 속성을 만들 수 있습니다. 설정 UI에서 드래그 앤 드롭으로 속성 순서를 바꿀 수 있습니다.

위젯에서 전달하기#

Respondo.identify()의 properties 필드에 속성 값을 전달하세요. 키는 에이전트 설정의 속성 정의와 일치해야 합니다.

위젯 통합javascript
Respondo.identify({
  email: 'user@example.com',
  name: 'Jane Smith',
  userId: 'usr_456',
  properties: {
    account_type: 'enterprise',   // enum
    region: 'eu-west',            // string
    monthly_spend: '15000',       // number (문자열로 전달)
    is_partner: 'true',           // boolean (문자열로 전달)
    contract_end: '2026-12-31',   // date
    dashboard_url: 'https://app.example.com/org/123'  // url
  }
});
모든 속성 값은 문자열로 전달됩니다. 대시보드가 타입별 표시를 처리합니다(예: boolean → Yes/No, url → 클릭 가능한 링크, enum → 배지).

통합 스니펫#

통합 스니펫은 속성을 하나 이상 정의하면 에이전트 설정 → 연락처 속성 아래에 모든 속성 키가 미리 채워진 상태로 자동으로 나타납니다. 복사를 클릭해 가져다가 애플리케이션에 붙여 넣으세요. 생성된 스니펫에는 신원 확인(HMAC-SHA256)용 userHash 플레이스홀더도 포함되어 있습니다.

값이 저장되는 방식#

속성 값은 대화의 metadata JSONB 필드에 cp_ 접두사를 붙여 저장됩니다. 예를 들어 키가 account_type인 속성은 cp_account_type로 저장됩니다.

속성은 모든 메시지마다 업데이트됩니다 — 위젯이 새 값을 보내면 기존 값을 덮어씁니다. 즉, 속성 값은 항상 애플리케이션의 최신 데이터를 반영합니다.

Inbox에서 필터링하기#

Inbox 필터 바나 저장된 뷰(View)를 사용해 속성 값으로 대화를 필터링하세요. 속성(Property) 조건을 추가하고 이름으로 속성을 고르세요 — 선택기는 모든 에이전트에 걸친 모든 정의를 나열하며 정의가 없는 원시 키도 허용합니다 — 그런 다음 값을 선택하세요. 값 필드는 입력하는 동안 관측된 값과 enum 값을 제안합니다.

API에서는 대화 목록 엔드포인트가 cp.<key>=<value> 쿼리 매개변수(attr.<key>의 정확한 별칭)를 받습니다. 자유 텍스트 쿼리 구문은 없습니다:

GET /api/v1/conversations?cp.account_type=enterprise

값 편집#

속성 값은 여러분의 애플리케이션이 — 위젯 통합이나 API를 통해 — 설정하며, 대화 상세 패널에서는 읽기 전용입니다. 패널은 연락처 프로필로 이어지는 링크를 제공하며, 상담원은 그곳에서 연락처의 속성을 보고 편집할 수 있습니다(연락처 → 연락처 → 속성).

properties와 metadata 비교

기능propertiesmetadata
스키마에이전트 설정에서 타입과 함께 정의됨자유 형식 키-값 쌍
필터 가능가능, 필터 바 / 저장된 뷰로(API: cp.<key> 매개변수)불가능
상담원 편집 가능불가능 — 값은 여러분의 애플리케이션에서 옵니다. 연락처 속성은 연락처 프로필에서 편집합니다불가능
타입별 표시가능(배지, 링크, 날짜, 불리언)일반 텍스트만
자동 완성가능, 필터 값 필드에서 값 제안불가능
필터링이나 타입별 표시가 필요 없는 임시 필드에는 metadata를 사용하세요. 팀이 세그먼테이션과 워크플로에 적극적으로 활용할 구조화된 데이터에는 properties를 사용하세요.