| Name | Number | Description |
| UNKNOWN | 0 | |
| CREATED | 1 | |
| AGREED | 2 | |
| ACTIVATED | 3 | |
| BLOCKED | 4 | |
| DEACTIVATED | 5 |
| Field | Type | Label | Description |
| encrypted_message | kfrm.api.common.EncryptedMessage |
|
| Field | Type | Label | Description |
| plain_text | string |
|
| Field | Type | Label | Description |
| plain_text | string |
|
|
| provider | kfrm.api.common.EncryptedMessage.ProviderType |
|
|
| session_id | string |
|
| Field | Type | Label | Description |
| encrypted_text | string |
|
| Method Name | Request Type | Response Type | Description |
| EncryptText | EncryptTextRequest | EncryptTextResponse | e2e 암호화 시 provider에서 암호화한 텍스트를 앱에서 정상적으로 복호화할 수 있는지 테스트를 위한 API |
| DecryptText | DecryptTextRequest | DecryptTextResponse | e2e 암호화 시 앱에서 암호화를 한 텍스트를 provider가 정상적으로 복호화할 수 있는지 테스트를 위한 API |
| Field | Type | Label | Description |
| process_id | string |
|
|
| public_key | kfrm.api.common.EncryptedMessage |
|
| Field | Type | Label | Description |
| user_token | string | user token |
|
| agreements | kfrm.api.common.Agreement | repeated | 약관 동의 목록 |
| Field | Type | Label | Description |
| success | bool |
|
| Field | Type | Label | Description |
| user_token | string | user token |
|
| process_id | string | authentication process id |
| Field | Type | Label | Description |
| user_token | string | user token |
|
| pattern | kfrm.api.common.EncryptedMessage | pattern, @encrypted(auth) |
| Field | Type | Label | Description |
| user_token | string | user token |
|
| pin | kfrm.api.common.EncryptedMessage | pin, @encrypted(auth) |
| Field | Type | Label | Description |
| idp_type | string | user identity verification type. mobile or.. |
|
| idp_name | string | user identity verification agency name |
|
| name | string | user name |
|
| phone_number | string | user phone number |
|
| verification_hint | string | hint for user identity verification |
|
| device_uuid | DeviceUUID | device unique identifier |
| Field | Type | Label | Description |
| user_id | uint64 | auto generated user id |
|
| user_token | string | user token |
|
| user_status | kfrm.api.common.user.status.UserStatus |
|
|
| created_at | string | created date time of user |
| Field | Type | Label | Description |
| process_id | string |
|
| Field | Type | Label | Description |
| id | string |
|
| Field | Type | Label | Description |
| user_token | string | user token |
|
| csr | string | pkcs#10 certificate signing request |
| Field | Type | Label | Description |
| certificate | string |
|
|
| verification_token | string |
|
|
| created_at | string |
|
| Field | Type | Label | Description |
| user_token | string | user token |
| Field | Type | Label | Description |
| terms | kfrm.api.common.Term | repeated | 약관 목록 |
| Field | Type | Label | Description |
| user_token | string | user token |
|
| process_id | string | authentication process id |
| Field | Type | Label | Description |
| session_token | string | session token |
|
| session_expired_at | string | session token expiration time |
|
| refresh_token | string | refresh token |
|
| refresh_expired_at | string | refresh token expiration time |
|
| user_info | UserDisplayInfo | user display info |
| Field | Type | Label | Description |
| process | kfrm.api.common.AuthenticationProcess |
|
| Field | Type | Label | Description |
| process | kfrm.api.common.AuthenticationProcess |
|
| Field | Type | Label | Description |
| user_token | string | user token |
|
| device_uuid | DeviceUUID |
|
| Field | Type | Label | Description |
| process | kfrm.api.common.AuthenticationProcess |
|
| Field | Type | Label | Description |
| user_token | string | user token |
| Field | Type | Label | Description |
| process | kfrm.api.common.AuthenticationProcess |
|
| Field | Type | Label | Description |
| refresh_token | string | refresh token |
| Field | Type | Label | Description |
| session_token | string | session token |
|
| session_expired_at | string | session token expiration time |
|
| refresh_token | string | refresh token |
|
| refresh_expired_at | string | refresh token expiration time |
| Field | Type | Label | Description |
| user_token | string | user token |
|
| public_key | kfrm.api.common.EncryptedMessage |
|
| Field | Type | Label | Description |
| kyc_data | string |
|
| Field | Type | Label | Description |
| user_token | string | user token |
|
| pattern | kfrm.api.common.EncryptedMessage | pattern, @encrypted(auth) |
| Field | Type | Label | Description |
| user_token | string | user token |
|
| pin | kfrm.api.common.EncryptedMessage | pin, @encrypted(auth) |
| Field | Type | Label | Description |
| resident_id | string |
|
|
| name | string |
|
| Field | Type | Label | Description |
| customer_id | string |
|
| Field | Type | Label | Description |
| user_name | string |
|
| Field | Type | Label | Description |
| user_token | string | user token |
|
| signed_data | string | pkcs#7 signed data, verification_token 서명 데이터 |
| Name | Number | Description |
| AUTHENTICATION_FAILED | 0 | 인증 프로세스가 실패하였습니다. |
| DEVICE_CHANGE_NOT_ALLOWED | 1 | 기기 변경이 가능한 상태가 아닙니다. |
| Name | Number | Description |
| ALREADY_REGISTERED_USER | 0 | 이미 가입된 사용자입니다. |
| USER_REGISTRATION_NOT_FOUND | 1 | 가입중인 사용자가 아닙니다. |
| USER_PATTERN_MISMATCH | 2 | 등록된 패턴과 일치하지 않습니다. |
| Name | Number | Description |
| ALREADY_REGISTERED_USER | 0 | 이미 가입된 사용자입니다. |
| USER_REGISTRATION_NOT_FOUND | 1 | 가입중인 사용자가 아닙니다. |
| USER_REGISTRATION_EXPIRED | 2 | 가입 프로세스 유효 시간이 만료되었습니다. |
| USER_PIN_MISMATCH | 3 | 등록된 핀과 일치하지 않습니다. |
| Name | Number | Description |
| USER_VERIFICATION_HINT_REQUIRED | 0 | 사용자 본인확인을 위한 정보가 누락되었습니다. |
| USER_VERIFICATION_FAILED | 1 | 사용자 본인확인에 실패하였습니다. |
| USER_DEVICE_UUID_REQUIRED | 2 |
| Name | Number | Description |
| INVALID_SIGNING_CSR | 0 | 유효하지 않은 전자서명용 CSR입니다. |
| SIGNING_CERTIFICATE_ISSUANCE_FAILED | 1 | 전자서명용 인증서 발급에 실패하였습니다. |
| Name | Number | Description |
| AUTHENTICATION_FAILED | 0 | 인증 프로세스가 실패하였습니다. |
| Name | Number | Description |
| AUTHENTICATION_POLICY_NOT_FOUND | 0 | 인증 정책을 찾을 수 없습니다. |
| AUTHENTICATION_PROCESS_NOT_FOUND | 1 | 인증 프로세스를 찾을 수 없습니다. |
| EMPTY_AUTHENTICATION_PROCESS | 2 | 빈 인증 프로세스입니다. |
| Name | Number | Description |
| AUTHENTICATION_POLICY_NOT_FOUND | 0 | 인증 정책을 찾을 수 없습니다. |
| AUTHENTICATION_PROCESS_NOT_FOUND | 1 | 인증 프로세스를 찾을 수 없습니다. |
| EMPTY_AUTHENTICATION_PROCESS | 2 | 빈 인증 프로세스입니다. |
| Name | Number | Description |
| AUTHENTICATION_POLICY_NOT_FOUND | 0 | 인증 정책을 찾을 수 없습니다. |
| AUTHENTICATION_PROCESS_NOT_FOUND | 1 | 인증 프로세스를 찾을 수 없습니다. |
| EMPTY_AUTHENTICATION_PROCESS | 2 | 빈 인증 프로세스입니다. |
| DEVICE_CHANGE_NOT_ALLOWED | 3 | 기기 변경이 가능한 상태가 아닙니다. |
| Name | Number | Description |
| AUTHENTICATION_POLICY_NOT_FOUND | 0 | 로그인 인증 정책을 찾을 수 없습니다. |
| AUTHENTICATION_PROCESS_NOT_FOUND | 1 | 로그인 인증 프로세스를 찾을 수 없습니다. |
| EMPTY_AUTHENTICATION_PROCESS | 2 | 빈 인증 프로세스입니다. |
| Name | Number | Description |
| INVALID_LOGIN_SESSION | 0 | 유효하지 않은 세션입니다. |
| Name | Number | Description |
| ALREADY_REGISTERED_USER | 0 | 이미 가입된 사용자입니다. |
| INVALID_USER_PATTERN | 1 | 등록하려는 패턴이 유효하지 않습니다. |
| WEAK_USER_PATTERN | 2 | 등록하려는 패턴이 보안에 취약합니다. |
| Name | Number | Description |
| ALREADY_REGISTERED_USER | 0 | 이미 가입된 사용자입니다. |
| USER_REGISTRATION_NOT_FOUND | 1 | 가입중인 사용자가 아닙니다. |
| USER_REGISTRATION_EXPIRED | 2 | 가입 프로세스 유효 시간이 만료되었습니다. |
| INVALID_USER_PIN | 3 | 등록하려는 핀이 유효하지 않습니다. |
| WEAK_USER_PIN | 4 | 등록하려는 핀이 보안에 취약합니다. |
| Name | Number | Description |
| SIGNING_CERTIFICATE_NOT_FOUND | 0 | 발급된 전자서명용 인증서를 찾을 수 없습니다. |
| SIGNING_CERTIFICATE_VERIFICATION_FAILED | 1 | 전자서명용 인증서 검증에 실패하였습니다. |
| Field | Type | Label | Description |
| provider | kfrm.api.common.EncryptedMessage.ProviderType |
|
| Field | Type | Label | Description |
| provider | kfrm.api.common.EncryptedMessage.ProviderType |
|
|
| session_id | string |
|
|
| public_key | string |
|
| Field | Type | Label | Description |
| keys | GetKeyResponse | repeated |
|
| Name | Number | Description |
| PROVIDER_NOT_FOUND | 0 |
| Method Name | Request Type | Response Type | Description |
| GetKey | GetKeyRequest | GetKeyResponse | |
| ListKeys | ListKeysRequest | ListKeysResponse |
| Field | Type | Label | Description |
| version | string |
|
| Field | Type | Label | Description |
| minimum | AppVersion |
|
|
| latest | AppVersion |
|
| Name | Number | Description |
| APP_VERSION_NOT_FOUND | 0 | Empty App Version List |
| Method Name | Request Type | Response Type | Description |
| GetReleasedAppVersion | GetReleasedAppVersionRequest | GetReleasedAppVersionResponse |
| Field | Type | Label | Description |
| user_token | string |
|
|
| process_id | string |
|
|
| signature | string |
|
| Field | Type | Label | Description |
| process | kfrm.api.common.AuthenticationProcess | 프로세스 상태 |
| Field | Type | Label | Description |
| process_id | string |
|
|
| signature | string |
|
| Field | Type | Label | Description |
| process | kfrm.api.common.AuthenticationProcess | 프로세스 상태 |
| Field | Type | Label | Description |
| user_token | string |
|
|
| process_id | string |
|
|
| pattern | kfrm.api.common.EncryptedMessage |
|
| Field | Type | Label | Description |
| process | kfrm.api.common.AuthenticationProcess | 프로세스 상태 |
| Field | Type | Label | Description |
| process_id | string |
|
|
| pattern | kfrm.api.common.EncryptedMessage |
|
| Field | Type | Label | Description |
| process | kfrm.api.common.AuthenticationProcess | 프로세스 상태 |
| Field | Type | Label | Description |
| user_token | string |
|
|
| process_id | string |
|
|
| pin | kfrm.api.common.EncryptedMessage |
|
| Field | Type | Label | Description |
| process | kfrm.api.common.AuthenticationProcess | 프로세스 상태 |
| Field | Type | Label | Description |
| process_id | string |
|
|
| pin | kfrm.api.common.EncryptedMessage |
|
| Field | Type | Label | Description |
| process | kfrm.api.common.AuthenticationProcess | 프로세스 상태 |
| Name | Number | Description |
| AUTHENTICATION_TYPE_NOT_DEFINED | 0 | 인증 프로세스에 정의되지 않은 인증 타입입니다. |
| RUNNING_PROCESS_NOT_FOUND | 1 | 수행중인 인증 프로세스가 아닙니다. |
| USER_BIOMETRIC_NOT_FOUND | 2 | 생체 인증 정보를 찾을 수 없습니다. |
| USER_BIOMETRIC_DISABLED | 3 | 생체 인증 정보 사용이 비활성화되어있습니다. |
| AUTHENTICATION_FAILED | 4 | 인증에 실패하였습니다. |
| Name | Number | Description |
| AUTHENTICATION_TYPE_NOT_DEFINED | 0 | 인증 프로세스에 정의되지 않은 인증 타입입니다. |
| RUNNING_PROCESS_NOT_FOUND | 1 | 수행중인 인증 프로세스가 아닙니다. |
| USER_BIOMETRIC_NOT_FOUND | 2 | 생체 인증 정보를 찾을 수 없습니다. |
| USER_BIOMETRIC_DISABLED | 3 | 생체 인증 정보 사용이 비활성화되어있습니다. |
| AUTHENTICATION_FAILED | 4 | 인증에 실패하였습니다. |
| Name | Number | Description |
| AUTHENTICATION_TYPE_NOT_DEFINED | 0 | 인증 프로세스에 정의되지 않은 인증 타입입니다. |
| RUNNING_PROCESS_NOT_FOUND | 1 | 수행중인 인증 프로세스가 아닙니다. |
| USER_PATTERN_NOT_FOUND | 2 | 등록된 사용자 패턴을 찾을 수 없습니다. |
| AUTHENTICATION_FAILED | 3 | 인증에 실패하였습니다. |
| Name | Number | Description |
| AUTHENTICATION_TYPE_NOT_DEFINED | 0 | 인증 프로세스에 정의되지 않은 인증 타입입니다. |
| RUNNING_PROCESS_NOT_FOUND | 1 | 수행중인 인증 프로세스가 아닙니다. |
| USER_PATTERN_NOT_FOUND | 2 | 등록된 사용자 패턴을 찾을 수 없습니다. |
| AUTHENTICATION_FAILED | 3 | 인증에 실패하였습니다. |
| Name | Number | Description |
| AUTHENTICATION_TYPE_NOT_DEFINED | 0 | 인증 프로세스에 정의되지 않은 인증 타입입니다. |
| RUNNING_PROCESS_NOT_FOUND | 1 | 수행중인 인증 프로세스가 아닙니다. |
| USER_PIN_NOT_FOUND | 2 | 등록된 사용자 핀을 찾을 수 없습니다. |
| AUTHENTICATION_FAILED | 3 | 인증에 실패하였습니다. |
| Name | Number | Description |
| AUTHENTICATION_TYPE_NOT_DEFINED | 0 | 인증 프로세스에 정의되지 않은 인증 타입입니다. |
| RUNNING_PROCESS_NOT_FOUND | 1 | 수행중인 인증 프로세스가 아닙니다. |
| USER_PIN_NOT_FOUND | 2 | 등록된 사용자 핀을 찾을 수 없습니다. |
| AUTHENTICATION_FAILED | 3 | 인증에 실패하였습니다. |
| Method Name | Request Type | Response Type | Description |
| AuthenticatePin | AuthenticatePinRequest | AuthenticatePinResponse | generic authentication apis |
| AuthenticatePattern | AuthenticatePatternRequest | AuthenticatePatternResponse | |
| AuthenticateBiometric | AuthenticateBiometricRequest | AuthenticateBiometricResponse | |
| AuthenticatePinForLogin | AuthenticatePinForLoginRequest | AuthenticatePinForLoginResponse | authentication apis for logins |
| AuthenticatePatternForLogin | AuthenticatePatternForLoginRequest | AuthenticatePatternForLoginResponse | |
| AuthenticateBiometricForLogin | AuthenticateBiometricForLoginRequest | AuthenticateBiometricForLoginResponse |
| Field | Type | Label | Description |
| user_id | uint64 | process 생성 요청 대상 userId |
|
| transaction_type | kfrm.api.common.AuthenticatedTransactionType | process 생성 타입 |
|
| transaction_context | string | process condition 평가 시 바인딩 될 transaction context. json format |
| Field | Type | Label | Description |
| process | kfrm.api.common.AuthenticationProcess | Required authentication list |
| Field | Type | Label | Description |
| customer_id | string |
|
| Field | Type | Label | Description |
| user_session | UserSession |
|
| Field | Type | Label | Description |
| session_token | string |
|
| Field | Type | Label | Description |
| user_session | UserSession |
|
| Field | Type | Label | Description |
| user_id | string |
|
| Field | Type | Label | Description |
| user | User |
|
| Field | Type | Label | Description |
| process_id | string |
|
|
| user_id | uint64 |
|
|
| signed_data | string |
|
|
| origin_data | string |
|
| Field | Type | Label | Description |
| process | kfrm.api.common.AuthenticationProcess |
|
|
| is_verified | bool |
|
유저 정보
| Field | Type | Label | Description |
| user_id | uint64 | user id |
|
| device_id | uint64 |
|
|
| idp_type | string |
|
|
| idp_name | string |
|
|
| user_name | string | user name |
|
| phone_number | string | user phone number |
|
| verification_hint | string |
|
|
| user_ci | string |
|
|
| user_token | string |
|
|
| user_status | kfrm.api.common.user.status.UserStatus | user status |
|
| resident_id | string | resident id |
|
| customer_id | string | customer id |
|
| reason | string | reason for kyc status change |
|
| kyc_status | KycStatus | kyc status. none | registered | processing | on-hold | rejected | verified |
|
| validated_at | string | validated date |
|
| created_at | string | created date |
유저 세션 정보
| Field | Type | Label | Description |
| user_id | uint64 | user id |
|
| device_id | uint64 |
|
|
| user_status | kfrm.api.common.user.status.UserStatus | user status |
|
| user_name | string | user name |
|
| phone_number | string | user phone number |
|
| customer_id | string | customer id |
|
| kyc_status | KycStatus | kyc status. none | registered | processing | on-hold | rejected | verified |
|
| expired_at | string | session expiration date |
| Name | Number | Description |
| SESSION_TOKEN_REQUIRED | 0 | |
| LOGIN_SESSION_EXPIRED | 1 | |
| USER_NOT_FOUND | 2 |
| Name | Number | Description |
| NONE | 0 | |
| REGISTERED | 1 | |
| PROCESSING | 2 | |
| ON_HOLD | 3 | |
| REJECTED | 4 | |
| VERIFIED | 5 |
| Method Name | Request Type | Response Type | Description |
| FindBySessionToken | FindBySessionTokenRequest | FindBySessionTokenResponse | |
| FindByCustomerId | FindByCustomerIdRequest | FindByCustomerIdResponse | |
| FindByUserId | FindByUserIdRequest | FindByUserIdResponse | |
| CreateProcess | CreateProcessRequest | CreateProcessResponse | |
| GetProcess | GetProcessRequest | GetProcessResponse |
| Field | Type | Label | Description |
| public_key | string |
|
| Field | Type | Label | Description |
| device_id | uint64 | auto generated device id |
|
| certificate | string | device certificate for mtls. base64 encoded der format |
|
| created_at | string | issued date time of device certificate |
| Name | Number | Description |
| DEVICE_CERTIFICATE_ISSUANCE_FAILED | 0 |
| Method Name | Request Type | Response Type | Description |
| CreateDevice | CreateDeviceRequest | CreateDeviceResponse |
약관 동의의 모델
| Field | Type | Label | Description |
| term_id | uint64 | 약관의 ID |
|
| agreed | bool | 약관에 동의했는지 여부 |
| Field | Type | Label | Description |
| type | AuthenticationType |
|
|
| status | Authentication.AuthenticationStatus |
|
|
| fallback | AuthenticationType |
|
| Field | Type | Label | Description |
| process_id | string |
|
|
| status | AuthenticationProcess.ProcessStatus |
|
|
| authentications | Authentication | repeated |
|
E2E 메시지
| Field | Type | Label | Description |
| message | string |
|
|
| provider | EncryptedMessage.ProviderType |
|
|
| session_id | string |
|
KFRM에서 지원하는 통화의 종류. ISO4217를 따른다
| Field | Type | Label | Description |
| currency_code | CurrencyCode | 통화의 종류 |
|
| major_amount | int64 | 소숫점 위의 통화 |
|
| minor_amount | int64 | 소숫점 아래의 통화 |
약관의 모델
| Field | Type | Label | Description |
| id | uint64 | 약관의 ID |
|
| name | string | 약관의 이름 |
|
| url | string | 약관의 URL |
|
| description | string | 약관의 설명 |
|
| mandatory | bool | 약관의 필수 여부 |
인증 프로세스
| Name | Number | Description |
| UNKNOWN | 0 | |
| LOGIN | 1 | |
| ACTIVATE_BIOMETRIC | 2 | |
| DEACTIVATE_BIOMETRIC | 3 | |
| CHANGE_DEVICE | 4 | |
| REINSTALL_APP | 5 | |
| TRANSFER | 100 |
인증 상태
| Name | Number | Description |
| READY | 0 | |
| DONE | 1 |
인증 프로세스 상태
| Name | Number | Description |
| READY | 0 | |
| IN_PROGRESS | 1 | |
| DONE | 2 |
인증 수단
| Name | Number | Description |
| NONE | 0 | |
| NA | 1 | 무인증 |
| PATTERN | 2 | 패턴인증 |
| PIN | 3 | 핀 인증 |
| BIO | 4 | 생체 인증. 지문 또는 페이스아이디 등 |
| Name | Number | Description |
| USD | 0 | |
| THB | 1 | |
| KRW | 2 |
E2E 프로바이더
| Name | Number | Description |
| UNKNOWN | 0 | |
| AUTH | 1 | |
| BANKING | 2 |
전체 앱에서 발생할 수 있는 공통 에러
| Field | Type | Label | Description |
| code | CommonApiError.ErrorCode |
|
| Name | Number | Description |
| UNKNOWN_ERROR | 0 | 알수 없는 에러입니다. |
| UNAUTHENTICATED_USER | 1 | client 인증서가 유효하지 않거나, 사용자 및 세션 토큰이 유효하지 않습니다. |
| E2E_KEY_SESSION_EXPIRED | 2 | E2E 키 세션이 만료되었습니다. |
| E2E_DECRYPTION_FAILED | 3 | 메시지 복호화에 실패하였습니다. |
| DIGITAL_SIGNATURE_VERIFICATION_FAILED | 4 | 전사서명의 검증에 실패 |
StreamResponse는 스트림 응답 메시지입니다.
| Field | Type | Label | Description |
| id | string | 응답 ID |
|
| title | string | 알림 제목 |
|
| content | string | 알림 내용 |
|
| type | NotificationEventType | 알림 이벤트 유형 |
NotificationEventType은 알림 이벤트 유형을 정의하는 열거형입니다.
| Name | Number | Description |
| NONE | 0 | 없음 |
| TRANSFER_SUCCEED | 100 | 이체 성공 |
NotificationService는 알림 스트리밍을 위한 서비스입니다.
| Method Name | Request Type | Response Type | Description |
| SubscribeNotification | SubscribeNotificationRequest | NotificationEventResponse stream | Stream 메서드는 스트림 구독 요청을 받아 스트림 응답을 반환합니다. |
AgreeTerms 메서드의 요청 모델
| Field | Type | Label | Description |
| agreements | kfrm.api.common.Agreement | repeated | 약관 동의 목록 |
AgreeTerms 메서드의 응답 모델
| Field | Type | Label | Description |
| success | bool | 약관 동의가 성공했는지 여부 |
| Field | Type | Label | Description |
| account_number | string |
|
|
| transfer_limit | kfrm.api.common.MonetaryValue | 앱 이체 한도 |
CreateAccount 메서드의 요청 모델
| Field | Type | Label | Description |
| password | string | 새 계좌의 비밀번호 |
CreateAccount 메서드의 응답 모델
| Field | Type | Label | Description |
| success | bool | 계좌 생성이 성공했는지 여부 |
|
| account | CasaAccount | 생성된 계좌 정보 |
메서드의 응답 모델
| Field | Type | Label | Description |
| user_status | UserStatus | 계좌 개설 프로세스에서의 회원 상태 |
| Field | Type | Label | Description |
| terms | kfrm.api.common.Term | repeated | 약관 목록 |
회원 상태에 대한 열거형
| Name | Number | Description |
| NONE | 0 | 상태 없음 |
| WAIT_FOR_CIF | 1 | CIF 프로세스를 대기 중 |
| WAIT_FOR_KYC | 2 | KYC 프로세스를 대기 중 |
| OK | 3 | 모든 프로세스가 성공적으로 완료됨 |
CASA 개설 프로세스를 위한 서비스 인터페이스
| Method Name | Request Type | Response Type | Description |
| InitiateOpening | InitiateOpeningRequest | InitiateOpeningResponse | CASA 개설 프로세스를 시작합니다 |
| ListTerms | ListTermsRequest | ListTermsResponse | 약관을 조회합니다 |
| AgreeTerms | AgreeTermsRequest | AgreeTermsResponse | 약관에 동의합니다 |
| CompleteOpening | CompleteOpeningRequest | CompleteOpeningResponse | CASA를 최종 생성합니다 |
계좌 모델
| Field | Type | Label | Description |
| account_number | string | 계좌번호 |
|
| account_name | string | 계좌이름 |
|
| balance | kfrm.api.common.MonetaryValue | 잔액 |
|
| account_color | string | 계좌 색깔, #000000 |
|
| bookmarked | bool | 즐겨찾기 여부 |
| Field | Type | Label | Description |
| account_number | string | 계좌 ID |
| Field | Type | Label | Description |
| account_number | string | 계좌 번호 |
|
| account_name | string | 계좌 이름 |
|
| balance | kfrm.api.common.MonetaryValue | 잔액 |
계좌 목록 요청 모델
계좌 목록 응답 모델
| Field | Type | Label | Description |
| accounts | Account | repeated | 계좌 목록 |
거래 목록 요청 모델
| Field | Type | Label | Description |
| account_number | string | 계좌 번호 |
|
| page | uint32 | 페이지 번호 |
|
| page_Size | uint32 | 페이지 크기 |
거래 목록 응답 모델
| Field | Type | Label | Description |
| transactions | Transaction | repeated | 거래 목록 |
거래 모델
| Field | Type | Label | Description |
| transaction_id | string | 거래 ID |
|
| transaction_type | TransactionType | 거래 유형 |
|
| transaction_date | string | 거래 날짜 |
|
| amount | kfrm.api.common.MonetaryValue | 거래 금액 |
|
| after_balance | kfrm.api.common.MonetaryValue | 거래 후 잔액 |
|
| transaction_memo | string | 적요 |
| Name | Number | Description |
| DEPOSIT | 0 | 입금 |
| WITHDRAW | 1 | 출금 |
| TRANSFER | 2 | 이체 |
계좌 서비스
| Method Name | Request Type | Response Type | Description |
| ListTransactions | ListTransactionsRequest | ListTransactionsResponse | 거래 목록을 반환하는 메소드 |
| ListAccounts | ListAccountsRequest | ListAccountsResponse | 계좌 목록을 반환하는 메소드 |
| GetAccount | GetAccountRequest | GetAccountResponse | 계좌정보 |
API 오류 생성 모델
| Field | Type | Label | Description |
| code | CreateApiError.ErrorCode | 오류 코드 |
이체 실행 요청 모델
| Field | Type | Label | Description |
| recipient_visible_message | string | 수취인 표시 메시지 |
|
| self_visible_message | string | 본인 표시 메시지 |
|
| authentication_process_id | string | 인증 프로세스 ID |
|
| signature_info | ExecuteRequest.SignatureInfo | 서명 데이터 |
| Field | Type | Label | Description |
| signed_data | string | 서명 데이터 |
|
| source_account_number | string | 출금 계좌 번호 |
|
| target_account_number | string | 대상 계좌 번호 |
|
| target_institution_code | string | 대상 기관 코드 |
|
| amount | kfrm.api.common.MonetaryValue | 이체 금액 |
이체 실행 응답 모델
| Field | Type | Label | Description |
| success | bool | 성공 여부 |
이체 사전 검사 요청 모델
| Field | Type | Label | Description |
| source_account_number | string | 출금 계좌 번호 |
|
| target_account_number | string | 대상 계좌 번호 |
|
| target_institution_code | string | 대상 기관 코드 |
|
| amount | kfrm.api.common.MonetaryValue | 이체 금액 |
|
| recipient_visible_message | string | 수취인 표시 메시지 |
|
| self_visible_message | string | 본인 표시 메시지 |
이체 사전 검사 응답 모
| Field | Type | Label | Description |
| success | bool | 성공 여부 |
|
| process | kfrm.api.common.AuthenticationProcess | 인증 프로세스 정보 |
이체 출금 계좌의 정보 요청 모델
| Field | Type | Label | Description |
| account_number | string | 요청 계좌 번호 |
이체 출금 계좌 응답 모델
| Field | Type | Label | Description |
| account_number | string | 계좌 번호 |
|
| account_name | string | 계좌 이름 |
|
| balance | kfrm.api.common.MonetaryValue | 잔액 |
대상 계좌 정보 요청 모델
| Field | Type | Label | Description |
| account_number | string | 계좌 번호 |
|
| institution_code | string | 기관 코드 |
대상 계좌 정보 응답 모델
| Field | Type | Label | Description |
| account_number | string | 계좌 번호 |
|
| account_name | string | 계좌 이름 |
기관 정보 모델
| Field | Type | Label | Description |
| code | string | 기관 코드 |
|
| name | string | 기관 이름 |
|
| icon_url | string | 기관 아이콘 URL |
최근 이체 대상 목록 요청 모델
최근 이체 대상 목록 응답 모델
| Field | Type | Label | Description |
| targets | TransferTarget | repeated | 이체 대상 목록 |
이체 가능 대상 기관 목록 요청 모델
이체 가능 대상 기관 목록 응답 모델
| Field | Type | Label | Description |
| institutions | Institution | repeated | 이체 대상 기관 목록 |
이체 대상 모델
| Field | Type | Label | Description |
| account_number | string | 계좌 번호 |
|
| account_name | string | 계좌 이름 |
|
| institution | Institution | 기관 정보 |
오류 코드 열거형
| Name | Number | Description |
| CERTIFICATE_ISSUANCE_FAILURE | 0 | 인증서 발급 실패 |
| Name | Number | Description |
| UNKNOWN | 0 | |
| INSUFFICIENT_BALANCE | 1 | |
| INVALID_TARGET_ACCOUNT | 2 | |
| INVALID_TARGET_INSTITUTION | 3 | |
| INVALID_SOURCE_ACCOUNT | 4 |
| Name | Number | Description |
| UNKNOWN | 0 | |
| INSUFFICIENT_BALANCE | 1 | |
| INVALID_TARGET_ACCOUNT | 2 | |
| INVALID_TARGET_INSTITUTION | 3 | |
| INVALID_SOURCE_ACCOUNT | 4 |
| Name | Number | Description |
| UNKNOWN | 0 | |
| NOT_VALID_ACCOUNT | 1 | |
| BLOCKED_ACCOUNT | 2 |
이체 관련 메소드 모음
| Method Name | Request Type | Response Type | Description |
| GetSourceAccountInfo | GetSourceAccountInfoRequest | GetSourceAccountInfoResponse | 출금 계좌 정보를 반환하는 메소드 |
| ListLatestTargets | ListLatestTargetsRequest | ListLatestTargetsResponse | 최근 이체 대상 목록을 반환하는 메소드 |
| ListTargetInstitutions | ListTargetInstitutionsRequest | ListTargetInstitutionsResponse | 이체 대상 기관 목록을 반환하는 메소드 |
| GetTargetAccountInfo | GetTargetAccountInfoRequest | GetTargetAccountInfoResponse | 대상 계좌 정보를 반환하는 메소드 |
| GetPreCheck | GetPreCheckRequest | GetPreCheckResponse | 이체 사전 검사를 수행하는 메소드 |
| Execute | ExecuteRequest | ExecuteResponse | 이체를 실행하는 메소드 |
전체 메뉴 컬렉션 모델
| Field | Type | Label | Description |
| id | string | ID |
|
| title | string | 제목 |
|
| items | AllMenuItem | repeated | 전체 메뉴 아이템 목록 |
전체 메뉴 아이템 모델
| Field | Type | Label | Description |
| icon | string | 아이콘 |
|
| title | string | 제목 |
|
| app_scheme | string | 앱스킴 |
혜택 아이템 모델
| Field | Type | Label | Description |
| icon | string | 아이콘 |
|
| title | string | 제목 |
|
| description | string | 내용 |
|
| app_scheme | string | 앱스킴 |
전체 메뉴 컬렉션 목록 요청 모델
전체 메뉴 컬렉션 목록 응답 모델
| Field | Type | Label | Description |
| collections | AllMenuCollection | repeated | 전체 메뉴 컬렉션 목록 |
혜택 아이템 목록 요청 모델
혜택 아이템 목록 응답 모델
| Field | Type | Label | Description |
| items | BenefitItem | repeated | 혜택 아이템 목록 |
상품 컬렉션 목록 요청 모델
상품 컬렉션 목록 응답 모델
| Field | Type | Label | Description |
| collections | ProductCollection | repeated | 상품 컬렉션 목록 |
상품 컬렉션 모델
| Field | Type | Label | Description |
| id | string | ID |
|
| title | string | 제목 |
|
| items | ProductItem | repeated | 상품 목록 |
상품 아이템 모델
| Field | Type | Label | Description |
| id | string | ID |
|
| icon_url | string | 아이콘 URL |
|
| title | string | 제목 |
|
| tag | string | 태그 |
|
| description | string | 상세 내용 |
|
| additional_info1 | string | 추가 정보 1 |
|
| additional_info2 | string | 추가 정보 2 |
|
| app_scheme | string | 앱스킴 |
탭 메뉴를 위한 API 서비스
| Method Name | Request Type | Response Type | Description |
| ListBenefitItems | ListBenefitItemsRequest | ListBenefitItemsResponse | 혜택탭에 표시될 혜택 아이템들을 제공하는 API |
| ListProductCollections | ListProductCollectionsRequest | ListProductCollectionsResponse | 상품탭에 표시될 상품들을 제공하는 API |
| ListAllMenuCollections | ListAllMenuCollectionsRequest | ListAllMenuCollectionsResponse | 전체메뉴탭에 표시될 메뉴들을 제공하는 API |
| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
| double | double | double | float | float64 | double | float | Float | |
| float | float | float | float | float32 | float | float | Float | |
| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |