API Documentation - maulufia/clovergarden GitHub Wiki
BASE URI : http://api.clovergarden.co.kr/v1
Prefix URIs
- ๋ณด๊ณ ์ - http://clovergarden.co.kr/imgs/up_file/clover/{ํ์ผ๋ช }
- ํ๋กํ ์ด๋ฏธ์ง (์์ ๋์ง ์์ ๊ฒฝ์ฐ) - http://clovergarden.co.kr/imgs/up_file/member/{ํ์ผ๋ช }
- ๋ชจ๋ Request๋ contentType="application/x-www-form-urlencoded"์ ๋๋ค
- ํ์ผ ์ ๋ก๋ ์ ์ ํ ์ ๋ก๋ ํฌ๊ธฐ๋ 10MB์ ๋๋ค. ๋ฐ๋ก ์๋ฌ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ์ง ์์ผ๋ ํด๋ผ์ด์ธํธ์์ ์ฒ๋ฆฌํด์ฃผ์ ์ผ ํฉ๋๋ค
- FCM์ ์ฌ์ฉํ ๋ ์๋๋ก์ด๋๋ iOS์์ ์ด๊ธฐ Topic์ news๋ก ์ง์ ํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
Android ์ฐธ๊ณ : https://firebase.google.com/docs/cloud-messaging/android/topic-messaging
Version : v1
2016/01/13 ์์
- ์์ด๋ ์ค๋ณต ํ์ธ์ ์์ด๋(์ด๋ฉ์ผ) ํ์ ๊ฒ์ฌ๋ ์ถ๊ฐ๋จ
2016/12/10 ์์
- ์กฐํ ๊ฐ๋ฅํ ์ฐ๋ ๋ชฉ๋ก ๋ถ๋ฌ์ค๊ธฐ ์ถ๊ฐ
- ์ฐ๋๋ณ๋ก ํ์ ๋ด์ญ ์กฐํ ์ถ๊ฐ
- ์ ๋ด์ญ์ ์ด์ ์ ์ถ๊ฐ๋์์ผ๋ ๋ฌธ์์๋ง ๋ฐ์์ด ์๋์ด ์์ด ์ด์ ์ถ๊ฐํจ
2016/08/16 ์์
- ๊ธฐ๊ด ์์ธ์ ์ด๋ฏธ์ง 3๊ฐ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ API ์์
- ํ์๋ผ์ธ ๊ธ์ ์ด๋ฏธ์ง 3๊ฐ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ API ์์
2016/08/14 ์์
- ํ์๊ฐ์ ์ ํธ๋ํฐ ์ค๋ณต ์๋ฌ ์ฒ๋ฆฌ
2016/08/06 ์์
- ํ์๋ผ์ธ ๋ชฉ๋ก ๋ฐ์ดํฐ์ clover_id ๋ฐ์ดํฐ ์ถ๊ฐ - ๊ธด๊ธํ์ ์์ ์ฌ์ฉ
2016/08/03 ์์
- ๊ฒฐ์ ๋ชจ๋ ๊ตฌํ ๊ด๋ จ ๋ฌธ์ ์ถ๊ฐ
2016/07/25 ์์
- ๋ด ์ ๋ณด ๋ถ๋ฌ์ค๊ธฐ API(/user/me)์์ member_id ํค ์ถ๊ฐ (๋๊ธ ์์ , ์ญ์ ์ ์ด์ฉ)
2016/07/25 ์์
- ๋ก๊ทธ์ธ API์์ ๊ธฐ๊ด๋ด๋น์์ผ ์ true ๋ฐํํ๋ isCompanySup ํค ์ถ๊ฐ
2016/07/20 ์์
- ์ข์์ API๋ฅผ ํ ๊ธ๋ง API๋ก ๋ณ๊ฒฝ
- ๊ฒ์๋ฌผ์ '์ข์์'ํ ์ฌ๋ถ๋ฅผ 'isIlike'๋ก ๋ฐํ (isIlike๊ฐ 'y'์ธ ๊ฒฝ์ฐ๊ฐ ์์ ์ด ์ข์ํ๋ ๊ฒ์๋ฌผ)
- ์ ์ฒด ํ์๋ผ์ธ์ ๋ฐ์์ฌ ๊ฒฝ์ฐ ๋ก๊ทธ์ธํ ๊ฒฝ์ฐ์ URL์ ๋ฐ๋ก ๋ถ๋ฆฌ
2016/07/17 ์์
- ์ธ์ฆ๋ฒํธ ๋ฐ์ก API๋ฅผ POST ๋ฉ์๋๋ก ๋ณ๊ฒฝ
2016/07/14 ์์
- ๋ด ํ์ ๊ธฐ๊ด ๋ชฉ๋ก ๋ถ๋ฌ์ค๊ธฐ์ ํ์๊ธ์ก ์ ๋ณด ์ถ๊ฐ (ํ์ ๊ธฐ๊ด ๋ณ๊ฒฝ์์ ์ฌ์ฉ)
2016/06/11 ์์
- ๋ด ์ ๋ณด ๋ถ๋ฌ์ค๊ธฐ ๋ฉ์๋๋ฅผ GET์ผ๋ก ์์
2016/06/09 ์์
- ๋ด ํ์๊ธฐ๊ด ๋ชฉ๋ก ๋ถ๋ฌ์ค๊ธฐ API ์ถ๊ฐ
2016/06/08 ์์
- ๋ก๊ทธ์ธ์ด ํ์ํ ๋ชจ๋ API์์ ๊ธฐ์กด์ api_token์ body parameter๋ก ๋ณด๋ด๋ ๊ฒ์ ํค๋ ์์ฒญ์ผ๋ก ๋ณ๊ฒฝํ์์ต๋๋ค. ํค๋์์ '_'(์ธ๋๋ผ์ธ)์ด ํ์ฉ๋์ง ์์ผ๋ฏ๋ก api_token์ด ์๋ api-token์ ์ฌ์ฉํฉ๋๋ค.
- ์์ด๋ ์ค๋ณต ํ์ธ API ์ถ๊ฐ
- ํ์๋ผ์ธ (๊ฐ๋ณ์ฌ์ฉ์) URL๋ฅผ /timeline/list์์ /user/me/timeline์ผ๋ก ๋ณ๊ฒฝ
- ํ์๋ผ์ธ (์ ์ฒด) API ์ถ๊ฐ
- ๋ค์ด๋ฒ ๋ก๊ทธ์ธ์ ์ ํ๋ฒํธ ๋ฐ๋์ ์ถ๊ฐํ๋๊ฒ์ผ๋ก ์์
- ํ์๋ผ์ธ (ํน์ ํ์๊ธฐ๊ด) API ์ถ๊ฐ
- ํ์๋ผ์ธ์์ ๋ณด๊ณ ์๋ง ๋ฐ๋ (only_report) ํ๋ผ๋ฏธํฐ๋ฅผ optional๋ก ์์
๊ณ์ ๊ด๋ จ
๋ก๊ทธ์ธ API
[POST] /user/login
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @param | id | ๋ก๊ทธ์ธ ID |
| @param | passwd | ํจ์ค์๋ |
| @return | JSON | ์ค๋ฅ ์ JSON ํ ์คํธ, ์น์ธ ์ Array('success', token) ๋ฐํ |
๋ฐํ ๊ฐ
| ํค | ๊ฐ | ์ค๋ช |
|---|---|---|
| error | is_seceded_member | ํํดํ ํ์ |
| error | is_not_accepted_yet | ์น์ธ๋์ง ์์ ํ์ (๊ธฐ์ ํ์) |
| error | invalid_credentials | ์๋ชป๋ ์์ด๋ ํน์ ๋น๋ฐ๋ฒํธ |
| success | login_success | ๋ก๊ทธ์ธ ์ฑ๊ณต ์ |
| success | token | ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฐ์ผ api-token |
| success | isCompanySup | ๊ธฐ๊ด๋ด๋น์์ผ ์ true ๋ฐํ |
๋ค์ด๋ฒ ๋ก๊ทธ์ธ API
๋ค์ด๋ฒ API์์ ๋ฐ์ access_token์ ์ด์ฉํ์ฌ ํด๋ก๋ฒ๊ฐ๋ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ์ํํ๋ค.
ํ ํฐ์ rfc3389๋ฅผ ๋ฐ๋ฅด๋ฏ๋ก ๊ทธ์ ๋ง๋ ์ธ์ฝ๋ฉ์ด ํ์
[POST] /user/login/naver
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @param | token | ๋ค์ด๋ฒ access_token |
| @param | phone | ํธ๋ํฐ ๋ฒํธ |
| @return | JSON | ์ฑ๊ณต ์ ์ฑ๊ณต ํ ์คํธ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ api-token์ ๋ฐํํ๋ค. ๋ก๊ทธ์ธ์ด ์๋๋ผ ๊ฐ์ ์ด ํ์ํ ๊ฒฝ์ฐ ํธ๋ํฐ ๋ฒํธ๋ฅผ ํ์๋ก ํ๋ค. ์ด๋๋ 'error':'need_phone_num'์ ๋ฐํํ๋ค. |
ํ์๊ฐ์
[POST] /user/signup
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @param | id | ๋ก๊ทธ์ธ ID (์ด๋ฉ์ผ) |
| @param | name | ์ด๋ฆ |
| @param | passwd | ํจ์ค์๋ |
| @param | phone | ํธ๋ํฐ ๋ฒํธ |
| @return | JSON | ์ฑ๊ณต ๋ฉ์์ง(join_success), ํ์ id (database id) |
๋ฐํ ๊ฐ
| ํค | ๊ฐ | ์ค๋ช |
|---|---|---|
| error | duplicated_phone_number | ํธ๋ํฐ ๋ฒํธ ์ค๋ณต |
| success | join_success | ํ์ ๊ฐ์ ์ฑ๊ณต |
์์ด๋ ์ค๋ณตํ์ธ
[POST] /user/check/id
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @param | id | ๋ก๊ทธ์ธ ID (์ด๋ฉ์ผ) |
| @return | JSON | ์ค๋ณต ์ is_duplicate ํค ๊ฐ์ด true, ์๋ ์ false |
๋ฐํ ๊ฐ
| ํค | ๊ฐ | ์ค๋ช |
|---|---|---|
| error | wrong_format | ์ด๋ฉ์ผ ํ์ ๋ง์ง ์์ |
| success | is_duplicate | true or false |
์์ด๋ ์ฐพ๊ธฐ
[POST] /user/findId
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @param | user_name | ํ์ ์ด๋ฆ |
| @param | phone | ํธ๋ํฐ ๋ฒํธ |
| @return | JSON | ์์ด๋ |
๋ฐํ ๊ฐ
| ํค | ๊ฐ | ์ค๋ช |
|---|---|---|
| error | failed_to_find_id | ์์ด๋ ์ฐพ๊ธฐ ์คํจ |
| id | ์์ด๋ | ์ฑ๊ณต ์ ์์ด๋ ๋ฐํ |
๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ
[POST] /user/findPw
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @param | user_id | ํ์ ์์ด๋ |
| @param | user_name | ํ์ ์ด๋ฆ |
| @param | phone | ํธ๋ํฐ ๋ฒํธ |
| @return | JSON | sendSms ๋ฆฌํด๊ฐ |
์ ์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ด (๋ก๊ทธ์ธ ํ)
์ฐ์ง๋ง๊ฒ
[GET] /user
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @header | api-token | USER TOKEN |
| @return | JSON | user information |
๋ด ์ ๋ณด ๋ถ๋ฌ์ค๊ธฐ
[GET] /user/me
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @header | api-token | USER TOKEN |
| @return | JSON | ์ ์ ์ด๋ฆ, ์์ ๊ธฐ์ , ์ธ๋ค์ผ(URL), ์ด ํ์ ๊ธ์ก |
ํ๋กํ ์ฌ์ง ์ ๋ก๋
[POST] /user/profile/upload
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @header | api-token | USER TOKEN |
| @param | upload_pic | ์ ๋ก๋ํ ์ฌ์ง (form data) |
| @return | JSON | ์ฑ๊ณต ์ success ๋ฐํ |
๋ด ํ์ ๋ด์ญ ๋ถ๋ฌ์ค๊ธฐ (์ฌ์ฉํ์ง ์์)
[GET] /user/me/support
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @header | api-token | USER TOKEN |
| @return | JSON | otype ํ์ ํํ |
| @return | JSON | clover_seq ํ์ ๊ธฐ๊ด ์ฝ๋ (id ์๋) |
| @return | JSON | price ํ์ ๊ธ์ก |
| @return | JSON | ์ดํ ์๋ต |
๋ด ํ์ ๋ด์ญ ๋ถ๋ฌ์ค๊ธฐ (์ฐ๋๋ณ)
[GET] /user/me/support/year/{$year}
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @header | api-token | USER TOKEN |
| @param | year | ์ฐ๋ (ํ์ : yyyy) |
| @return | JSON | otype ํ์ ํํ |
| @return | JSON | clover_seq ํ์ ๊ธฐ๊ด ์ฝ๋ (id ์๋) |
| @return | JSON | price ํ์ ๊ธ์ก |
| @return | JSON | ์ดํ ์๋ต |
์กฐํ ๊ฐ๋ฅํ ์ฐ๋ ๋ถ๋ฌ์ค๊ธฐ
[GET] /user/me/support/getAvailableYears
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @header | api-token | USER TOKEN |
| @return | JSON | ์ฐ๋๋ค |
ํ์ ๊ธฐ๊ด ๋ณ๊ฒฝ
[POST] /user/me/support/change
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @header | api-token | USER TOKEN |
| @param | clover_codes | ํ์ ๋ณ๊ฒฝ ์ฝ๋. ','๋ก ๊ตฌ๋ถ |
| @param | clover_prices | ํ์ ๋ณ๊ฒฝ ๊ธ์ก. ','๋ก ๊ตฌ๋ถ |
| @return | JSON | ์ฑ๊ณต ๋ฉ์์ง |
๋ฐํ ๊ฐ
| ํค | ๊ฐ | ์ค๋ช |
|---|---|---|
| error | price_not_matching | ๊ธฐ์กด ํ์ ์ ์ฒด ๊ธ์ก๊ณผ ๋ณ๊ฒฝํ๋ ค๋ ํ์ ์ ์ฒด ๊ธ์ก์ด ๋์ผํ์ง ์์ ๋ |
| error | duplicated_clover_code | ํ์ ๋ณ๊ฒฝ ๊ธฐ๊ด์ 2๊ฐ ์ด์ ์ค๋ณต ์ ์ฒญ๋ ๊ธฐ๊ด์ด ์์ ๋ |
| success | success_change_clover | ๋ณ๊ฒฝ ์ ์ฒญ ์ฑ๊ณต ์ |
ํ์๊ธฐ๊ด ๊ด๋ จ
ํ์ ๊ธฐ๊ด ๋ชฉ๋ก ๋ถ๋ฌ์ค๊ธฐ
[GET] /company/list
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @return | JSON | seq ํ์ ๊ธฐ๊ด ID |
| @return | JSON | code ํ์ ๊ธฐ๊ด ๋ณ๊ฒฝ ๋ ์ฐ์ด๋ code |
| @return | JSON | subject ํ์ ๊ธฐ๊ด ๋ช |
| @return | JSON | mobile_intro ํ์ ๊ธฐ๊ด ์๊ฐ (๋ชจ๋ฐ์ผ์ฉ) |
| @return | JSON | mobile_thumbnail ํ์ ๊ธฐ๊ด ๋ฆฌ์คํธ ์ธ๋ค์ผ (๋ชจ๋ฐ์ผ์ฉ) |
| @return | JSON | mobile_image1 ํ์ ๊ธฐ๊ด ์ด๋ฏธ์ง (์์ธ ํ์ด์ง ์ต์๋จ ์ด๋ฏธ์ง) |
| @return | JSON | mobile_image2 ํ์ ๊ธฐ๊ด ์ด๋ฏธ์ง (์ด๋ฏธ์ง2) |
| @return | JSON | mobile_image3 ํ์ ๊ธฐ๊ด ์ด๋ฏธ์ง (์ด๋ฏธ์ง3) |
๋ด ํ์ ๊ธฐ๊ด ๋ชฉ๋ก ๋ถ๋ฌ์ค๊ธฐ
[GET] /user/me/companies
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @return | JSON | ํ์ ๊ธฐ๊ด ๋ชฉ๋ก ๋ถ๋ฌ์ค๊ธฐ์ ๊ฐ์ + ํ์๊ธ์ก |
ํ์ ๊ธฐ๊ด ์ธ๋ถ ๋ด์ญ
[GET] /company/{company_id}
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @param | company_id | ํ์ ๊ธฐ๊ด id |
| @return | JSON | ํ์ ๊ธฐ๊ด ๋ถ๋ฌ์ค๊ธฐ์ ๋ฆฌํดํ์๊ณผ ๊ฐ์ |
ํด๋ก๋ฒ๊ฐ๋ ๊ฒ์ํ
๊ณต์ง์ฌํญ ๋ฐ์์ค๊ธฐ
[GET] /board/notice
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @return | JSON | ์ ๋ชฉ, ๋ด์ฉ, ๋ฑ๋ก์ผ |
์์ฃผํ๋ ์ง๋ฌธ ๋ฐ์์ค๊ธฐ
[GET] /board/faq
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @return | JSON | ์ ๋ชฉ, ๋ด์ฉ, ๋ฑ๋ก์ผ |
ํ์๋ผ์ธ
ํ์๋ผ์ธ ๋ฐ์์ค๊ธฐ (๊ฐ๋ณ ์ฌ์ฉ์)
protected-urgency, public-urgency ์. ์ผ๋ฐ๊ณผ ๋ณด๊ณ ์๋ ๋ ์ง์์ผ๋ก ์ ๋ ฌ
[GET] /user/me/timeline
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @header | api-token | USER TOKEN |
| @param | (Optional) only_report | ๋ณด๊ณ ์๋ง ๋ฐ์์ค๊ธฐ (0: false, 1: true) |
| @return | JSON | ๊ฒ์๋ฌผ ๋ฆฌ์คํธ + ๋๊ธ ์ |
ํ์๋ผ์ธ ๋ฐ์์ค๊ธฐ (์ ์ฒด) - ๋น๋ก๊ทธ์ธ
public ๊ฒ์๋ฌผ๋ง ๋ฐ์์ด (๋น์ฐํ ๋ณด๊ณ ์๋ ๋ฐ์์ค์ง ์์. urgency, normal ์)
[GET] /timeline/all
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @return | JSON | ๊ฒ์๋ฌผ ๋ฆฌ์คํธ + ๋๊ธ ์ |
ํ์๋ผ์ธ ๋ฐ์์ค๊ธฐ (์ ์ฒด) - ๋ก๊ทธ์ธ
public ๊ฒ์๋ฌผ๋ง ๋ฐ์์ด (๋น์ฐํ ๋ณด๊ณ ์๋ ๋ฐ์์ค์ง ์์. urgency, normal ์)
[GET] /timeline/all/withlogin
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @header | api-token | USER TOKEN |
| @return | JSON | ๊ฒ์๋ฌผ ๋ฆฌ์คํธ + ๋๊ธ ์ |
ํ์๋ผ์ธ ๋ฐ์์ค๊ธฐ (ํน์ ํ์๊ธฐ๊ด)
ํน์ ํ์๊ธฐ๊ด์ public ๊ฒ์๋ฌผ๋ง ๋ฐ์์ด (๋น์ฐํ ๋ณด๊ณ ์๋ ๋ฐ์์ค์ง ์์. urgency, normal ์)
[GET] /timeline/clover/{$clover_code}
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @param | clover_code | ํ์๊ธฐ๊ด ์ฝ๋ (์: a01) |
| @return | JSON | ๊ฒ์๋ฌผ ๋ฆฌ์คํธ + ๋๊ธ ์ |
ํ์๋ผ์ธ ๊ฒ์๋ฌผ ์ธ๋ถ ๋ด์ฉ
๋๊ธ ์๋ ๊ฐ์ ธ์์ผ ํ ๋ฏ. ์์ ์์
[GET] /timeline/{$board_id}
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @param | board_id | ๊ฒ์๋ฌผ ID |
| @return | JSON | ๊ฒ์๋ฌผ ์์ธ |
ํ์๋ผ์ธ ๊ธ์ฐ๊ธฐ
[POST] /timeline/write
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @header | api-token | USER TOKEN(๊ธฐ๊ด๋ด๋น์๋ง) |
| @param | type | ๊ฒ์๋ฌผ ํ์ (urgency: ๊ธด๊ธ ํ์, normal: ์ผ๋ฐ, report: ๋ณด๊ณ ์ // report๋ ์ฐ์ด์ง ์์) |
| @param | text | ๊ฒ์๋ฌผ ํ ์คํธ (์ ๋ชฉ ์๋) |
| @param | image1 | ์ด๋ฏธ์ง ํ์ผ (์ธ๋ค์ผ) |
| @param | image2 | ์ด๋ฏธ์ง ํ์ผ 2 |
| @param | image3 | ์ด๋ฏธ์ง ํ์ผ 3 |
| @param | limitation | limitation ๊ถํ (public: ์ ์ฒด ๊ณต๊ฐ, protected: ํ์์๋ง ๊ณต๊ฐ, private: ๋น๊ณต๊ฐ) |
| @param | due_date | (๊ธด๊ธํ์์ธ ๊ฒฝ์ฐ. ์๋ ๊ฒฝ์ฐ null์ ๋ณด๋ด๋ฉด ๋จ) ํ์ ๋ง๊ฐ์ผ. ํ์: yyyy-mm-dd |
| @return | JSON | ์ฑ๊ณต ๋ฉ์์ง |
๋ฐํ ๊ฐ
| ํค | ๊ฐ | ์ค๋ช |
|---|---|---|
| error | type_should_be_assigned | ํ์ ์ด null์ด๋ empty์ผ ๋ |
| error | text_will_not_be_empty | ํ ์คํธ(๋ด์ฉ)๊ฐ null์ด๋ empty์ผ ๋ |
| error | due_date_should_be_assinged | (๊ธด๊ธํ์) ๋ง๊ฐ์ผ์ด null์ด๋ empty์ผ ๋ |
| error | limitation_should_be_assinged | ๊ถํ์ด null์ด๋ empty์ผ ๋ |
| success | write_success | ๊ธ์ฐ๊ธฐ ์ฑ๊ณต |
ํ์๋ผ์ธ ์์
[POST] /timeline/modify/{$board_id}
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @header | api-token | USER TOKEN(๊ธฐ๊ด๋ด๋น์๋ง) |
| @param | board_id | ๊ฒ์๋ฌผ ID |
| @param | type | ๊ฒ์๋ฌผ ํ์ (urgency: ๊ธด๊ธ ํ์, normal: ์ผ๋ฐ, report: ๋ณด๊ณ ์ // report๋ ์ฐ์ด์ง ์์) |
| @param | text | ๊ฒ์๋ฌผ ํ ์คํธ (์ ๋ชฉ ์๋) |
| @param | image1 | ์ด๋ฏธ์ง ํ์ผ (์ธ๋ค์ผ) |
| @param | image2 | ์ด๋ฏธ์ง ํ์ผ 2 |
| @param | image3 | ์ด๋ฏธ์ง ํ์ผ 3 |
| @param | limitation | limitation ๊ถํ (public: ์ ์ฒด ๊ณต๊ฐ, protected: ํ์์๋ง ๊ณต๊ฐ, private: ๋น๊ณต๊ฐ) |
| @param | due_date | (๊ธด๊ธํ์์ธ ๊ฒฝ์ฐ. ์๋ ๊ฒฝ์ฐ null์ ๋ณด๋ด๋ฉด ๋จ) ํ์ ๋ง๊ฐ์ผ. ํ์: yyyy-mm-dd |
| @return | JSON | ์ฑ๊ณต ๋ฉ์์ง |
๋ฐํ ๊ฐ
| ํค | ๊ฐ | ์ค๋ช |
|---|---|---|
| error | type_should_be_assigned | ํ์ ์ด null์ด๋ empty์ผ ๋ |
| error | text_will_not_be_empty | ํ ์คํธ(๋ด์ฉ)๊ฐ null์ด๋ empty์ผ ๋ |
| error | due_date_should_be_assinged | (๊ธด๊ธํ์) ๋ง๊ฐ์ผ์ด null์ด๋ empty์ผ ๋ |
| error | limitation_should_be_assinged | ๊ถํ์ด null์ด๋ empty์ผ ๋ |
| success | write_success | ๊ธ์ฐ๊ธฐ ์ฑ๊ณต |
ํ์๋ผ์ธ ์ญ์
[POST] /timeline/delete/{$board_id}
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @param | api_token | USER TOKEN(๊ธฐ๊ด๋ด๋น์๋ง - ๊ธ์ด์ด๋ง ์ญ์ ๋จ) |
| @param | board_id | ๊ฒ์๋ฌผ ID |
| @return | JSON | ์ฑ๊ณต ๋ฉ์์ง |
ํ์๋ผ์ธ ์ข์์
[POST] /timeline/like/{$board_id}
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @param | api_token | USER TOKEN |
| @param | board_id | ๊ฒ์๋ฌผ ID |
| @return | JSON | ์ฑ๊ณต ๋ฉ์์ง |
๋ฐํ ๊ฐ
| ํค | ๊ฐ | ์ค๋ช |
|---|---|---|
| success | success_like_board | ์ข์์ ์ |
| success | success_dislike_board | ์ข์์ ์ทจ์ ์ |
ํ์๋ผ์ธ ๋๊ธ ๋ถ๋ฌ์ค๊ธฐ
[GET] /timeline/comment/{$board_id}
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @param | board_id | ๊ฒ์๋ฌผ ID |
| @return | JSON | ๋๊ธ ๋ฆฌ์คํธ (+ properties) |
ํ์๋ผ์ธ ๋๊ธ ๊ธ์ฐ๊ธฐ
[POST] /timeline/comment/write
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @header | api-token | USER TOKEN |
| @param | board_id | ๊ฒ์๋ฌผ ID |
| @param | text | ๊ฒ์๋ฌผ ํ ์คํธ (์ ๋ชฉ ์๋) |
| @return | JSON | ์ฑ๊ณต ๋ฉ์์ง |
ํ์๋ผ์ธ ๋๊ธ ์์
[POST] /timeline/comment/modify/{comment_id}
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @header | api-token | USER TOKEN (๊ธ์ด์ด๋ง ๊ฐ๋ฅ) |
| @param | comment_id | ๋๊ธ ID |
| @param | text | ๊ฒ์๋ฌผ ํ ์คํธ (์ ๋ชฉ ์๋) |
| @return | JSON | ์ฑ๊ณต ๋ฉ์์ง |
ํ์๋ผ์ธ ๋๊ธ ์ญ์
[POST] /timeline/comment/delete/{comment_id}
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @header | api-token | USER TOKEN (๊ธ์ด์ด๋ง ๊ฐ๋ฅ) |
| @param | comment_id | ๋๊ธ ID |
| @return | JSON | ์ฑ๊ณต ๋ฉ์์ง |
๋ฐํ ๊ฐ
| ํค | ๊ฐ | ์ค๋ช |
|---|---|---|
| error | delete_comment_failed | ๋๊ธ ์ญ์ ์คํจ |
| success | delete_comment_success | ๋๊ธ ์ญ์ ์ฑ๊ณต |
๊ธฐํ
์ธ์ฆ ๋ฒํธ ๋ฐ์ก API
์ค์ ๋ฌธ์ ๋ฐ์ก๋๋ ํ
์คํธ๋ ์ ๋นํ!
[GET] /sms/auth
| ๊ตฌ๋ถ | ํ๋ผ๋ฏธํฐ or ํ์ | ์ค๋ช |
|---|---|---|
| @param | phone_num | ํธ๋ํฐ ๋ฒํธ |
| @return | JSON | ์ธ์ฆ๋ฒํธ |
๊ฒฐ์
๊ฒฐ์ ์์คํ
์ API์๋ฒ๊ฐ ์๋ ํด๋ก๋ฒ๊ฐ๋ ์น์๋ฒ์ ํด๋น๋ฉ๋๋ค. ์ฆ, ์ง์ ์นํ์ด์ง๋ฅผ ํธ์ถํ๋ ํํ๋ก ๊ตฌ์ฑ์ด ๋ฉ๋๋ค.
์๋๋ก์ด๋ ํน์ iOS ์น๋ทฐ์์ ํธ์ถ๋์ด์ผ ํ๋ URL์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ผ์ ํ์ http://clovergarden.co.kr/agspay/AGSMobile_start_temp?seq=[company_id]
์ ๊ธฐ ํ์ http://clovergarden.co.kr/agspay/AGSMobile_start_resv?seq=[company_id]
[company_id] ๊ฐ์๋ ๊ธฐ๊ด์ id(seq)๊ฐ ๋ค์ด์ต๋๋ค.
์ฃผ์! ์๊ธฐ URL ์์ฒญ๋ํ Custom Header๊ฐ ํ์ํฉ๋๋ค. ๋ก๊ทธ์ธ์ ์ํด์ api-tokenํค๋ฅผ token์ผ๋ก ์ง์ ํ์ฌ ์ฃผ์ธ์.
๋ฆฌํด
์๊ธฐ ์น์ ๊ฒฐ์ ์ ์ฑ๊ณตํ๋ฉด clovergardenapp:// ์ด๋ผ๋ APP URL Scheme์ ํธ์ถํฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ฉ๋๋ ์ค๋งํธํฐ ์ ํ๋ฆฌ์ผ์ด์
์์ clovergardenapp์ด๋ผ๋ URL Scheme์ด ํธ์ถ๋๋ฉด ๋ค์ ์ฑ ๋ฉ์ธ์ผ๋ก ๋์๊ฐ๋๋ก ํ์๋ฉด ๋ฉ๋๋ค.
์)iOS
// webView์์ request๊ฐ ์กด์ฌํ ๋ ํธ์ถ๋๋ delegate
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType: (UIWebViewNavigationType)navigationType
{
NSURL *url = request.URL;
if ([url.scheme isEqualToString:@"http"]) {
return YES;
} else if ([url.scheme isEqualToString:@"clovergardenapp"]) { // URL Scheme์ด clovergardenapp์ผ ๋
[self backToMain:self]; // ์ปจํธ๋กค๋ฌ ์ข
๋ฃ ํ ๋ฉ์ธ ์ปจํธ๋กค๋ฌ๋ก ๋์์ด
return NO;
}
return YES;
}
FAQ / ๊ณต์ง์ฌํญ
์๋๋ก์ด๋๋ iOS์ ๋ฌ๋ฆฌ ์ง์ URL์ ๋ฐ์์ ์ฒ๋ฆฌํฉ๋๋ค. ์ฒ๋ฆฌ๋๋ URL์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ณต์ง์ฌํญ http://clovergarden.co.kr/mobile/notice/list/{id}
FAQ http://clovergarden.co.kr/mobile/faq/list/{id}
{id}๋ ๋ณด์ฌ์ค ๊ฒ์๋ฌผ์ sequence์ ๋๋ค.
FCM ํธ์
FCM ํธ์์ ๊ดํ ๋ด์ฉ์ ์ง์ FCM๋ฌธ์( https://firebase.google.com/docs/cloud-messaging/ )๋ฅผ ์ฐพ์๋ณด์
๋ ๋๋, ํ์ํ ๋ถ๋ถ์ด ํ์ ์ ์ด๊ธฐ์ ๋ฌธ์์ ๋ฐ๋ก ์ ๋ฆฌํฉ๋๋ค.
ํ์ํ ๊ฒ์ API KEY์ ๋ณด๋ด์ง ๋ด์ฉ 2๊ฐ์ง์
๋๋ค.
๋ค์์ ๋ด์ฉ(JSON)์ผ๋ก HTTP ๋ฆฌํ์คํธ(POST)๋ฅผ ์ ์กํ์๋ฉด ๋ฉ๋๋ค.
URL: https://fcm.googleapis.com/fcm/send
------------------------------------ HEADER --------------------------------------
Content-Type: application/json
Authorization: key=AIzaSyAEyaxzaSjR7ViHaphBKxm6R8dVSXQ838s // ํด๋ก๋ฒ๊ฐ๋ ์ ์๋ฒํค์
๋๋ค.
{
"to": "/topics/news",
"notification": {
"body": "This is a Firebase Cloud Messaging Topic Message!",
}
}
ํด๋ก๋ฒ๊ฐ๋ ์ฑ์์๋ ๋ชจ๋ ๋ฉ์์ง๋ฅผ news๋ผ๋ ํ ํฝ์ ๋ณด๋ด๊ธฐ๋ก ํฉ๋๋ค.
์์ ์์ฒญ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๋ฉด message_id๋ผ๋ ํค๋ฅผ ๊ฐ์ง json ๋ฐ์ดํฐ๋ฅผ ๋ฐํํฉ๋๋ค.