본문 바로가기
CS/REST API

API(Application Programming Interface)란 무엇인가?

by nothing-error 2023. 2. 7.

1. 소개

  • API의 정의: API 또는 응용 프로그램 프로그래밍 인터페이스는 소프트웨어 및 응용 프로그램을 구축하기 위한 일련의 프로토콜, 루틴 및 도구입니다. 서로 다른 시스템, 응용 프로그램 또는 서비스 간의 통신을 허용하여 데이터를 교환하거나 기능에 액세스할 수 있습니다.
  • API의 목적: API는 서로 다른 소프트웨어 시스템 간의 다리 역할을 하여 상호 작용하고 정보를 교환할 수 있도록 합니다. 이를 통해 조직은 다른 시스템의 기능과 데이터를 활용하여 효율성을 높이고 데이터 통합을 개선할 수 있습니다. API는 또한 기업이 외부 개발자에게 서비스를 제공할 수 있는 방법을 제공하여 기업의 제안과 통합되는 새로운 애플리케이션 또는 서비스를 구축할 수 있도록 합니다. 서로 다른 시스템이 통신할 수 있는 간단하고 표준화된 방법을 제공함으로써 API는 현대 기술 환경에서 중요한 역할을 합니다.

 

2. API의 유형

  • Internal APIs : Internal APIs는 조직 내에서 서로 다른 팀이나 부서간에 사용되도록 설계됩니다. 이를 통해서 서로 다른 시스템이 중앙에서 제어된 방식으로 서로 통신할 수 있으므로 데이터의 통합이 개선되고 효율성이 향상됩니다.
  • Partner APIs : Partner APIs는 서로 다른 조직간에 데이터 또는 기능을 공유하는데 사용됩니다. 다른회사의 서비스가 회사의 제품과 통합되도록 하는 등에 사용할 수 있습니다.
  • Public APIs : Public APIs는 외부 개발자 및 조직에서 사용할 수 있도록 설계됩니다. 회사의 서비스와 데이터에 대해 접근할 수 있도록 하여 개발자가 회사의 서비스와 관련된 새로운 애플리케이션과 서비스를 구축할 수 있도록 합니다. 

저 같은 경우에는 프로젝트 기획 단계에서 공개된 API에는 어떤 것들이 있는지부터 확인하곤 합니다. API를 통해 데이터를 수집하는 경우에는 보통 제공하는 회사에서 이미 한 번 전처리가 끝난 데이터들이기 때문에 데이터 전처리에 소모되는 시간이 상당부분 절약이되어 프로젝트를 진행할 때 용이했습니다.

 

 

3. API 작동방식

  • Request-Response Cycl : API는 요청과 응답 사이클을 사용하여 시스템간에 데이터를 교환합니다. 모바일 앱이나 웹사이트와 같은 클라이언트는 API 엔드포인트에 요청을 보내 특정 데이터 또는 기능을 요청합니다. 그런 다음 API는 요청을 처리하고 데이터, 상태코드 또는 기타 정보들을 포함할 수 있는 응답을 클라이언트에 반환합니다.
  • API Endpoints : API Endpoints는 API에 액세스할 수 있는 특정한 위치입니다. 각 엔드포인트에는 교유한 URL이 있으며 특정 데이터 똔느 기능에 대한 액세스를 제공하도록 설계되었습니다. ex) https://finance.naver.com/sise/   와 같은 url
  • API 키 및 인증 : API에 액세스하려면 일반적으로 클라이언트가 API키를 제공하거나 다른 형식의 인증을 사용해야 합니다. 이렇게 하면 API 제공자가 API에 대한 액세스를 제어하고 API사용을 모니터링 할 수 있습니다.

이러한 작동방식을 이해하는데 가장 도움이 된 프로젝트는 FastAPI를 통해서 직접 웹사이트를 구축해본 경험이 많은 도움이 됐습니다. 

 

4. API 사용의 장점

  • 효율성 향상: API를 통해 서로 다른 시스템이 표준화되고 효율적인 방식으로 데이터를 교환하고 통신할 수 있습니다. 이를 통해 수동 데이터 입력 및 기타 시간 소모적인 프로세스의 필요성을 줄여 생산성과 효율성을 향상시킬 수 있습니다.
  • 향상된 데이터 통합: API를 통해 조직은 다양한 소스의 데이터를 통합하여 정보의 정확성과 완전성을 개선할 수 있습니다. 이는 더 나은 의사 결정, 향상된 고객 경험 및 기타 이점으로 이어질 수 있습니다.
  • 고객 환경 개선: API는 다른 시스템 및 서비스와 통합됨으로써 고객에게 보다 원활하고 통합된 경험을 제공할 수 있습니다. 

5. API의 usecase

  • 데이터통합 : API를 사용하여 데이터베이스, 클라우드서비스 및 기타 시스템과 같은 여러 소스의 데이터를 통합할 수 있습니다. 이를 통해 조직은 이러한 소스의 정보에 중앙집중식 및 제어 방식으로 액세스하고 사용할 수 있습니다.
  • 모바일 앱 개발 : 모바일 앱은 종종 API를 사용하여 웹 기반 서비스에서 제공하는 데이터와 기능에 액세스한 다음 사용자에게 표시됩니다.
  • 서비스 : API를 사용하여 여러 시스템의 기능을 통합하여 새로운 서비스를 구성할 수 있습니다. 
  • e-commerce : 온라인 소매업체는 API를 사용하여 공급업체 및 기타 시스템의 실시간 배송정보, 제품정보 등에 액세스할 수 있습니다. 이를 통해 주문 처리의 정확성과 속도를 향상시켜 고객환경을 개선할 수 있습니다(쿠팡, 스마트스토어 등)

네이버나 카카오, 스팀, 트위터, 쿠팡, NC 등등 일정 규모 이상의 IT관련 회사에서는 API를 제공해주는 경우가 많기 때문에 한 번 찾아보시면 생각보다 유용한 데이터를 수집할 수 있습니다. 

 

 

'CS > REST API' 카테고리의 다른 글

REST(Representational State Transfer)란 무엇인가?  (0) 2023.02.08

댓글