Coach Portal QNA API#
the api below is for coach only.
Get Pending Qna List#
requests |
info |
|---|---|
endpoint |
|
method |
|
Authorization |
required |
desc |
return a coach object |
payload:
key |
type |
remarks |
|---|---|---|
alias |
String |
if provided, a single entry will be return; else a paginated result |
results (list):
{
"count": 0, // total number of entry
"next": "string" // url of the next page
"previous": "string", // url of the prev page
"results": [
"id": 0,
"Q1": "string",
"Q2": "string",
"alias": "string",
"created_at": "YYYY-MM-DD",
"tag": [
{
"id": 0,
"name": "string",
"alias": "string"
},
],
"accepted_order: boolean,
"expiration": "YYYY-MM-DDTXXX" or null
]
}
Take QNA Order#
handle Qna order status; a coach need to take the order before answering the question;
the order will be valid for 24 hours. as expired, a cron will automatically changed the order status to
cancelledupon successfully answering the question, the order will be changed to
completed;
the following will be rejected:
for the same QNA, a coach cannot take the order if they have cancelled it before;
a coach can only concurrently take not more than 3 orders;
an answered QNA will not accept new order;
if other coach is answering the question (QNAOrdre__status =pending), no new order will be accepted unless it has expired;
requests |
info |
|---|---|
endpoint |
|
method |
|
Authorization |
required |
desc |
return a QNAOrder object |
payload:
key |
type |
remarks |
|---|---|---|
qna |
String |
qna alias; used to query the qna object |
status |
String |
status enum |
status enum:
key |
value |
|---|---|
PD |
pending |
CL |
cancelled |
CP |
completed |
response:
status code |
meaning |
|---|---|
201 |
successfully took the order |
202 |
successfully cancelled the order |
403 |
read the error message |
Answer QNA#
answer QNA;
only the coach that is taking the order will be able to answer the question;
a notification object will be created to notify user that the answer has been answered;
an email will be sent to user for the same purpose;
the order status will be updated the
completedwhen answered;
requests |
info |
|---|---|
endpoint |
|
method |
|
Authorization |
required |
desc |
return a QNAOrder object |
payload:
key |
type |
remarks |
|---|---|---|
id |
Integer |
qna id, required |
answer |
String |
required |
suggestion |
String |
required |
response:
status code |
meaning |
|---|---|
202 |
successfully answer the question |