Ekam
Простейший клиент для API сервиса ЕКАМ:
Совместимость
Клиент работает с версией ЕКАМ API v0.0.1
Установка
Добавьте следующую строку в Gemfile вашего приложения:
gem 'ekam-ruby'
Затем выполните команду:
$ bundle
Или установите gem самостоятельно:
$ gem install ekam-ruby
Примеры использования
Инициализация:
require 'ekam-ruby'
client = Ekam::Client.new(token)Где token - авторизационный токен для вашего приложения ЕКАМ (подробнее тут: https://www.ekam.ru/page/online-api#creation).
Получение списка чеков
# Получить все чеки без ограничений
client.get_receipt_requests
# Получить последние 10 чеков
client.get_receipt_requests({limit: 10})
# Получить только возвраты
client.get_receipt_requests({type: 'returns'})
# Получить все продажи в статусе "error"
client.get_receipt_requests({type: 'sales', status: 'error'})
# Получить чек по заказу с указанным ID
order_id = '12345'
client.get_receipt_requests({order_id: order_id})Регистрация чека (продажа)
Описание параметров: https://www.ekam.ru/page/online-api#reg
receipt_params = {
  "order_id" => "91421af3",
  "order_number" => "1014",
  "type" => "sale",
  "email" => "john@example.net",
  "phone_number" => "79650000000",
  "should_print" => true,
  "cash_amount" => 201.1,
  "electron_amount" => 0,
  "lines" => [
    {
      "price" => 10,
      "quantity" => 2,
      "title"=> "Плюшевый мишка",
      "total_price" => 20,
      "vat_rate" => null
    }
  ]
}
client.create_receipt_request!(receipt_params)Регистрация чека (возврат)
receipt_params = {
  "order_id" => "91421af3",
  "order_number" => "1014",
  "type" => "return",
  "email" => "john@example.net",
  "phone_number" => "79650000000",
  "should_print" => true,
  "cash_amount" => 201.1,
  "electron_amount" => 0,
  "lines" => [
    {
      "price" => 10,
      "quantity" => 2,
      "title"=> "Плюшевый мишка",
      "total_price" => 20,
      "vat_rate" => null
    }
  ]
}
client.create_receipt_request!(receipt_params)Закрытие смены
client.close_shift!