Square API를 사용하여 제품 만들기 및 삭제

2380 단어 WebAPI스퀘어루비
Square는 클라우드에 데이터를 가지고 있으므로 API를 사용하여 원격지에 있는 계산대를 조작할 수 있습니다.

이번은 상품을 API로 만들어 삭제하는 흐름을 소개합니다. 언어는 Ruby를 사용합니다.

SDK 초기화



이용하는 것은 square_connect 라는 라이브러리입니다. 이것은 Rubygems에서 설치할 수 있습니다.
$ gem install square_connect

그리고 Square Developer Portal에서 얻을 수 있는 액세스 토큰을 사용합니다.
access_token = 'YOUR_ACCESS_TOKEN'
require 'square_connect'
SquareConnect.configure do |config|
  config.access_token = access_token
end

상점 정보 얻기



상품을 등록할 때는 점포 정보가 필요합니다. 따라서 먼저 매장 정보를 검색합니다.
locations_api = SquareConnect::LocationsApi.new
begin
  locations = locations_api.list_locations.locations
rescue SquareConnect::ApiError => e
  puts "店舗情報取得時にエラーが発生しました。 #{e.message}"
  return
end

location = locations.first

상품 등록



점포 정보를 취득한 후, 상품을 등록합니다. 이때 v2(버전 2)의 API에는 카탈로그 API가 준비되어 있습니다만, v1(버전 1)의 상품 API로 등록하는 것이 확실합니다. v2로 등록한 상품을 표시하려고 하면 금전 등록기 앱이 떨어질 수 있습니다.

기본적으로는 옵션입니다만, 바리에이션 데이터는 필요한 것 같습니다.
api_instance = SquareConnect::V1ItemsApi.new

item = SquareConnect::V1Item.new(name: 'APIから追加')

variation = SquareConnect::V1Variation.new
variation.name = 'Black'
variation.price_money = SquareConnect::V1Money.new(amount: 100, currency_code: 'JPY')
item.variations = [variation]

begin
  item = api_instance.create_item(location.id, item)
rescue SquareConnect::ApiError => e
  puts "商品登録時にエラーです。 #{e}"
  exit
end

상품 삭제



상품을 삭제하려면 상점 ID와 상품 ID의 두 가지가 필요합니다.
api_instance.delete_item(location.id, item.id)

데모



데모로 제품을 등록한 후 20초 후에 삭제하는 스크립트를 실행합니다. iPhone의 금전 등록기 화면을 내고 있습니다만, API를 호출해 조금하면 금전 등록기의 상품 일람에 데이터가 반영되는 것을 알 수 있습니다(동영상은 편집해 대기 시간을 생략하고 있습니다).



이와 같이 원격지에 있는 앱을 포함하여 정보를 신속하게 전달할 수 있는 것이 Square API의 좋지 않을까요? 업데이트 버튼을 누르거나 앱을 한 번 떨어뜨릴 필요가 없습니다.

Square Connect API Documentation

좋은 웹페이지 즐겨찾기