Skip to content

Latest commit

 

History

History
691 lines (495 loc) · 49.9 KB

ingram-micro-integration-setup.md

File metadata and controls

691 lines (495 loc) · 49.9 KB

Ingram Micro Integration Setup

Integrating Rewst with Ingram Micro Cloud Marketplace offers users a seamless and efficient way to access and manage cloud services and subscriptions. With the integration, Rewst users can leverage the vast catalog of cloud solutions available in the Ingram Micro Cloud Marketplace, making it easier to discover, provision, and manage cloud services within the Rewst platform. Users can streamline the procurement and provisioning processes, track usage and billing, and efficiently manage their cloud subscriptions, all from a single integrated platform. The integration empowers users to maximize the value of cloud services, simplify their workflows, and ensure a seamless experience when working with cloud solutions through Rewst and the Ingram Micro Cloud Marketplace.

Setup

{% hint style="info" %} Contact Ingram Micro Integration Support at marketplacepsa@ingrammicro.com if you don’t have access to your marketplace API credentials. {% endhint %}

  1. Create a new Staff Account for the Rewst Application.
  2. Name this user rewst and ensure that you generate a safe, unique password.
  3. Activate the API from the Ingram Cloud Marketplace. You can only have a single user assigned to the Marketplace API App that you create.
    • The user must be activated in the portal on the main "Users" page.
    • When you click the user, it may have an orange bar that says the user needs to accept the invite in their mail.
    • As an admin, you can activate the account manually for them and then reset the password if required.
  4. Navigate to the integrations page in Rewst.
  5. Click on the Ingram Micro Cloud integration.
  6. Fill out the configuration form:
    • Username: This is the username of the user associated with the API. Clicking on the "Marketplace API" menu on the left navigation will show you the username.
    • Password: The password is the password of that account. This can be set in the "Users" section of the control panel. The right user will match the "Username" under "User Settings".
    • Subscription Key: The subscription key can then be found on the Marketplace API.
  7. Click on the Save Configuration button.

Actions

Customers

List Customers

Get a list of customers and their basic details.

GET /customers

Key Type Description
name String (?) Find customers that are similar to the provided name.
email String (?) Find customers that have a contact person with the provided email address.
externalId String (?) Find customers that have an external ID assigned equal to the provided ID.
resellerId Im Cloud Reseller id None Provided

Create Customer

Create a customer in the platform and associate it with the reseller that sends this request.

POST /customers

Key Type Description
externalId String (?) Find customers that have an external ID assigned equal to the provided ID.
attributes String (?) None Provided
status String None Provided
name String (?) The name of the account's company
language String (?) The language for the account's notifications and the defaultlanguage for the user panel login
taxRegId String (?) The tax registration ID that is used by the platform in tax calculation and determining tax exemption.

Get Customer

Get extended details about a specific customer in the platform.

GET /customers/{id}

Key Type Description
id Im Cloud Customer id None Provided

Update Customer

Update details and status of the existing customer.

PATCH /customers/{id}

Key Type Description
id* Im Cloud Customer id None Provided
externalId String (?) Find customers that have an external ID assigned equal to the provided ID.
attributes String (?) None Provided
status String None Provided
name String (?) The name of the account's company
language String (?) The language for the account's notifications and the defaultlanguage for the user panel login
taxRegId String (?) The tax registration ID that is used by the platform in tax calculation and determining tax exemption.

List Reseller Customer(S)

Get a list of customers and their basic details for the specified reseller.

GET /resellers/{id}/customers

Key Type Description
id* Im Cloud Reseller id None Provided
name String (?) Find customers that are similar to the provided name.
email String (?) Find customers that have a contact person with the provided email address.
externalId String (?) Find customers that have an external ID assigned equal to the provided ID.

Create Reseller Customer

Create a customer in the platform and associate it with the specified reseller.

POST /resellers/{id}/customers

Key Type Description
id* Im Cloud Reseller id None Provided
externalId String (?) Find customers that have an external ID assigned equal to the provided ID.
attributes String (?) None Provided
status String None Provided
name String (?) The name of the account's company
language String (?) The language for the account's notifications and the defaultlanguage for the user panel login
taxRegId String (?) The tax registration ID that is used by the platform in tax calculation and determining tax exemption.

