최초 작성일 : 2022.06.25
API (Application Programming Interface)
🔗 API (Application Programming Interface)
애플리케이션을 프로그래밍 하는데 필요한 인터페이스
IT 서비스 내에서 서버와 클라이언트가 서로 정보를 어떻게 주고 받을지에 대해 미리 정의한 것이 API이다.
유튜브의 예시를 정리해 API를 정리해보았다.
자신이 입출금을 위해 은행에 방문했다고 가정해보자.
은행에서 번호표를 뽑고, 얼마를 어디로 입출금할 건지, 어느 통장에서 입금출할 건지,신분증은 있는지
4가지의 요건이 충족되고 입출금 창구에서 진행해야 입출금을 원활하게 진행할 수 있다.
만약 4가지의 요건은 충족 했지만 입출금 창구가 아닌 대출 창구로 간다면 입출금을 할 수 없고
입출금 창구로 갔지만 4가지 요건을 충족하지 못했다면 입출금을 할 수 없다.
자신 = 클라이언트
은행 = 서버
입출금 = 요청(명령)
4가지 요건과 창구 = 인터페이스
즉, API는 클라이언트와 서버와의 약속이다.
🔗 API의 역할
1.서버와 데이터베이스에 대한 출입구 역할을 한다.
DB에는 소중한 정보들이 저장되는데, 누구나 DB 접근을 방지하기위해
서버와 DB의 출입구 역할을 하며 허용된 사람에게만 접근성을 부여한다.
2. 어플리케이션과 기기가 월활하게 통신할 수 있도록 한다.
어플리케이션은 우리가 흔히 알고있는 스마트폰 어플이나 프로그램을 말하며,
API는 어플리케이션과 기기가 데이터를 원활히 주고 받을 수 있도록 돕는 역할을 한다.
3. API는 모든 접속을 표준화 한다.
API는 모든 접속을 표준화하기 때문에 기계나 운영체제 등과 상관없이 누구나 동일한 엑세스를 얻을 수 있다.
쉽게 말해 API는 범용 플로그처럼 작동한다고 볼 수 있다.
🔗 RESTful API (Represnetational State Transfer API)
API를 잘 설계한다고 하더라도 각자 필요한 방식에 맞춰 다양하게 설계한다면 유지보수하는데 여려움이 발생한다.
이러한 문제를 해결하기 위해서 일정한 제약 조건을 준수하는 API를 만들었는데,
대표적인 방식이 RESTful API이다.
🔗 RESTful API 요청 • 명령 종류 (HTTP Method)
CRUD
|
예시
|
RESTful API
|
Creat (올려줘)
|
서버주소/timelinecreate···
|
POST (생성해줘)
|
Read (불러와줘)
|
서버주소/timelineread···
|
GET (불러와줘)
|
Update (바꿔줘)
|
서버주소/timelineupdate···
|
PUT(전체 바꿔줘) / PATCH (일부 바꿔줘)
|
Delet (지워줘)
|
서버주소/timelinedelet···
|
DELETE (지워줘)
|
API를 통해 클라이언트와 서버가 요청과 응답을 주고 받을 때, 관련 데이터도 주고 받으면서 명령을 수행한다.
API에서 4가지 요소 CRUD로 데이터를 주고 받고,
데이터를 저장하거나 전송할 때 사용되는 데이터 교환 형식이 JSON이다.
(JSON은 다음 강의에서 배울 예정이여서 스리슬쩍 끼워넣어봤다)
카카오톡 로그인 오픈 API 살펴보기
🔗 오픈 API
개방형 API로 모두에게나 공개하며, 누구나 제한 없이 API를 사용할 수 있다.
🔗 카페24
글로벌 전자상거래 플랫폼로, 온라인 전자상거래 솔루션부터 글로벌 마케팅, 글로벌 물류·배송 등
온라인 비즈니스를 위한 IT 솔루션과 비즈니스 서비스를 제공하는 기업이다.
인터넷 서비스 분야 1위 브랜드로, 현재 200만 쇼핑몰을 비롯한 620만 회원들이
온라인 비즈니스를 위해 선택한 글로벌 성공 플랫폼으로 자리매김했다.
▲ 카페24 개발자 사이트에 접속하면, 오픈 API를 확인해볼 수 있다.
카페 24의 오픈 API를 살펴보자.
🔗 Cafe 24 API
카페24는 현재 상점, 상품 주문,부터 알람, 번역까지의 18개의 API를 제공하고 있다.
쇼핑몰에 연동하여 서비스를 제공하기 위한 앱스토 입점 개발사, 서드파티 솔루션 제공자 등을 제공하는 API이다.
카페24는 RESTful API로 요청받고, JSON 포멧으로 응답을 받는다.
각 리소스 별로 CRUD를 지원하며 HTTP Method를 사용하여 API를 사용할 수 있다.
🔗 Cafe 24 GET API
GET API는 "불러와줘" 요청이다.
카페24 API는 데이터를 조회하는 여러가지 방법을 제공하고 있다.
다음은 API 조회시 여러가지 파라메터(매개변수)를 사용하여 다양하게 데이터를 호출할 수 있는 방법을 설명한다.
1. 검색조건 추가
예) 특정 브랜드 내에서 상품 판매가가 1000원 이상인 상품 조회
GET https://{mallid}.cafe24api.com/api/v2/products?brand_code=B000000A&price_min=1000
예) 상품 등록일 범위를 지정하여 상품 조회
GET https://{mallid}.cafe24api.com/api/v2/products?created_start_date=2018-01-03&created_end_date=2018-02-03
예) 상품 수정일 범위를 지정하여 상품 조회
GET https://{mallid}.cafe24api.com/api/v2/products?updated_start_date=2018-01-03T14:01:26+09:00&updated_end_date=2018-02-03T14:01:26+09:00
2. 콤마로 여러 건을 검색
예) 특정 상품번호를 지정하여 상품 조회
GET https://{mallid}.cafe24api.com/api/v2/products?product_no=11,12,13
예) 특정 상품번호와 상품코드를 지정하여 상품 조회
GET https://{mallid}.cafe24api.com/api/v2/products?product_no=11,12,13&product_code=P000000X,P000000W
3. 멀티쇼핑몰 정보 조회
예) 특정 멀티쇼핑몰의 상품 조회
GET https://{mallid}.cafe24api.com/api/v2/products?shop_no=2
4. 상세 조회와 단건 조회
예) 특정 상품번호를 지정하여 상품 상세 조회
GET https://{mallid}.cafe24api.com/api/v2/admin/products/128
예) 특정 상품번호를 지정하여 상품 단건 조회
GET https://{mallid}.cafe24api.com/api/v2/admin/products?product_no=128
5. Pagination
예 ) 상품 100개 조회
GET https://{mallid}.cafe24api.com/api/v2/admin/products?limit=100
예) 201번째 상품부터 300번째 상품까지 조회
GET https://{mallid}.cafe24api.com/api/v2/admin/products?limit=100&offset=200
6. 특정 항목 조회
예) 상품명과 상품번호 항목만 조회
GET https://{mallid}.cafe24api.com/api/v2/admin/products?fields=product_name,product_no
7. 하위 리소스 조회
예) 상품 조회시 품목과 재고 데이터를 함께 조회
GET https://{mallid}.cafe24api.com/api/v2/admin/products/570?embed=variants,inventories
🔗 Cafe 24 회원 API
회원(Customers)은 쇼핑몰의 상품을 구매하는 고객들 중
쇼핑몰의 쿠폰, 적립금, 할인 등의 혜택을 받기 위해 가입한 고객들입니다.
회원 관리를 위해 쇼핑몰 운영자는 회원을 특정 회원 등급으로 분류하거나 특별회원으로 지정할 수 있습니다.
GET /api/v2/admin/customers
🔗 Retrieve a list of customer
회원(Customers)중 Retrieve a list of customer(회원 목록 검색)의 API를 살펴보자.
Property
|
Description
|
SCOPE
|
회원 읽기권한 (mall.read_customer)
|
호출건수 제한
|
40
|
Request
curl -X GET \
'https://{mallid}.cafe24api.com/api/v2/admin/customers?member_id=sampleid,testid' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-H 'X-Cafe24-Api-Version: {version}'
Rrsponse
{
"customers": [
{
"shop_no": 1,
"member_id": "sampleid",
"group_no": 1,
"member_authentication": "T",
"use_blacklist": "F",
"blacklist_type": "",
"sms": "T",
"news_mail": "T",
"solar_calendar": "T",
"total_points": "0.00",
"available_points": "0.00",
"used_points": "0.00",
"last_login_date ": "2019-04-16T11:19:27+09:00",
"created_date": "2019-04-20T11:19:27+09:00",
"gender ": "M",
"use_mobile_app ": "T",
"available_credits ": "0.00",
"fixed_group": "T"
},
{
"shop_no": 1,
"member_id": "testid",
"group_no": 1,
"member_authentication": "T",
"use_blacklist": "F",
"blacklist_type": "F",
"sms": "F",
"news_mail": "F",
"solar_calendar": "F",
"total_points": "0.00",
"available_points": "0.00",
"used_points": "0.00",
"last_login_date ": "2019-04-16T11:19:27+09:00",
"created_date": "2019-04-20T11:19:27+09:00",
"gender ": "F",
"use_mobile_app ": "F",
"available_credits ": "0.00",
"fixed_group": "F"
}
]
}
Parameter
|
Description
|
shop_no
|
멀티쇼핑몰 번호
멀티쇼핑몰 구분을 위해 사용하는 멀티쇼핑몰 번호. DEFAULT 1 |
cellphone
|
휴대전화
검색할 쇼핑몰 회원의 휴대전화번호. 개인정보 보호를 위해 전체 휴대전화번호를 입력해야 한다. cellphone 또는 member_id 중 하나는 반드시 검색 조건으로 지정되어야 한다. ,(콤마)로 여러 건을 검색할 수 있다. |
member_id
최대글자수 : [20자] |
회원아이디
검색할 쇼핑몰 회원의 아이디. 개인정보 보호를 위해 전체 아이디를 입력해야 합니다.cellphone 또는 member_id 중 하나는 반드시 검색 조건으로 지정되어야 한다. ,(콤마)로 여러 건을 검색할 수 있다. |
아직도 API는 어렵지만, 어느정도 이해가 됬다,, 이해해보려고 노력하니 이해돘다는 것에 감사하다
이렇게 많은 API들이 필요하다는 것에도 놀랍고, 이걸 다 이해하고 사용하는 개발자들도 멋있다,,
스터디클럽에서 <비전공자를 위한 이해할 수 있는 IT 지식> 책 내용을 알려주셨는데, 추가로 많이 도움이 됬다 (감사합니당:))
읽어보려고 e-북도 다운받았당 히히 아직 IT 지식이 너무 부족한 것같으니, 열심히 읽어봐야지!!
📑 참고 자료
- API란? 비개발자가 알기 쉽게 설명해드립니다!
- REST API와 GET, POST, PUT, DELETE
- 서버가 API를 뭐..? 개발자의 외계어 쉽게 이해하기
'🏕️ Bootcamp' 카테고리의 다른 글
| PMB 12기 | W7D1 | 코드스테이츠 HTML, CSS, JavaScript 웹 프론트엔드 탐색 (2) | 2024.11.12 |
---|---|
| PMB 12기 | W7D4 | 멜리즈 meliz UI, 클라이언트, 서버, DB 다시보기 (6) | 2024.11.12 |
| PMB 12기 | W7D2 | 앱 유형 4가지 분석 (2) | 2024.11.12 |
| PMB 12기 | W6D4 | kaggle 데이터 시각화 (3) | 2024.11.12 |
| PMB 12기 | W6D3 | 닷슬래시대시 린(Lean) 분석 (4) | 2024.11.12 |