윌스너 실시간 요청 리스트 - Willson-2019/Willson-Server GitHub Wiki
URL
[POST] ~/api/v1/willsoner/list/realtime/matches
REQUEST | PARAMETER NAME | DESCRIPTION |
---|---|---|
header | x-token | 엑세스 토큰 access token |
Content-Type | application/json | 엑세스 토큰 access token |
body | category_idx | 카테고리 인덱스 : Int |
- category_idx가 0 or null(body.category_idx를 보내지 않을 경우)일 때는 전체 카테고리에 대한 검색 결과 출력
- matches의 status값
매칭 상태값
- init : 타이머 표시
- waiting : 질문자의 확정을 기다리는 중입니다 표시
- timeout : 타이머가 종료될 때까지 질문자가 윌스너 선택하지 않은 경우
- unmatched : 다른 윌스너와 매칭되었습니다
- chat : 매칭 확정
- complete : 매칭 완료
- unreplied : 재매칭 신청 이전의 종료된 매칭(init 상태에서 종료된 매칭)
- timer값 == 고민작성완료시간 + 5분
- 매칭은 타이머 종료 후 10분 후에 리스트에서 사라짐
- 10분 타이머 종료 시 api 한번 더 호출해 화면 리로드하여 상태값 업데이트
요청예시
body
{
"category_idx" : 1
}
응답예시
성공
{
"code": "success",
"message": "success",
"data": {
"categories": [
{
"idx": 0,
"name": "전체"
},
{
"idx": 1,
"name": "연애"
},
{
"idx": 2,
"name": "진로"
},
{
"idx": 3,
"name": "일상"
},
{
"idx": 4,
"name": "대인관계"
},
{
"idx": 5,
"name": "자존감"
},
{
"idx": 6,
"name": "기타"
}
],
"matches": {
"count": 2,
"rows": [
{
"idx": 634,
"status": "waiting",
"concern": {
"nickname": "하이하이",
"content": "총 12개의 요청이 있습니다.",
"time": "60",
"timer": 1584003870000,
"asker": {
"gender": "여",
"age": "20대 중반",
"pic": "https://willson-v1.s3.ap-northeast-2.amazonaws.com/user_image/img_profile_w.png"
},
"subcategory": {
"name": "짝사랑",
"category": {
"name": "연애"
}
},
"feelings": [
{
"name": "행복해요"
},
{
"name": "자랑스러워요"
}
]
}
},
{
"idx": 640,
"status": "init",
"concern": {
"nickname": "하이하이",
"content": "단짝친구의 남동생을 좋아하고 있어요. 아무에게도 말 못..",
"time": "60",
"timer": 1584003922000,
"asker": {
"gender": "여",
"age": "40대 초중반"
},
"subcategory": {
"name": "짝사랑",
"category": {
"name": "연애"
}
},
"feelings": [
{
"name": "행복해요"
},
{
"name": "자랑스러워요"
}
]
}
},
{
"idx": 1950,
"status": "unmatched",
"concern": {
"content": "q",
"time": "30",
"timer": 1588487994000,
"asker": {
"gender": "여",
"age": "20대 중반",
"nickname": "에이비씨"
},
"subcategory": {
"name": "비전공",
"category": {
"name": "진로"
}
},
"feelings": [
{
"name": "불쾌한"
},
{
"name": "절망감"
},
{
"name": "우울한"
}
]
}
},
{
"idx": 1967,
"status": "timeout",
"concern": {
"nickname": "에이비씨",
"content": "dkdk",
"time": "30",
"timer": 1588561712000,
"asker": {
"gender": "여",
"age": "20대 중반"
},
"subcategory": {
"name": "썸",
"category": {
"name": "연애"
}
},
"feelings": [
{
"name": "절망감"
},
{
"name": "우울한"
},
{
"name": "불쾌한"
}
]
}
}
]
}
}
}
결과가 없는 경우
{
"code": "success",
"message": "success",
"data": {
"categories": [
{
"idx": 0,
"name": "전체"
},
{
"idx": 1,
"name": "연애"
},
{
"idx": 2,
"name": "진로"
},
{
"idx": 3,
"name": "일상"
},
{
"idx": 4,
"name": "대인관계"
},
{
"idx": 5,
"name": "자존감"
},
{
"idx": 6,
"name": "기타"
}
],
"matches": {
"count": 0,
"rows": []
}
}
}
access token이 만료된 경우
{
"code": "access_token_expired",
"message": "Access token expired"
}
결과를 찾지 못한 경우
{
"code": "not_found",
"message": "Result not found"
}