Objects

Address - Customers

Key Type Description
streetAddress String (?) None Provided
addressExtension String (?) Secondary information in the address such as apartment or suite number.
postalCode String (?) The postal code for the specified street address.
city String (?) The city of the postal address.
state String (?) The state (if applicable) of the city (mandatory for certain countries).
countryCode String None Provided

Contactperson - Customers

Key Type Description
type String This defines the contact type.
firstName String (?) This is the first name of the contact.
lastName String (?) This is the last name of the contact.
email String (?) This is the email address of the contact.
phoneNumber String (?) This is the phone number of the contact in ITU-T E.164 notation. Extension numbers may be added by adding a '#' at the end.
login String (?) This is an optional parameter (only for the contactPerson of type admin) used when you musthave a certain login name for a customer administrator instead of an automatically generated one.
password String (?) This is a password assigned to the administrator login.The password strength must comply with the quality level requirements in the platform. Typically, it must beat least 7-character length, including letters in upper and lower cases, digits, and special characters.

Orders

Get Order

Get extended details of a specific order.

GET /orders/{id}

Key Type Description
id Im Cloud Order id None Provided

Update Order

Update existing order properties and status.

PATCH /orders/{id}

Key Type Description
id* Im Cloud Order id None Provided
customerId Im Cloud Customer id None Provided
subscriptionId Im Cloud Subscription id None Provided
orderNumber Im Cloud Order orderNumber None Provided
type String None Provided
poNumber String (?) The purchase order number provided by the customer.
creationDate String (?) The date and time when the order was created in the platform.
provisioningDate String (?) The date and time when the order was provisioning in the platform.
status String None Provided
attributes String (?) The dictionary of custom attributes
creditCheck String (?) Defines whether customer's credit should be checked on order processing.
autorenewal String (?) Migration Order - Subscription Auto Renewal Flag
startDate String (?) None Provided
migrationDate String (?) None Provided
expirationDate String (?) None Provided
lastBillingDate String (?) None Provided
nextBillingDate String (?) None Provided
migrationProgram String (?) None Provided
planId Im Cloud Service Plan id None Provided
billingModel String None Provided
scheduledOn String (?) None Provided

List Orders

Get basic details of orders on the platform.

GET /orders

Key Type Description
customerId Im Cloud Customer id None Provided
subscriptionId Im Cloud Subscription id None Provided
orderNumber Im Cloud Order Number orderNumber None Provided
status String (?) None Provided
creationTimeFrom String (?) This is the beginning of a specific period of time used to search for orders created during that same period.
creationTimeTo String (?) This is the end of a specific period of time used to search for orders
statusCode String (?) Internal status code of the order

Create Order

Place an order for a set of products for a specific customer.

POST /orders

Key Type Description
customerId Im Cloud Customer id None Provided
subscriptionId Im Cloud Subscription id None Provided
orderNumber Im Cloud Order orderNumber None Provided
type String None Provided
poNumber String (?) The purchase order number provided by the customer.
creationDate String (?) The date and time when the order was created in the platform.
provisioningDate String (?) The date and time when the order was provisioning in the platform.
status String None Provided
attributes String (?) The dictionary of custom attributes
creditCheck String (?) Defines whether customer's credit should be checked on order processing.
autorenewal String (?) Migration Order - Subscription Auto Renewal Flag
startDate String (?) None Provided
migrationDate String (?) None Provided
expirationDate String (?) None Provided
lastBillingDate String (?) None Provided
nextBillingDate String (?) None Provided
migrationProgram String (?) None Provided
planId Im Cloud Service Plan id None Provided
billingModel String None Provided
scheduledOn String (?) None Provided

Estimate An Order Price

Get estimated prices of an order.

POST /orders/estimate

Key Type Description
customerId Im Cloud Customer id None Provided
subscriptionId Im Cloud Subscription id None Provided
orderNumber Im Cloud Order orderNumber None Provided
type String None Provided
poNumber String (?) The purchase order number provided by the customer.
creationDate String (?) The date and time when the order was created in the platform.
provisioningDate String (?) The date and time when the order was provisioning in the platform.
status String None Provided
attributes String (?) The dictionary of custom attributes
creditCheck String (?) Defines whether customer's credit should be checked on order processing.
autorenewal String (?) Migration Order - Subscription Auto Renewal Flag
startDate String (?) None Provided
migrationDate String (?) None Provided
expirationDate String (?) None Provided
lastBillingDate String (?) None Provided
nextBillingDate String (?) None Provided
migrationProgram String (?) None Provided
planId Im Cloud Service Plan id None Provided
billingModel String None Provided
scheduledOn String (?) None Provided

