윌스너 실시간 요청 리스트 - 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"
}