Magento Web API 시작하기(REST & SOAP)

게시 됨: 2020-10-06

Magento 2 Web API 프레임워크는 사용자에게 타사 모듈과 통신할 수 있는 새로운 서비스를 생성할 수 있는 기회를 제공합니다. Magento 2는 CRUD 작업(생성, 읽기, 업데이트 및 삭제)을 기반으로 하는 REST 및 SOAP 웹 서비스를 지원합니다.

이 기사에서는 Magento 2 API를 사용하는 초기 단계를 설명합니다. 이러한 API는 처리 능력의 속도를 높이고 제품, 고객 또는 주문과 같은 데이터의 전송을 용이하게 하고 이를 제3자 시스템으로 전송합니다. 또한 재고 관리에도 도움이 됩니다.

프로세스를 자동화하여 API를 사용하면 코드를 덜 작성할 수 있습니다.

목차

  • Magento 웹 API란 무엇입니까?
  • Magento Web API로 무엇을 할 수 있습니까?
  • 시작하기: Magento 2 Rest API 사용
  • Magento 2에서 웹 서비스 사용자 생성
  • Magento 2 REST API 인증
  • Magento 2에서 REST API를 사용하여 모듈 가져오기
  • SOAP 서비스 사용
  • SOAP 서비스 - Magento 2를 사용한 인증
  • 마지막 단어

Magento 웹 API란 무엇입니까?

Magento 웹 API는 Magento 시스템과 통신하는 데 도움이 되는 웹 서비스를 사용하려는 개발자에게 매우 이해하기 쉽습니다. 다음 기능은 API의 핵심입니다.

  • Magento 2는 REST(Representational State Transfer)와 SOAP(Simple Object Access Protocol)를 모두 지원합니다.
  • 1) 타사 애플리케이션 인증을 위한 OAuth 1.0a, 2) 모바일 애플리케이션 인증을 위한 토큰화 방법, 3) 관리 및 고객 확인을 위한 로그인 자격 증명의 세 가지 유형의 인증을 제공합니다.
  • 몇 줄의 XML을 작성하여 Magento 또는 타사 웹 API를 구성할 수 있습니다.
  • 모바일 응답을 보존하는 웹 API의 필드 필터링을 지원합니다.
  • 현재 프레임워크는 CRUD(생성, 읽기, 업데이트, 삭제) 및 검색 모델을 기반으로 합니다.

Magento Web API로 무엇을 할 수 있습니까?

API는 다양한 모듈이 서로 통신하는 데 도움이 됩니다. 다양한 작업을 수행하는 데 사용할 수 있습니다. 예를 들어:

  • Magento를 사용하여 온라인 상점을 만들고 POS(Point of Sale)와 같은 물리적 시스템과 연결하여 전 세계적으로 재고를 제어할 수 있습니다.
  • Salesforce, Microsoft Dynamics 또는 기타 사운드 소프트웨어와 같은 CRM(고객 관계 관리) 또는 ERP(Enterprise Resource Planning) 백엔드 시스템과 쉽게 통합
  • CMS(Content Management System) 연동을 도와줍니다.
  • Magento 백엔드(관리자 패널) 또는 Magento 스토어프론트에서 JavaScript 위젯을 생성할 수도 있습니다.

시작하기: Magento 2 Rest API 사용

Magento 2에서 웹 서비스 역할을 생성하려면 다음의 간단한 단계를 따르십시오.

1. Magento 2 관리자 패널에 로그인합니다.

2. 시스템 >> 사용자 역할 로 이동하여 새 역할 추가 버튼을 클릭합니다.

Magento Web API 시작하기 | Mageworx Magento 블로그

3. 역할 이름을 입력합니다.

Magento Web API 시작하기 | Mageworx Magento 블로그

4. 비밀번호 필드에 Magento 2 관리자의 현재 비밀번호를 입력합니다.

Magento Web API 시작하기 | Mageworx Magento 블로그

5. 왼쪽에서 역할 리소스를 클릭합니다. 리소스 액세스에서 웹 서비스에 필요한 항목만 선택합니다.

Magento Web API 시작하기 | Mageworx Magento 블로그

6. 완료되면 역할 저장을 누르십시오.

Magento 2에서 웹 서비스 사용자 생성

다음 단계에 따라 새로 생성된 역할에 대한 새 사용자를 생성합니다.

1. 시스템 >> 모든 사용자로 이동한 다음 새 사용자 추가 를 클릭합니다.

Magento Web API 시작하기 | Mageworx Magento 블로그