List Reseller's Orders

Get basic details of orders in the platform for the specified reseller.

GET /resellers/{id}/orders

Key Type Description
id Im Cloud Reseller id None Provided
customerId Im Cloud Customer id None Provided
subscriptionId Im Cloud Subscription id None Provided
status String (?) None Provided
creationTimeFrom String (?) This is the beginning of a specific period of time used to search for orders created during that same period.
creationTimeTo String (?) This is the end of a specific period of time used to search for orders

Objects - Orders

Total - Orders

Key Type Description
currency String (?) The currency code to be used for charging.
amount String (?) Amount of order.

Orderdetail - Orders

Key Type Description
type String None Provided
mpn String (?) None Provided
productId Im Cloud Product mpn None Provided
description String (?) None Provided
quantity String (?) None Provided

Subscriptionperiod - Orders

Key Type Description
type String (?) The period duration type.
duration String (?) The period duration.

Product - Orders

Key Type Description
mpn String (?) None Provided
vendor String (?) None Provided
newMPN String (?) None Provided
name String (?) None Provided
quantity String (?) The number of ordered product items.
subscriptionId Im Cloud Subscription id None Provided

Durationoforderdetail - Orders

Key Type Description
type String (?) None Provided
duration String (?) None Provided

Unitprice - Orders

Key Type Description
currency String (?) None Provided
amount String (?) None Provided

Astructurerepresentingthetotalcalculatedprice - Orders

Key Type Description
currency String (?) None Provided
amount String (?) None Provided

Astructurerepresentingthediscount - Orders

Key Type Description
type String None Provided
value String (?) None Provided
amount String (?) None Provided

Astructurerepresentingthetaxamount - Orders

Key Type Description
currency String (?) None Provided
amount String (?) None Provided

Billingperiod - Orders

Key Type Description
type String (?) None Provided
duration String (?) None Provided

Extendedprice - Orders

Key Type Description
currency String (?) None Provided
amount String (?) None Provided

Deal - Orders

Key Type Description
freezePrices String (?) None Provided

Parameter - Orders

Key Type Description
name String (?) None Provided
value String (?) None Provided
structured_value String (?) None Provided

Agreement - Orders

Key Type Description
sellerId Im Cloud Reseller id None Provided
buyerId Im Cloud Customer id None Provided

Price - Orders

Key Type Description
currency String (?) None Provided
amount String (?) None Provided
type String None Provided

Discount - Orders

Key Type Description
applicableTo Array Applicability to order types.

Discountprice - Orders

Key Type Description
currency String (?) None Provided
amount String (?) None Provided
type String None Provided

Products

List Products

Get a list of products available for the requester to sell or resell with details included.

GET /products

Key Type Description
name String (?) None Provided
serviceName String (?) None Provided
mpn String (?) MPN value
vendor String (?) None Provided

Reports

List Reports

Get a list of the reseller's rated data reports exported during the specified period.

GET /reports

Key Type Description
name String (?) The name of the requested reports.
format String (?) The format filter of the requested reports
status String (?) The status filter of the requested reports
type String (?) The type filter of the requested reports
from String (?) The first day of the requested period.
to String (?) The last day of the requested period.

Schedule A One Time Report

Schedule the generation of a one-time report.

POST /reports

Key Type Description
name String (?) The preconfigured report name as defined in the platform. (i.e. Daily Report)
customizationName String (?) None Provided
status String The report generation status.
type String The report generation type.
format String The report file format.
creationDate String (?) The report file creation date and time.
startDate String (?) The report period start date and time.
endDate String (?) The report period end date and time.
downloadUrl String (?) The URL of a specific report file.

Get Report

Get extended details about a specific report in the platform.

GET /reports/{reportId}

Key Type Description
reportId* Im Cloud Report id None Provided

