ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
Last Update2017.02.04 12:47Note: Body는 모두 JSONRequired: R
2
Endpoint: http://52.175.149.237
Not Required: N
3
HTTP 1.1
4
5
SectionPurposeEndpointMethod
Request Query
Request Header
Request Body ExampleOptionalityReq. Field Desc.Response CodeResponse BodyResponse Desc.Error ExampleRemark
6
회원회원가입/auth/signupPOST{
"username": "yoohogun114@naver.com",
"password": "ghrbsdl114",
"account": 74891084403906,
"bank": 신한은행
}
{
"username": R
"password": R
"account": R
"bank": R
}
{
"username": 이메일 주소
"password": 유져 패스워드
"account": 계좌번호
"bank": 은행 이름
}
200{
"res": ""
}
{
"res": 성공여부
}
code: 500

{
"res": {
"code": ...
"index": ...,
"errmsg": ... ",
"op": {
....
}
}
}
7
로그인
(local login 전용입니다.
Naver 로그인이나 회원가입은
아래 네이버 Auth 이용)
/auth/loginPOST{
"username": "yoohogun114@naver.com",
"password": "ghrbsdl114"
}
{
"username": R
"password": R
}
{
"username": 이메일 주소
"password": 유져 패스워드
}
200{
"res": {
"_id": "5895c5430b4e3fc553bcf439",
"username": "yoohogun113@naver.com",
"bank": "하나은행",
"account": 1041975132,
"__v": 0
}
}
{
"res": 성공여부
}
code: 500

{
"res": "fail login"
}
로그인 성공하면 Session Cookie 전달함.
안드로이드에서 저장해주세요
8
Naver Auth (회원가입)/auth/naverPOST{
"username": "yoohogun114@naver.com",
"password": "ghrbsdl114",
"accessToken": "dsf23rdfdsf"
"refreshToken": "dsf23dfsdsf"
"tokenType": "bearer"
}
9
이메일이메일 전송/emailPOST{
"email": "yoohoogun114@naver.com"
}
{
"email": R
}
{
"email": 이메일 주소
}
200{
"res": "success"
}
{
"res": 성공여부
}
code: 500

