tboyko/apple_vpp


Ruby bindings for the Apple VPP Managed App License Distribution API

License: MIT

Language: Ruby


apple_vpp

Ruby bindings for the Apple VPP Managed App License Distribution API.

Installation

Add this line to your application's Gemfile:

gem 'apple_vpp'

And then execute:

$ bundle

Or install it yourself as:

$ gem install apple_vpp

Usage

Use the library like this:

s_token = File.read './from_apple_portal.vpptoken'

c = AppleVPP::Client.new s_token

resp = c.get_users

c.edit_user user_id: resp[:users].first[:user_id],
            email:   'youremail@example.org'

Methods

For information beyond what is included here, refer to the "Mobile Device Management Protocol Reference" documentation on Apple's Developer site.

associate_license_with_user

One of these is required:

  • user_id
  • client_user_id_str

One of these is required:

  • adam_id
  • license_id

Optional:

  • pricing_param

client_config

Optional:

  • client_context
  • apn_token

disassociate_license_from_user

Required:

  • license_id

edit_user

One of these is required:

  • user_id
  • client_user_id_str

Optional:

  • email

get_assets

Optional:

  • include_license_counts

get_licenses

Optional:

  • since_modified_token
  • adam_id
  • pricing_param

get_user

One of these is required:

  • user_id
  • client_user_id_str

Optional:

  • its_id_hash

get_users

Optional:

  • since_modified_token
  • include_retired

manage_licenses_by_adam_id_src

Required:

  • adam_id_str
  • pricing_param

One (and only one) of these are required:

  • associate_client_user_id_strs
  • associate_serial_numbers
  • disassociate_client_user_id_strs
  • disassociate_serial_numbers

Optional:

  • notify_disassociation

register_user

Required:

  • client_user_id_str

Optional:

  • email

retire_user

One of these is required:

  • user_id
  • client_user_id_str

Error Handling

Apple API Errors

Should an error be reported by the Apple API service, the library will raise a custom error class that will correspond to the Apple error code like so:

AppleVPP::Error::Code#{error_code}

A message will also be provided with the error.

503 Service Unavailable Errors

The Apple API service may return a 503 Service Unavailable error if the service is overwhelmed or if your client is being too aggressive. In this scenario, apple_vpp will raise AppleVPP::Error::ServiceUnavailable. The raised error will include a method .retry_in_seconds which returns an integer value, in seconds, of how long you should wait before retrying your request. The raw Retry-After header that Apple returns is also available via .retry_after.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Project Statistics

Sourcerank 4
Repository Size 229 KB
Stars 6
Forks 3
Watchers 1
Open issues 0
Dependencies 4
Contributors 3
Tags 10
Created
Last updated
Last pushed

Top Contributors See all

Taylor Boyko Albert Wang Velkitor

Recent Tags See all

v3.1.2 November 16, 2015
v3.1.1 July 22, 2015
v3.1.0 July 09, 2015
v3.0.2 September 29, 2014
v3.0.1 January 29, 2014
v3.0.0 January 20, 2014
v2.1.0 January 15, 2014
v2.0.0 December 16, 2013
v1.0.1 November 21, 2013
v1.0.0 November 21, 2013

Something wrong with this page? Make a suggestion

Last synced: 2018-06-15 19:36:41 UTC

Login to resync this repository