Resellers

List Resellers

Get a list of resellers and their basic details.

GET /resellers

Key Type Description
name String (?) None Provided
email String (?) None Provided
externalId String (?) Find customers that have an external ID assigned equal to the provided ID.

Create Reseller

POST /resellers

Key Type Description
externalId String (?) Find customers that have an external ID assigned equal to the provided ID.
attributes String (?) None Provided
status String None Provided
name String (?) The name of the account's company
language String (?) The language for the account's notifications and the defaultlanguage for the user panel login
taxRegId String (?) The tax registration ID that is used by the platform in tax calculation and determining tax exemption.
currency String (?) Reseller currency
taxationProviderName String (?) Reseller taxation engine name
customerClass String (?) None Provided

Get Reseller

Get extended details about a specific reseller in the platform.

GET /resellers/{id}

Key Type Description
id* Im Cloud Reseller id None Provided

Update Reseller

Update details of the existing reseller.

PATCH /resellers/{id}

Key Type Description
id* Im Cloud Reseller id None Provided
externalId String (?) Find customers that have an external ID assigned equal to the provided ID.
attributes String (?) None Provided
status String None Provided
name String (?) The name of the account's company
language String (?) The language for the account's notifications and the defaultlanguage for the user panel login
taxRegId String (?) The tax registration ID that is used by the platform in tax calculation and determining tax exemption.
currency String (?) Reseller currency
taxationProviderName String (?) Reseller taxation engine name
customerClass String (?) None Provided

Objects - Resellers

Address - Resellers

Key Type Description
streetAddress String (?) None Provided
addressExtension String (?) Secondary information in the address such as apartment or suite number.
postalCode String (?) The postal code for the specified street address.
city String (?) The city of the postal address.
state String (?) The state (if applicable) of the city (mandatory for certain countries).
countryCode String None Provided

Contactperson - Resellers

Key Type Description
type String This defines the contact type.
firstName String (?) This is the first name of the contact.
lastName String (?) This is the last name of the contact.
email String (?) This is the email address of the contact.
phoneNumber String (?) This is the phone number of the contact in ITU-T E.164 notation. Extension numbers may be added by adding a '#' at the end.
login String (?) This is an optional parameter (only for the contactPerson of type admin) used when you musthave a certain login name for a customer administrator instead of an automatically generated one.
password String (?) This is a password assigned to the administrator login.The password strength must comply with the quality level requirements in the platform. Typically, it must beat least 7-character length, including letters in upper and lower cases, digits, and special characters.

Service Plans

List Service Plans

Get basic details of service plans in the platform.

GET /plans

Get Service Plan

Get extended details about a specific service plan with all possible switches in the platform.

GET /plans/{id}

Key Type Description
id* Im Cloud Service Plan id None Provided

Subscriptions

List Subscriptions

Get a list of subscriptions belonging to the customers of the reseller that sends the request.

GET /subscriptions

Key Type Description
customerId Im Cloud Customer id None Provided
creationDateFrom String (?) This is the beginning of a specific period of time used to search for orders created during that same period.
creationDateTo String (?) This is the end of a specific period of time used to search for orders
status String (?) None Provided

Get Subscription

Get extended details of a specific subscription from the platform.

GET /subscriptions/{id}

Key Type Description
id* Im Cloud Subscription id None Provided

Update Subscription Pricing Details

PATCH /subscriptions/{id}/specialPricing

Key Type Description
id* Im Cloud Subscription id None Provided

Update Subscription

Update some of the subscription details.

POST /subscriptions/{id}

Key Type Description
id* Im Cloud Subscription id None Provided
attributes String (?) None Provided
renewalStatus String (?) None Provided

Objects - Subscriptions

Product - Subscriptions

Key Type Description
mpn String (?) None Provided
id Im Cloud Product mpn None Provided

Unitprice - Subscriptions

Key Type Description
currency String None Provided
amount String (?) None Provided

Unitcost - Subscriptions

Key Type Description
currency String None Provided
amount String (?) None Provided

Unitprovidercost - Subscriptions

Key Type Description
currency String None Provided
amount String (?) None Provided

Validations

Validate Product Activation Parameters

Validate activation parameters for a set of products.

POST /validation/parameters