{
"res": "need to login"
}
Session Cookie가 없으면 인증 X
10
채팅채팅 전송/chat/add{
"userId": "yoohoogun114@naver.com",
"chatText" : "성민이한테 3만원 송금해줘"
}
{
"userId": 유저 식별값,
"chatText" : 대화 내용
}
200{
"res":"success",
"data":{
"action":"send",
"resolvedQuery":"성민이한테 3만원 송금해줘",
"speech":"{name} 에게 {money}원을 송금하시겠습니까?",
"parameters":{
"money":"3000",
"name":"성민이"
}
}
}
{
"res":"success",
"data":{
"action": 분류된 문장 내용, 송금인지 내용저장인지 알림요청인지 등등,
"resolvedQuery":원래문장,
"speech":답변해야 할 텍스트,
"parameters":{ // 파싱된 문장 요소들 ex) 금액, 보내야할 사람 이름 등
"money":"3000",
"name":"성민이"
}
}
}
code: 500
11
기존 채팅 목록 불러오기/chat/readPOST{
"userId": "yoohoogun114@naver.com"
}
{
"userId": 유저 식별값
}
200
{
"res": "success",
"data": {
"_id": "5895dbb30059d5a789703c23",
"accountId": "04nR9a5zJdaLAfDiaSBfBZ3JtUsVOIdXwmECyGdgVDUqOP5HoSX6O7KRQCdNArgv",
"userId": "정성민",
"__v": 0,
"records": [
{
"_id": "5895dbbd0059d5a789703c24",
"timestamp": 1486216125,
"amount": 10000,
"toId": "정성민",
"fromId": "정성민",
"recordId": "pBPNjNhxcdXdtlaJUTY5eXcC1fjPIGzMO0aQB3FchnBGE0RIx6HH3lP7Kdgd8ryP"
},
{
"_id": "5895dbbd0059d5a789703c25",
"timestamp": 1486216125,
"amount": 10000,
"toId": "정성민",
"fromId": "정성민",
"recordId": "ZpYVtV2yhipE4mDgMAlfkKx1AOWCQANQwkq5C6Z7gxPL9adaQzR27AMnhtEp7j2L"
},
{
"_id": "5895dbc60059d5a789703c26",
"timestamp": 1486216134,
"amount": 10000,
"toId": "최평강",
"fromId": "정성민",
"recordId": "aHyeo7Jijm5zPATPBlbAzRaFjb4aNkEJ1Madq5ZTQHU5hvHsTNTlIstsOkbqB3Je"
}
],
"money": 10000
}
}
{
"res": "success",
"data": {
"_id": 무시하셔도 됩니다.
"accountId": 계좌 고유 번호,
"userId": 유저이름==계좌번호,
"__v": 0,
"records": [ // 계좌 이체 기록들
{
"_id": 무시하셔도 됩니다.,
"timestamp": 이체했던 시간,
"amount": 이체 금액,
"toId": 전송한사람,
"fromId": 출금한사람, //전송한사람과 출금한사람이 같을경우 '입금', 다를경우 '출금'
"recordId": 이체 고유 id
},
],
"money": 총 잔고
}
}
code: 500
12
핀테크 API계좌 조회/bank/readGET
?userId=620-229307-041
?userId=계좌번호200
{
"res": "success",
"data": {
"_id": "5895dbb30059d5a789703c23",
"accountId": "04nR9a5zJdaLAfDiaSBfBZ3JtUsVOIdXwmECyGdgVDUqOP5HoSX6O7KRQCdNArgv",
"userId": "정성민",
"__v": 0,
"records": [
{
"_id": "5895dbbd0059d5a789703c24",
"timestamp": 1486216125,
"amount": 10000,
"toId": "정성민",
"fromId": "정성민",
"recordId": "pBPNjNhxcdXdtlaJUTY5eXcC1fjPIGzMO0aQB3FchnBGE0RIx6HH3lP7Kdgd8ryP"
},
{
"_id": "5895dbbd0059d5a789703c25",
"timestamp": 1486216125,
"amount": 10000,
"toId": "정성민",
"fromId": "정성민",
"recordId": "ZpYVtV2yhipE4mDgMAlfkKx1AOWCQANQwkq5C6Z7gxPL9adaQzR27AMnhtEp7j2L"
},
{
"_id": "5895dbc60059d5a789703c26",
"timestamp": 1486216134,
"amount": 10000,
"toId": "최평강",
"fromId": "정성민",
"recordId": "aHyeo7Jijm5zPATPBlbAzRaFjb4aNkEJ1Madq5ZTQHU5hvHsTNTlIstsOkbqB3Je"
}
],
"money": 10000
}
}
{
"res":"success",
"data":{
"action": 분류된 문장 내용, 송금인지 내용저장인지 알림요청인지 등등,
"resolvedQuery":원래문장,
"speech":답변해야 할 텍스트,
"parameters":{ // 파싱된 문장 요소들 ex) 금액, 보내야할 사람 이름 등
"money":"3000",
"name":"성민이"
}
}
}
code: 500
13
입금/bank/depositPOST{
"userId": "620-229307-041",
"amount" : 10000,
"name": "저축",
"date": "2017-02-03T21:00:53.110Z"
}
{
"userId": 유저 식별값(계좌번호),
"amount" : 입금할 금액
"name": 사용 용도,
"date": 날짜
}
200{
"res":"success"
"totalAmount": "10000"
}
{
"res":걍 무조건 성공임 ㅎㅎ
}
code: 500
14
출금/bank/withdrawPOST{
"userId": "620-229307-041",
"toId": "223-25334-213",
"amount": " 10000",
"name": "신한카드",
"date": "2017-02-03T21:00:53.110Z"
}
{
"userId": 유저식별값(계좌번호)
"toId": 송금받을 계좌번호,
"amount": 송금금액,
"name": 사용 용도,
"date": 날짜
}
200
{
"res":"success",
"data":{
"recoredSendId":"aHyeo7Jijm5zPATPBlbAzRaFjb4aNkEJ1Madq5ZTQHU5hvHsTNTlIstsOkbqB3Je",
"recordRecvId":"LxxpE5VkfWUeS9Z8vWb93owMDX4DisbMC1HYql2krrDRpzKJGLHk1ippELkzXus5"
}
}
code: 500
15
16
# API.AI
17
## 1. 인사하기 (Done)
18
- 안녕하세요
19
- 안녕
20
21
## 2. 계좌번호 입력 => 서버 저장 and Logic (Done)
22
- 호균이의 계좌번호는 352135343 이야
23
- 민규 계좌는 10101010이야.
24
- 정진희 계좌번호는 74891084403907
25
전화번호부, 이름추출 -> 계좌 매칭해서
26
27
## 3. 송금 (Done)
28
- 성민이한테 3만원 송금해줘
29
- 매주 목요일에 공과금 납부 100000원 알림 등록해줘
30
- 호균이한테 1000원 보내
31
32
## 4. 이번달, 저번달 공과금 계산 (Not Yet, 처리는 했으나 로직 미구현)
33
- 저번 달 가스비 얼마 나왔지
34
- 저번 달 카드 얼마 나왔지
35
- 저번 달 전기세 얼마 나왔지
36
- 저번 달 수도세 얼마 나왔지
37
- 저번 달 카드비 얼마나 나왔지
38
계좌 정보중, 이번달 공과금을 계산해줌 ~~(계산로직 미구현)~~
39
40
## 5 알림 (Done)
41
- 매주 목요일에 공과금 납부 100000원 알림 등록해줘.
42
- 매달 25일에 한국전기전력공사에게 전기요금 111,111원 알림 등록해줘..
43
44
## 6. 다음달 돈 받아줘 ~~ (Not Yet)
45
- 예약 메일링.
46
- 메일링만 구현, 예약 메일 및 일수 메시지 내용은 아직…
47
- ~~현재 메일 기능은 지원하지만, Server API Endpoint를 처리하지 않음~~
48
49
보안에 대한 피드백이 오면=> 원래 해커톤에서 구현단 보안은 크게 신경쓰지 않지만 서버사이드에서 최소한의 암호화는 했고 자체 핀테크 API구현,
50
패턴인식 알고리즘 API를 쓰고, 전처리 후처리만한 어려운 기능이 아니다.
51
어절, 구절단위는 무척 쉬운 NLP(Natural Language Processing)이다.
52
퍼포먼스, 정확도가 그리 뛰어난 편도 아니다. 기능, 성능을 보는게 아니라 핀테크의 활용용도에 봐주셨으면 좋겟다. 구 단위 분석
53
54
- 일수라는 + 컨셉
55
- 라이프스타일 (카드세, 전기세, 수도세등 공과금 납부 및 금융 알람 => 생활밀착형 핀테크)
56
ㄹ- 돈이 말을하는 컨셉
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100