2. 사용자 이름 , 이름 , 이메일비밀번호 를 포함한 필수 정보를 입력합니다.

Magento Web API 시작하기 | Mageworx Magento 블로그

3. 왼쪽에서 사용자 역할 을 클릭한 다음 새로 생성된 역할을 선택합니다. 완료되면 사용자 저장 버튼을 클릭합니다.

Magento Web API 시작하기 | Mageworx Magento 블로그

Magento 2 REST API 인증

여기서는 토큰 인증 방식을 통해 REST API를 인증하겠습니다. 여기에는 초기 연결에서 사용자 이름과 암호를 전달하고 추가 호출을 위해 변수에 저장될 토큰을 받는 것이 포함됩니다.

 <?php //API URL for authentication $apiURL="http://magento-91647-257956.cloudwaysapps.com/index.php/rest/V1/integration/admin/token"; //parameters passing with URL $data = array("username" => "username", "password" => "********"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); //decoding generated token and saving it in a variable $token= json_decode($token); ?>

참고: 사용자 이름과 비밀번호는 예시로 사용되었습니다.

Magento 2에서 REST API를 사용하여 모듈 가져오기

Magento 2 REST API를 사용하여 데이터를 가져올 수 있습니다. 다음은 Magento EE 및 CE용 REST API의 전체 목록입니다.

 <?php //Using above token into header $headers = array("Authorization: Bearer ".$token); //API URL to get all Magento 2 modules $requestUrl='YourgeneratedUrl'; $ch = curl_init($requestUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); //decoding result $result= json_decode($result); //printing result print_r($result); ?>

위의 코드에서 이미 마젠토 2 스토어에 설치된 모든 모듈을 가져오기 위해 API URL과 함께 토큰(이전에 가져온)을 전달했습니다.

다음은 전체 코드입니다.

 <?php //API URL for authentication $apiURL="URL"; //parameters passing with URL $data = array("username" => "username", "password" => "*********"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); //decoding generated token and saving it in a variable $token= json_decode($token); //******************************************// //Using above token into header $headers = array("Authorization: Bearer ".$token); //API URL to get all Magento 2 modules $requestUrl='YourURL'; $ch = curl_init($requestUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); //decoding result $result= json_decode($result); //printing result print_r($result); ?>

SOAP 서비스 사용

SOAP 서비스를 시작하기 전에 Magento의 명명 규칙에 대해 배우는 것이 중요합니다.

  • 이름 지정 서비스에는 CamelCase를 사용해야 합니다. 예를 들어, MyFirstModule
  • "Service"라는 문자열은 생략되어 사용할 수 없습니다.
  • "Magento" 접두사와 "Interface" 접미사도 에스컬레이션됩니다.
  • '서비스' 이름이 '모듈' 이름과 같으면 모듈 이름이 생략됩니다.

MageWorx 업데이트 검거 | 메이지웍스 블로그

따라서 이러한 점을 염두에 두십시오.

SOAP 서비스 - Magento 2를 사용한 인증

SOAP 리소스는 HTTP를 통해 OAuth 액세스 토큰을 사용하여 액세스할 수 있습니다. OAuth 인증은 토큰 방식과 유사하지만 더 복잡한 배열을 제공합니다. 액세스 토큰은 클라이언트에 발급된 액세스 권한을 나타내는 문자열입니다.

다음은 액세스 토큰을 얻는 방법을 설명하는 PHP 스크립트입니다.

 <?php $opts = [ 'http'=> [ 'header' => 'Authorization: Bearer 36849300bca4fbff758d93a3379f1b8e' ] ]; $wsdlUrl = 'http://magento.ll/soap/default?wsdl=1&services=testModule1AllSoapAndRestV1'; $serviceArgs = ["id" => 1]; $context = stream_context_create($opts); $soapClient = new SoapClient($wsdlUrl, ['version' => SOAP_1_2, 'stream_context' => $context]); $soapResponse = $soapClient->testModule1AllSoapAndRestV1Item($serviceArgs); ?>

마지막 단어

이 기사에서는 Magento 웹 API의 기본 사항을 설명했지만 배울 수 있는 것이 훨씬 더 많습니다. Magento 2 API 사용법을 더 확실히 이해하고 싶다면 메서드가 Magento 2 및 타사 확장에 내장되어 있는 방법을 탐색해야 합니다. 또한 필요한 시스템에 정보를 전달하는 방법을 이해해야 합니다.

그래서, 그것입니다!

안심하고 더 빠른 Magento 호스팅을 경험하려면 DigitalOcean, Vultr 및 Linode에서 이 3일 무료 평가판을 확인하십시오.