You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

ordercloud-ng-sdk

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ordercloud-ng-sdk

OrderCloud AngularJS 1.x SDK

1.0.27
latest
Source
npmnpm
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

OrderCloud SDK

An AngularJs SDK for OrderCloud API

Table of Contents

Getting Started

$ bower install ordercloud-angular-sdk --save-dev

Or just include the output in the dist folder directly in your project.

REQUIREMENTS

This sdk is to always be used in conjunction with another angular project. You must also define some variable constants in the referecing application.

angular.module('orderCloud', [])
.constant('clientid', '...')
.constant('authurl', '...')
.constant('apiurl', '...')

In some cases, your app will need to access multiple buyer companies, so the buyerid is not stored as a constant. Instead, the buyerid is stored in an AngularJS factory named BuyerID within this sdk. In order to set an initial/default buyerid, add a run function in addition to the above constants.

.run(function(BuyerID) { OrderCloud.BuyerID.Set('BUYERIDHERE'); })

The BuyerID function can be used within any AngularJS controller and/or factory within your application in order to change which buyerid should be used. Simply inject the BuyerID factory into your controller or factory and call OrderCloud.BuyerID.Set('NEWIDHERE');. If needed, OrderCloud.BuyerID().Get() will return the buyerid that is currently set.

The CatalogID function can be used within any AngularJS controller and/or factory within your application in order to change which catalogid should be used. Simply inject the CatalogID factory into your controller or factory and call OrderCloud.CatalogID.Set('NEWIDHERE');. If needed, OrderCloud.CatalogID().Get() will return the catalogid that is currently set.

API RESOURCES AND METHODS

SecurityProfiles

angular.module('orderCloud.sdk).factory(SecurityProfiles, SecurityProfilesFactory)

Get a Single Security Profile

OrderCloud.SecurityProfiles.Get(securityProfileID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
securityProfileIDstringID of the security profile.

Response Body Sample

{
  "ID": "…",
  "IsDevProfile": false,
  "Name": "…",
  "Roles": [
    "…"
  ]
}

Get a List of Security Profiles

OrderCloud.SecurityProfiles.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "IsDevProfile": false,
      "Name": "…",
      "Roles": [
        "…"
      ]
    }
  ]
}

List Assignments

OrderCloud.SecurityProfiles.ListAssignments(securityProfileID,userID,userGroupID,level,page,pageSize).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
securityProfileIDstringID of the security profile.
userIDstringID of the user.
userGroupIDstringID of the user group.
levelstringLevel of the security profile.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "SecurityProfileID": "…",
      "BuyerID": "…",
      "UserID": "…",
      "UserGroupID": "…"
    }
  ]
}

Delete Assignment

OrderCloud.SecurityProfiles.DeleteAssignment(securityProfileID,userID,userGroupID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
securityProfileIDstringID of the security profile.
userIDstringID of the user.
userGroupIDstringID of the user group.

Save Assignment

OrderCloud.SecurityProfiles.SaveAssignment(assignment).then(successFn).catch(errorFn);

Request Body Sample

{
  "SecurityProfileID": "…",
  "BuyerID": "…",
  "UserID": "…",
  "UserGroupID": "…"
}

ForgottenPassword

angular.module('orderCloud.sdk).factory(ForgottenPassword, ForgottenPasswordFactory)

Send Verification Code

OrderCloud.ForgottenPassword.SendVerificationCode(passwordResetRequest).then(successFn).catch(errorFn);

Request Body Sample

{
  "ClientID": "…",
  "Email": "…",
  "Username": "…",
  "URL": "…"
}

Reset Password

OrderCloud.ForgottenPassword.ResetPassword(verificationCode,passwordReset).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
verificationCodestringVerification code of the forgotten password.

Request Body Sample

{
  "ClientID": "…",
  "Username": "…",
  "Password": "…"
}

Me

angular.module('orderCloud.sdk).factory(Me, MeFactory)

"Me" is a container for read-only endpoints that return a filtered view of things that the current buyer user is allowed to see, i.e. things that they are assigned to either directly or as a member of a buyer organization or user group. It also provides ways for a user to update or change their own information.

Get the Current Authenticated User

OrderCloud.Me.Get().then(successFn).catch(errorFn);

Response Body Sample

{
  "ID": "…",
  "Username": "…",
  "FirstName": "…",
  "LastName": "…",
  "Email": "…",
  "Phone": "…",
  "TermsAccepted": null,
  "Active": false,
  "xp": null,
  "AvailableRoles": [
    "…"
  ]
}

Update the Currently Authenticated User

OrderCloud.Me.Update(user).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Username": "…",
  "Password": "…",
  "FirstName": "…",
  "LastName": "…",
  "Email": "…",
  "Phone": "…",
  "TermsAccepted": null,
  "Active": false,
  "xp": null
}

Patch the Currently Authenticated User.

OrderCloud.Me.Patch(user).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Username": "…",
  "Password": "…",
  "FirstName": "…",
  "LastName": "…",
  "Email": "…",
  "Phone": "…",
  "TermsAccepted": null,
  "Active": false,
  "xp": null
}

Create From Temp User

OrderCloud.Me.CreateFromTempUser(user,tempUserToken).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
tempUserTokenstringTemp user token of the me.

Request Body Sample

{
  "ID": "…",
  "Username": "…",
  "Password": "…",
  "FirstName": "…",
  "LastName": "…",
  "Email": "…",
  "Phone": "…",
  "TermsAccepted": null,
  "Active": false,
  "xp": null
}

CostCenters

angular.module('orderCloud.sdk).factory(CostCenters, CostCentersFactory)

"Me" is a container for read-only endpoints that return a filtered view of things that the current buyer user is allowed to see, i.e. things that they are assigned to either directly or as a member of a buyer organization or user group. It also provides ways for a user to update or change their own information.

List Cost Centers

OrderCloud.CostCenters.ListCostCenters(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Description": "…",
      "xp": null
    }
  ]
}

UserGroups

angular.module('orderCloud.sdk).factory(UserGroups, UserGroupsFactory)

"Me" is a container for read-only endpoints that return a filtered view of things that the current buyer user is allowed to see, i.e. things that they are assigned to either directly or as a member of a buyer organization or user group. It also provides ways for a user to update or change their own information.

List User Groups

OrderCloud.UserGroups.ListUserGroups(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Description": "…",
      "xp": null
    }
  ]
}

Addresses

angular.module('orderCloud.sdk).factory(Addresses, AddressesFactory)

"Me" is a container for read-only endpoints that return a filtered view of things that the current buyer user is allowed to see, i.e. things that they are assigned to either directly or as a member of a buyer organization or user group. It also provides ways for a user to update or change their own information.

List Addresses

OrderCloud.Addresses.ListAddresses(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Shipping": false,
      "Billing": false,
      "Editable": false,
      "CompanyName": "…",
      "FirstName": "…",
      "LastName": "…",
      "Street1": "…",
      "Street2": "…",
      "City": "…",
      "State": "…",
      "Zip": "…",
      "Country": "…",
      "Phone": "…",
      "AddressName": "…",
      "xp": null
    }
  ]
}

Create Address

OrderCloud.Addresses.CreateAddress(address).then(successFn).catch(errorFn);

Request Body Sample

{
  "Shipping": false,
  "Billing": false,
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Get Address

OrderCloud.Addresses.GetAddress(addressID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
addressIDstringID of the address.

Response Body Sample

{
  "ID": "…",
  "Shipping": false,
  "Billing": false,
  "Editable": false,
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Update Address

OrderCloud.Addresses.UpdateAddress(addressID,address).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
addressIDstringID of the address.

Request Body Sample

{
  "Shipping": false,
  "Billing": false,
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Patch Address

OrderCloud.Addresses.PatchAddress(addressID,address).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
addressIDstringID of the address.

Request Body Sample

{
  "Shipping": false,
  "Billing": false,
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Delete Address

OrderCloud.Addresses.DeleteAddress(addressID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
addressIDstringID of the address.

CreditCards

angular.module('orderCloud.sdk).factory(CreditCards, CreditCardsFactory)

"Me" is a container for read-only endpoints that return a filtered view of things that the current buyer user is allowed to see, i.e. things that they are assigned to either directly or as a member of a buyer organization or user group. It also provides ways for a user to update or change their own information.

Create Credit Card

OrderCloud.CreditCards.CreateCreditCard(creditCard).then(successFn).catch(errorFn);

Request Body Sample

{
  "Token": "…",
  "CardType": "…",
  "PartialAccountNumber": "…",
  "CardholderName": "…",
  "ExpirationDate": null,
  "xp": null
}

List Credit Cards

OrderCloud.CreditCards.ListCreditCards(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Editable": false,
      "Token": "…",
      "DateCreated": null,
      "CardType": "…",
      "PartialAccountNumber": "…",
      "CardholderName": "…",
      "ExpirationDate": null,
      "xp": null
    }
  ]
}

Get Credit Card

OrderCloud.CreditCards.GetCreditCard(creditcardID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
creditcardIDstringID of the creditcard.

Response Body Sample

{
  "ID": "…",
  "Editable": false,
  "Token": "…",
  "DateCreated": null,
  "CardType": "…",
  "PartialAccountNumber": "…",
  "CardholderName": "…",
  "ExpirationDate": null,
  "xp": null
}

Update Credit Card

OrderCloud.CreditCards.UpdateCreditCard(creditcardID,creditCard).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
creditcardIDstringID of the creditcard.

Request Body Sample

{
  "Token": "…",
  "CardType": "…",
  "PartialAccountNumber": "…",
  "CardholderName": "…",
  "ExpirationDate": null,
  "xp": null
}

Patch Credit Card

OrderCloud.CreditCards.PatchCreditCard(creditcardID,creditCard).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
creditcardIDstringID of the creditcard.

Request Body Sample

{
  "Token": "…",
  "CardType": "…",
  "PartialAccountNumber": "…",
  "CardholderName": "…",
  "ExpirationDate": null,
  "xp": null
}

Delete Credit Card

OrderCloud.CreditCards.DeleteCreditCard(creditcardID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
creditcardIDstringID of the creditcard.

Categories

angular.module('orderCloud.sdk).factory(Categories, CategoriesFactory)

"Me" is a container for read-only endpoints that return a filtered view of things that the current buyer user is allowed to see, i.e. things that they are assigned to either directly or as a member of a buyer organization or user group. It also provides ways for a user to update or change their own information.

List Categories

OrderCloud.Categories.ListCategories(listArgs,depth,catalogID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
depthstringDepth of the category.
catalogIDstringID of the catalog.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Description": "…",
      "xp": null,
      "ListOrder": 1,
      "Active": false,
      "ParentID": "…",
      "ChildCount": 0
    }
  ]
}

Products

angular.module('orderCloud.sdk).factory(Products, ProductsFactory)

"Me" is a container for read-only endpoints that return a filtered view of things that the current buyer user is allowed to see, i.e. things that they are assigned to either directly or as a member of a buyer organization or user group. It also provides ways for a user to update or change their own information.

List Products

OrderCloud.Products.ListProducts(listArgs,categoryID,catalogID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
categoryIDstringID of the category.
catalogIDstringID of the catalog.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ReplenishmentPriceSchedule": {
        "ID": "…",
        "Name": "…",
        "ApplyTax": false,
        "ApplyShipping": false,
        "MinQuantity": null,
        "MaxQuantity": null,
        "UseCumulativeQuantity": false,
        "RestrictedQuantity": false,
        "OrderType": "Standard",
        "PriceBreaks": [
          {
            "Quantity": 0,
            "Price": 0.0
          }
        ],
        "xp": null
      },
      "StandardPriceSchedule": {
        "ID": "…",
        "Name": "…",
        "ApplyTax": false,
        "ApplyShipping": false,
        "MinQuantity": null,
        "MaxQuantity": null,
        "UseCumulativeQuantity": false,
        "RestrictedQuantity": false,
        "OrderType": "Standard",
        "PriceBreaks": [
          {
            "Quantity": 0,
            "Price": 0.0
          }
        ],
        "xp": null
      },
      "ID": "…",
      "Name": "…",
      "Description": "…",
      "QuantityMultiplier": 0,
      "ShipWeight": null,
      "ShipHeight": null,
      "ShipWidth": null,
      "ShipLength": null,
      "Active": false,
      "Type": "Static",
      "InventoryEnabled": false,
      "InventoryNotificationPoint": null,
      "VariantLevelInventory": false,
      "SpecCount": 0,
      "xp": null,
      "AllowOrderExceedInventory": false,
      "InventoryVisible": false,
      "VariantCount": 0,
      "ShipFromAddressID": "…"
    }
  ]
}

Get Product

OrderCloud.Products.GetProduct(productID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.

Response Body Sample

{
  "ReplenishmentPriceSchedule": {
    "ID": "…",
    "Name": "…",
    "ApplyTax": false,
    "ApplyShipping": false,
    "MinQuantity": null,
    "MaxQuantity": null,
    "UseCumulativeQuantity": false,
    "RestrictedQuantity": false,
    "OrderType": "Standard",
    "PriceBreaks": [
      {
        "Quantity": 0,
        "Price": 0.0
      }
    ],
    "xp": null
  },
  "StandardPriceSchedule": {
    "ID": "…",
    "Name": "…",
    "ApplyTax": false,
    "ApplyShipping": false,
    "MinQuantity": null,
    "MaxQuantity": null,
    "UseCumulativeQuantity": false,
    "RestrictedQuantity": false,
    "OrderType": "Standard",
    "PriceBreaks": [
      {
        "Quantity": 0,
        "Price": 0.0
      }
    ],
    "xp": null
  },
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "QuantityMultiplier": 0,
  "ShipWeight": null,
  "ShipHeight": null,
  "ShipWidth": null,
  "ShipLength": null,
  "Active": false,
  "Type": "Static",
  "InventoryEnabled": false,
  "InventoryNotificationPoint": null,
  "VariantLevelInventory": false,
  "SpecCount": 0,
  "xp": null,
  "AllowOrderExceedInventory": false,
  "InventoryVisible": false,
  "VariantCount": 0,
  "ShipFromAddressID": "…"
}

List Specs

OrderCloud.Products.ListSpecs(productID,listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "Options": [
        {
          "ID": "…",
          "Value": "…",
          "ListOrder": 0,
          "IsOpenText": false,
          "PriceMarkupType": null,
          "PriceMarkup": null,
          "xp": null
        }
      ],
      "ID": "…",
      "ListOrder": 0,
      "Name": "…",
      "DefaultValue": "…",
      "Required": false,
      "AllowOpenText": false,
      "DefaultOptionID": "…",
      "DefinesVariant": false,
      "xp": null
    }
  ]
}

Get Spec

OrderCloud.Products.GetSpec(productID,specID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.
specIDstringID of the spec.

Response Body Sample

{
  "Options": [
    {
      "ID": "…",
      "Value": "…",
      "ListOrder": 0,
      "IsOpenText": false,
      "PriceMarkupType": null,
      "PriceMarkup": null,
      "xp": null
    }
  ],
  "ID": "…",
  "ListOrder": 0,
  "Name": "…",
  "DefaultValue": "…",
  "Required": false,
  "AllowOpenText": false,
  "DefaultOptionID": "…",
  "DefinesVariant": false,
  "xp": null
}

Orders

angular.module('orderCloud.sdk).factory(Orders, OrdersFactory)

"Me" is a container for read-only endpoints that return a filtered view of things that the current buyer user is allowed to see, i.e. things that they are assigned to either directly or as a member of a buyer organization or user group. It also provides ways for a user to update or change their own information.

List Outgoing Orders

OrderCloud.Orders.ListOutgoingOrders(listArgs,from,to).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
fromdateLower bound of date range that the order was created (if outgoing) or submitted (if incoming).
todateUpper bound of date range that the order was created (if outgoing) or submitted (if incoming).
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Type": "Standard",
      "FromUserID": "…",
      "FromUserFirstName": "…",
      "FromUserLastName": "…",
      "BillingAddressID": "…",
      "BillingAddress": {
        "ID": "…",
        "CompanyName": "…",
        "FirstName": "…",
        "LastName": "…",
        "Street1": "…",
        "Street2": "…",
        "City": "…",
        "State": "…",
        "Zip": "…",
        "Country": "…",
        "Phone": "…",
        "AddressName": "…",
        "xp": null
      },
      "ShippingAddressID": "…",
      "Comments": "…",
      "LineItemCount": 0,
      "Status": "Unsubmitted",
      "DateCreated": null,
      "DateSubmitted": null,
      "DateApproved": null,
      "DateDeclined": null,
      "DateCanceled": null,
      "DateCompleted": null,
      "Subtotal": 0.0,
      "ShippingCost": 0.0,
      "TaxCost": 0.0,
      "PromotionDiscount": 0.0,
      "Total": 0.0,
      "IsSubmitted": false,
      "xp": null
    }
  ]
}

List Incoming Orders

OrderCloud.Orders.ListIncomingOrders(listArgs,from,to).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
fromdateLower bound of date range that the order was created (if outgoing) or submitted (if incoming).
todateUpper bound of date range that the order was created (if outgoing) or submitted (if incoming).
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Type": "Standard",
      "FromUserID": "…",
      "FromUserFirstName": "…",
      "FromUserLastName": "…",
      "BillingAddressID": "…",
      "BillingAddress": {
        "ID": "…",
        "CompanyName": "…",
        "FirstName": "…",
        "LastName": "…",
        "Street1": "…",
        "Street2": "…",
        "City": "…",
        "State": "…",
        "Zip": "…",
        "Country": "…",
        "Phone": "…",
        "AddressName": "…",
        "xp": null
      },
      "ShippingAddressID": "…",
      "Comments": "…",
      "LineItemCount": 0,
      "Status": "Unsubmitted",
      "DateCreated": null,
      "DateSubmitted": null,
      "DateApproved": null,
      "DateDeclined": null,
      "DateCanceled": null,
      "DateCompleted": null,
      "Subtotal": 0.0,
      "ShippingCost": 0.0,
      "TaxCost": 0.0,
      "PromotionDiscount": 0.0,
      "Total": 0.0,
      "IsSubmitted": false,
      "xp": null
    }
  ]
}

Get Order

OrderCloud.Orders.GetOrder(orderID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.

Response Body Sample

{
  "ID": "…",
  "Type": "Standard",
  "FromUserID": "…",
  "FromUserFirstName": "…",
  "FromUserLastName": "…",
  "BillingAddressID": "…",
  "BillingAddress": {
    "ID": "…",
    "CompanyName": "…",
    "FirstName": "…",
    "LastName": "…",
    "Street1": "…",
    "Street2": "…",
    "City": "…",
    "State": "…",
    "Zip": "…",
    "Country": "…",
    "Phone": "…",
    "AddressName": "…",
    "xp": null
  },
  "ShippingAddressID": "…",
  "Comments": "…",
  "LineItemCount": 0,
  "Status": "Unsubmitted",
  "DateCreated": null,
  "DateSubmitted": null,
  "DateApproved": null,
  "DateDeclined": null,
  "DateCanceled": null,
  "DateCompleted": null,
  "Subtotal": 0.0,
  "ShippingCost": 0.0,
  "TaxCost": 0.0,
  "PromotionDiscount": 0.0,
  "Total": 0.0,
  "IsSubmitted": false,
  "xp": null
}

Promotions

angular.module('orderCloud.sdk).factory(Promotions, PromotionsFactory)

"Me" is a container for read-only endpoints that return a filtered view of things that the current buyer user is allowed to see, i.e. things that they are assigned to either directly or as a member of a buyer organization or user group. It also provides ways for a user to update or change their own information.

List Promotions

OrderCloud.Promotions.ListPromotions(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Code": "…",
      "Name": "…",
      "RedemptionLimit": null,
      "RedemptionLimitPerUser": null,
      "RedemptionCount": 0,
      "Description": "…",
      "FinePrint": "…",
      "StartDate": null,
      "ExpirationDate": null,
      "EligibleExpression": "…",
      "ValueExpression": "…",
      "CanCombine": false,
      "xp": null
    }
  ]
}

Get Promotion

OrderCloud.Promotions.GetPromotion(promotionID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
promotionIDstringID of the promotion.

Response Body Sample

{
  "ID": "…",
  "Code": "…",
  "Name": "…",
  "RedemptionLimit": null,
  "RedemptionLimitPerUser": null,
  "RedemptionCount": 0,
  "Description": "…",
  "FinePrint": "…",
  "StartDate": null,
  "ExpirationDate": null,
  "EligibleExpression": "…",
  "ValueExpression": "…",
  "CanCombine": false,
  "xp": null
}

SpendingAccounts

angular.module('orderCloud.sdk).factory(SpendingAccounts, SpendingAccountsFactory)

"Me" is a container for read-only endpoints that return a filtered view of things that the current buyer user is allowed to see, i.e. things that they are assigned to either directly or as a member of a buyer organization or user group. It also provides ways for a user to update or change their own information.

List Spending Accounts

OrderCloud.SpendingAccounts.ListSpendingAccounts(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Balance": 0.0,
      "AllowAsPaymentMethod": false,
      "RedemptionCode": "…",
      "StartDate": null,
      "EndDate": null,
      "xp": null
    }
  ]
}

Get Spending Account

OrderCloud.SpendingAccounts.GetSpendingAccount(spendingAccountID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
spendingAccountIDstringID of the spending account.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Balance": 0.0,
  "AllowAsPaymentMethod": false,
  "RedemptionCode": "…",
  "StartDate": null,
  "EndDate": null,
  "xp": null
}

Orders

angular.module('orderCloud.sdk).factory(Orders, OrdersFactory)

An Order represents a business transaction between two parties. It typically consists of a collection of Line Items, a Payment Method, Tax and Shipping information, etc. The OrderCloud platform defines various "actions" that can be performed against Orders, such as Submit, Approve, Ship, etc. These actions transform the state of the order and often trigger external events such as financial transactions.

Get a Single Order

OrderCloud.Orders.Get(orderID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.

Response Body Sample

{
  "ID": "…",
  "Type": "Standard",
  "FromUserID": "…",
  "FromUserFirstName": "…",
  "FromUserLastName": "…",
  "BillingAddressID": "…",
  "BillingAddress": {
    "ID": "…",
    "CompanyName": "…",
    "FirstName": "…",
    "LastName": "…",
    "Street1": "…",
    "Street2": "…",
    "City": "…",
    "State": "…",
    "Zip": "…",
    "Country": "…",
    "Phone": "…",
    "AddressName": "…",
    "xp": null
  },
  "ShippingAddressID": "…",
  "Comments": "…",
  "LineItemCount": 0,
  "Status": "Unsubmitted",
  "DateCreated": null,
  "DateSubmitted": null,
  "DateApproved": null,
  "DateDeclined": null,
  "DateCanceled": null,
  "DateCompleted": null,
  "Subtotal": 0.0,
  "ShippingCost": 0.0,
  "TaxCost": 0.0,
  "PromotionDiscount": 0.0,
  "Total": 0.0,
  "IsSubmitted": false,
  "xp": null
}

Create New Order

OrderCloud.Orders.Create(order).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Type": "Standard",
  "FromUserID": "…",
  "BillingAddressID": "…",
  "ShippingAddressID": "…",
  "Comments": "…",
  "ShippingCost": 0.0,
  "TaxCost": 0.0,
  "xp": null
}

Create or Update Order

OrderCloud.Orders.Update(orderID,order).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.

Request Body Sample

{
  "ID": "…",
  "Type": "Standard",
  "FromUserID": "…",
  "BillingAddressID": "…",
  "ShippingAddressID": "…",
  "Comments": "…",
  "ShippingCost": 0.0,
  "TaxCost": 0.0,
  "xp": null
}

Delete Order

OrderCloud.Orders.Delete(orderID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.

List Outgoing

OrderCloud.Orders.ListOutgoing(from,to,listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
fromdateLower bound of date range that the order was created.
todateUpper bound of date range that the order was created.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Type": "Standard",
      "FromUserID": "…",
      "FromUserFirstName": "…",
      "FromUserLastName": "…",
      "BillingAddressID": "…",
      "BillingAddress": {
        "ID": "…",
        "CompanyName": "…",
        "FirstName": "…",
        "LastName": "…",
        "Street1": "…",
        "Street2": "…",
        "City": "…",
        "State": "…",
        "Zip": "…",
        "Country": "…",
        "Phone": "…",
        "AddressName": "…",
        "xp": null
      },
      "ShippingAddressID": "…",
      "Comments": "…",
      "LineItemCount": 0,
      "Status": "Unsubmitted",
      "DateCreated": null,
      "DateSubmitted": null,
      "DateApproved": null,
      "DateDeclined": null,
      "DateCanceled": null,
      "DateCompleted": null,
      "Subtotal": 0.0,
      "ShippingCost": 0.0,
      "TaxCost": 0.0,
      "PromotionDiscount": 0.0,
      "Total": 0.0,
      "IsSubmitted": false,
      "xp": null
    }
  ]
}

List Incoming

OrderCloud.Orders.ListIncoming(from,to,listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
fromdateLower bound of date range that the order was submitted.
todateUpper bound of date range that the order was submitted.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Type": "Standard",
      "FromUserID": "…",
      "FromUserFirstName": "…",
      "FromUserLastName": "…",
      "BillingAddressID": "…",
      "BillingAddress": {
        "ID": "…",
        "CompanyName": "…",
        "FirstName": "…",
        "LastName": "…",
        "Street1": "…",
        "Street2": "…",
        "City": "…",
        "State": "…",
        "Zip": "…",
        "Country": "…",
        "Phone": "…",
        "AddressName": "…",
        "xp": null
      },
      "ShippingAddressID": "…",
      "Comments": "…",
      "LineItemCount": 0,
      "Status": "Unsubmitted",
      "DateCreated": null,
      "DateSubmitted": null,
      "DateApproved": null,
      "DateDeclined": null,
      "DateCanceled": null,
      "DateCompleted": null,
      "Subtotal": 0.0,
      "ShippingCost": 0.0,
      "TaxCost": 0.0,
      "PromotionDiscount": 0.0,
      "Total": 0.0,
      "IsSubmitted": false,
      "xp": null
    }
  ]
}

List Approvals

OrderCloud.Orders.ListApprovals(orderID,listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ApprovalRuleID": "…",
      "ApprovingGroupID": "…",
      "Status": "Pending",
      "DateCreated": "0001-01-01T00:00:00+00:00",
      "DateCompleted": null,
      "ApproverID": "…",
      "ApproverUserName": "…",
      "ApproverEmail": "…",
      "Comments": "…"
    }
  ]
}

List Eligible Approvers

OrderCloud.Orders.ListEligibleApprovers(orderID,listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Username": "…",
      "FirstName": "…",
      "LastName": "…",
      "Email": "…",
      "Phone": "…",
      "TermsAccepted": null,
      "Active": false,
      "xp": null,
      "AvailableRoles": [
        "…"
      ]
    }
  ]
}

Partially Update Order

OrderCloud.Orders.Patch(orderID,partialOrder).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.

Request Body Sample

{
  "ID": "…",
  "Type": "Standard",
  "FromUserID": "…",
  "BillingAddressID": "…",
  "ShippingAddressID": "…",
  "Comments": "…",
  "ShippingCost": 0.0,
  "TaxCost": 0.0,
  "xp": null
}

Submit Order

OrderCloud.Orders.Submit(orderID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.

Response Body Sample

{
  "ID": "…",
  "Type": "Standard",
  "FromUserID": "…",
  "FromUserFirstName": "…",
  "FromUserLastName": "…",
  "BillingAddressID": "…",
  "BillingAddress": {
    "ID": "…",
    "CompanyName": "…",
    "FirstName": "…",
    "LastName": "…",
    "Street1": "…",
    "Street2": "…",
    "City": "…",
    "State": "…",
    "Zip": "…",
    "Country": "…",
    "Phone": "…",
    "AddressName": "…",
    "xp": null
  },
  "ShippingAddressID": "…",
  "Comments": "…",
  "LineItemCount": 0,
  "Status": "Unsubmitted",
  "DateCreated": null,
  "DateSubmitted": null,
  "DateApproved": null,
  "DateDeclined": null,
  "DateCanceled": null,
  "DateCompleted": null,
  "Subtotal": 0.0,
  "ShippingCost": 0.0,
  "TaxCost": 0.0,
  "PromotionDiscount": 0.0,
  "Total": 0.0,
  "IsSubmitted": false,
  "xp": null
}

Approve Order

OrderCloud.Orders.Approve(orderID,comments).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
commentsstringComments to be saved with the order approval.

Response Body Sample

{
  "ID": "…",
  "Type": "Standard",
  "FromUserID": "…",
  "FromUserFirstName": "…",
  "FromUserLastName": "…",
  "BillingAddressID": "…",
  "BillingAddress": {
    "ID": "…",
    "CompanyName": "…",
    "FirstName": "…",
    "LastName": "…",
    "Street1": "…",
    "Street2": "…",
    "City": "…",
    "State": "…",
    "Zip": "…",
    "Country": "…",
    "Phone": "…",
    "AddressName": "…",
    "xp": null
  },
  "ShippingAddressID": "…",
  "Comments": "…",
  "LineItemCount": 0,
  "Status": "Unsubmitted",
  "DateCreated": null,
  "DateSubmitted": null,
  "DateApproved": null,
  "DateDeclined": null,
  "DateCanceled": null,
  "DateCompleted": null,
  "Subtotal": 0.0,
  "ShippingCost": 0.0,
  "TaxCost": 0.0,
  "PromotionDiscount": 0.0,
  "Total": 0.0,
  "IsSubmitted": false,
  "xp": null
}

Decline Order

OrderCloud.Orders.Decline(orderID,comments).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
commentsstringComments to be saved with the order denial.

Response Body Sample

{
  "ID": "…",
  "Type": "Standard",
  "FromUserID": "…",
  "FromUserFirstName": "…",
  "FromUserLastName": "…",
  "BillingAddressID": "…",
  "BillingAddress": {
    "ID": "…",
    "CompanyName": "…",
    "FirstName": "…",
    "LastName": "…",
    "Street1": "…",
    "Street2": "…",
    "City": "…",
    "State": "…",
    "Zip": "…",
    "Country": "…",
    "Phone": "…",
    "AddressName": "…",
    "xp": null
  },
  "ShippingAddressID": "…",
  "Comments": "…",
  "LineItemCount": 0,
  "Status": "Unsubmitted",
  "DateCreated": null,
  "DateSubmitted": null,
  "DateApproved": null,
  "DateDeclined": null,
  "DateCanceled": null,
  "DateCompleted": null,
  "Subtotal": 0.0,
  "ShippingCost": 0.0,
  "TaxCost": 0.0,
  "PromotionDiscount": 0.0,
  "Total": 0.0,
  "IsSubmitted": false,
  "xp": null
}

Cancel Order

OrderCloud.Orders.Cancel(orderID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.

Response Body Sample

{
  "ID": "…",
  "Type": "Standard",
  "FromUserID": "…",
  "FromUserFirstName": "…",
  "FromUserLastName": "…",
  "BillingAddressID": "…",
  "BillingAddress": {
    "ID": "…",
    "CompanyName": "…",
    "FirstName": "…",
    "LastName": "…",
    "Street1": "…",
    "Street2": "…",
    "City": "…",
    "State": "…",
    "Zip": "…",
    "Country": "…",
    "Phone": "…",
    "AddressName": "…",
    "xp": null
  },
  "ShippingAddressID": "…",
  "Comments": "…",
  "LineItemCount": 0,
  "Status": "Unsubmitted",
  "DateCreated": null,
  "DateSubmitted": null,
  "DateApproved": null,
  "DateDeclined": null,
  "DateCanceled": null,
  "DateCompleted": null,
  "Subtotal": 0.0,
  "ShippingCost": 0.0,
  "TaxCost": 0.0,
  "PromotionDiscount": 0.0,
  "Total": 0.0,
  "IsSubmitted": false,
  "xp": null
}

Ship Order

OrderCloud.Orders.Ship(orderID,shipment).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.

Request Body Sample

{
  "ID": "…",
  "Shipper": "…",
  "DateShipped": null,
  "DateDelivered": null,
  "TrackingNumber": "…",
  "Cost": null,
  "Items": [
    {
      "OrderID": "…",
      "LineItemID": "…",
      "QuantityShipped": 0
    }
  ],
  "xp": null
}

Set Shipping Address

OrderCloud.Orders.SetShippingAddress(orderID,address).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.

Request Body Sample

{
  "ID": "…",
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Patch Shipping Address

OrderCloud.Orders.PatchShippingAddress(orderID,address).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.

Request Body Sample

{
  "ID": "…",
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Set Billing Address

OrderCloud.Orders.SetBillingAddress(orderID,address).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.

Request Body Sample

{
  "ID": "…",
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Patch Billing Address

OrderCloud.Orders.PatchBillingAddress(orderID,address).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.

Request Body Sample

{
  "ID": "…",
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Add Promotion

OrderCloud.Orders.AddPromotion(orderID,promoCode).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
promoCodestringPromo code of the order.

Response Body Sample

{
  "ID": "…",
  "Code": "…",
  "Name": "…",
  "RedemptionLimit": null,
  "RedemptionLimitPerUser": null,
  "RedemptionCount": 0,
  "Description": "…",
  "FinePrint": "…",
  "StartDate": null,
  "ExpirationDate": null,
  "EligibleExpression": "…",
  "ValueExpression": "…",
  "CanCombine": false,
  "xp": null
}

List Promotions

OrderCloud.Orders.ListPromotions(orderID,listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "Amount": 0.0,
      "ID": "…",
      "Code": "…",
      "Name": "…",
      "RedemptionLimit": null,
      "RedemptionLimitPerUser": null,
      "RedemptionCount": 0,
      "Description": "…",
      "FinePrint": "…",
      "StartDate": null,
      "ExpirationDate": null,
      "EligibleExpression": "…",
      "ValueExpression": "…",
      "CanCombine": false,
      "xp": null
    }
  ]
}

Remove Promotion

OrderCloud.Orders.RemovePromotion(orderID,promoCode).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
promoCodestringPromo code of the order.

Response Body Sample

{
  "ID": "…",
  "Type": "Standard",
  "FromUserID": "…",
  "FromUserFirstName": "…",
  "FromUserLastName": "…",
  "BillingAddressID": "…",
  "BillingAddress": {
    "ID": "…",
    "CompanyName": "…",
    "FirstName": "…",
    "LastName": "…",
    "Street1": "…",
    "Street2": "…",
    "City": "…",
    "State": "…",
    "Zip": "…",
    "Country": "…",
    "Phone": "…",
    "AddressName": "…",
    "xp": null
  },
  "ShippingAddressID": "…",
  "Comments": "…",
  "LineItemCount": 0,
  "Status": "Unsubmitted",
  "DateCreated": null,
  "DateSubmitted": null,
  "DateApproved": null,
  "DateDeclined": null,
  "DateCanceled": null,
  "DateCompleted": null,
  "Subtotal": 0.0,
  "ShippingCost": 0.0,
  "TaxCost": 0.0,
  "PromotionDiscount": 0.0,
  "Total": 0.0,
  "IsSubmitted": false,
  "xp": null
}

Transfer Temp User Order

OrderCloud.Orders.TransferTempUserOrder(tempUserToken).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
tempUserTokenstringTemp user token of the order.

LineItems

angular.module('orderCloud.sdk).factory(LineItems, LineItemsFactory)

A Line Item represents a single line on an Order. At a minimum, it contains a single Product SKU and a quantity. A line item may also include Spec values, a Cost Center, shipping details, date needed, and other custom information.

Get a Single Line Item

OrderCloud.LineItems.Get(orderID,lineItemID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
lineItemIDstringID of the line item.

Response Body Sample

{
  "ID": "…",
  "ProductID": "…",
  "Quantity": 0,
  "DateAdded": "0001-01-01T00:00:00+00:00",
  "QuantityShipped": 0,
  "UnitPrice": null,
  "LineTotal": 0.0,
  "CostCenter": "…",
  "DateNeeded": null,
  "ShippingAccount": "…",
  "ShippingAddressID": "…",
  "ShipFromAddressID": "…",
  "ShippingAddress": {
    "ID": "…",
    "CompanyName": "…",
    "FirstName": "…",
    "LastName": "…",
    "Street1": "…",
    "Street2": "…",
    "City": "…",
    "State": "…",
    "Zip": "…",
    "Country": "…",
    "Phone": "…",
    "AddressName": "…",
    "xp": null
  },
  "ShipFromAddress": {
    "ID": "…",
    "CompanyName": "…",
    "FirstName": "…",
    "LastName": "…",
    "Street1": "…",
    "Street2": "…",
    "City": "…",
    "State": "…",
    "Zip": "…",
    "Country": "…",
    "Phone": "…",
    "AddressName": "…",
    "xp": null
  },
  "Specs": [
    {
      "SpecID": "…",
      "Name": "…",
      "OptionID": "…",
      "Value": "…"
    }
  ],
  "xp": null
}

Get a List of Line Items

OrderCloud.LineItems.List(orderID,listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "ProductID": "…",
      "Quantity": 0,
      "DateAdded": "0001-01-01T00:00:00+00:00",
      "QuantityShipped": 0,
      "UnitPrice": null,
      "LineTotal": 0.0,
      "CostCenter": "…",
      "DateNeeded": null,
      "ShippingAccount": "…",
      "ShippingAddressID": "…",
      "ShipFromAddressID": "…",
      "ShippingAddress": {
        "ID": "…",
        "CompanyName": "…",
        "FirstName": "…",
        "LastName": "…",
        "Street1": "…",
        "Street2": "…",
        "City": "…",
        "State": "…",
        "Zip": "…",
        "Country": "…",
        "Phone": "…",
        "AddressName": "…",
        "xp": null
      },
      "ShipFromAddress": {
        "ID": "…",
        "CompanyName": "…",
        "FirstName": "…",
        "LastName": "…",
        "Street1": "…",
        "Street2": "…",
        "City": "…",
        "State": "…",
        "Zip": "…",
        "Country": "…",
        "Phone": "…",
        "AddressName": "…",
        "xp": null
      },
      "Specs": [
        {
          "SpecID": "…",
          "Name": "…",
          "OptionID": "…",
          "Value": "…"
        }
      ],
      "xp": null
    }
  ]
}

Create New Line Item

OrderCloud.LineItems.Create(orderID,lineItem).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.

Request Body Sample

{
  "ID": "…",
  "ProductID": "…",
  "Quantity": 0,
  "UnitPrice": null,
  "CostCenter": "…",
  "DateNeeded": null,
  "ShippingAccount": "…",
  "ShippingAddressID": "…",
  "ShipFromAddressID": "…",
  "Specs": [
    {
      "SpecID": "…",
      "OptionID": "…",
      "Value": "…"
    }
  ],
  "xp": null
}

Create or Update Line Item

OrderCloud.LineItems.Update(orderID,lineItemID,lineItem).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
lineItemIDstringID of the line item.

Request Body Sample

{
  "ID": "…",
  "ProductID": "…",
  "Quantity": 0,
  "UnitPrice": null,
  "CostCenter": "…",
  "DateNeeded": null,
  "ShippingAccount": "…",
  "ShippingAddressID": "…",
  "ShipFromAddressID": "…",
  "Specs": [
    {
      "SpecID": "…",
      "OptionID": "…",
      "Value": "…"
    }
  ],
  "xp": null
}

Delete Line Item

OrderCloud.LineItems.Delete(orderID,lineItemID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
lineItemIDstringID of the line item.

Partially Update Line Item

OrderCloud.LineItems.Patch(orderID,lineItemID,partialLineItem).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
lineItemIDstringID of the line item.

Request Body Sample

{
  "ID": "…",
  "ProductID": "…",
  "Quantity": 0,
  "UnitPrice": null,
  "CostCenter": "…",
  "DateNeeded": null,
  "ShippingAccount": "…",
  "ShippingAddressID": "…",
  "ShipFromAddressID": "…",
  "Specs": [
    {
      "SpecID": "…",
      "OptionID": "…",
      "Value": "…"
    }
  ],
  "xp": null
}

Set Shipping Address

OrderCloud.LineItems.SetShippingAddress(orderID,lineItemID,address).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
lineItemIDstringID of the line item.

Request Body Sample

{
  "ID": "…",
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Patch Shipping Address

OrderCloud.LineItems.PatchShippingAddress(orderID,lineItemID,partialAddress).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
lineItemIDstringID of the line item.

Request Body Sample

{
  "ID": "…",
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Payments

angular.module('orderCloud.sdk).factory(Payments, PaymentsFactory)

Get a Single Payment

OrderCloud.Payments.Get(orderID,paymentID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
paymentIDstringID of the payment.

Response Body Sample

{
  "ID": "…",
  "Type": "PurchaseOrder",
  "DateCreated": "0001-01-01T00:00:00+00:00",
  "CreditCardID": "…",
  "SpendingAccountID": "…",
  "Description": "…",
  "Amount": null,
  "xp": null,
  "Transactions": [
    {
      "ID": "…",
      "Type": "…",
      "DateExecuted": "0001-01-01T00:00:00+00:00",
      "Amount": null,
      "Succeeded": false,
      "ResultCode": "…",
      "ResultMessage": "…",
      "xp": null
    }
  ]
}

Get a List of Payments

OrderCloud.Payments.List(orderID,listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Type": "PurchaseOrder",
      "DateCreated": "0001-01-01T00:00:00+00:00",
      "CreditCardID": "…",
      "SpendingAccountID": "…",
      "Description": "…",
      "Amount": null,
      "xp": null,
      "Transactions": [
        {
          "ID": "…",
          "Type": "…",
          "DateExecuted": "0001-01-01T00:00:00+00:00",
          "Amount": null,
          "Succeeded": false,
          "ResultCode": "…",
          "ResultMessage": "…",
          "xp": null
        }
      ]
    }
  ]
}

Create New Payment

OrderCloud.Payments.Create(orderID,payment).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.

Request Body Sample

{
  "ID": "…",
  "Type": "PurchaseOrder",
  "CreditCardID": "…",
  "SpendingAccountID": "…",
  "Description": "…",
  "Amount": null,
  "xp": null
}

Create or Update Payment

OrderCloud.Payments.Update(orderID,paymentID,payment).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
paymentIDstringID of the payment.

Request Body Sample

{
  "ID": "…",
  "Type": "PurchaseOrder",
  "CreditCardID": "…",
  "SpendingAccountID": "…",
  "Description": "…",
  "Amount": null,
  "xp": null
}

Delete Payment

OrderCloud.Payments.Delete(orderID,paymentID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
paymentIDstringID of the payment.

Partially Update Payment

OrderCloud.Payments.Patch(orderID,paymentID,partialPayment).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
paymentIDstringID of the payment.

Request Body Sample

{
  "ID": "…",
  "Type": "PurchaseOrder",
  "CreditCardID": "…",
  "SpendingAccountID": "…",
  "Description": "…",
  "Amount": null,
  "xp": null
}

Create Transaction

OrderCloud.Payments.CreateTransaction(orderID,paymentID,transaction).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
paymentIDstringID of the payment.

Request Body Sample

{
  "ID": "…",
  "Type": "…",
  "DateExecuted": "0001-01-01T00:00:00+00:00",
  "Amount": null,
  "Succeeded": false,
  "ResultCode": "…",
  "ResultMessage": "…",
  "xp": null
}

Update Transaction

OrderCloud.Payments.UpdateTransaction(orderID,paymentID,transactionID,transaction).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
paymentIDstringID of the payment.
transactionIDstringID of the transaction.

Request Body Sample

{
  "ID": "…",
  "Type": "…",
  "DateExecuted": "0001-01-01T00:00:00+00:00",
  "Amount": null,
  "Succeeded": false,
  "ResultCode": "…",
  "ResultMessage": "…",
  "xp": null
}

Patch Transaction

OrderCloud.Payments.PatchTransaction(orderID,paymentID,transactionID,partialTransaction).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
paymentIDstringID of the payment.
transactionIDstringID of the transaction.

Request Body Sample

{
  "ID": "…",
  "Type": "…",
  "DateExecuted": "0001-01-01T00:00:00+00:00",
  "Amount": null,
  "Succeeded": false,
  "ResultCode": "…",
  "ResultMessage": "…",
  "xp": null
}

Delete Transaction

OrderCloud.Payments.DeleteTransaction(orderID,paymentID,transactionID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
paymentIDstringID of the payment.
transactionIDstringID of the transaction.

Shipments

angular.module('orderCloud.sdk).factory(Shipments, ShipmentsFactory)

A Shipment is a grouping of one or more Line Items from one or more Orders that is physically packaged and delivered to the Buyer as a single unit. It is typically created by the Seller after the Order is submitted as part of the fulfillment process.

Get a Single Shipment

OrderCloud.Shipments.Get(shipmentID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
shipmentIDstringID of the shipment.

Response Body Sample

{
  "ID": "…",
  "Shipper": "…",
  "DateShipped": null,
  "DateDelivered": null,
  "TrackingNumber": "…",
  "Cost": null,
  "Items": [
    {
      "OrderID": "…",
      "LineItemID": "…",
      "QuantityShipped": 0
    }
  ],
  "xp": null
}

Get a List of Shipments

OrderCloud.Shipments.List(orderID,listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
orderIDstringID of the order.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Shipper": "…",
      "DateShipped": null,
      "DateDelivered": null,
      "TrackingNumber": "…",
      "Cost": null,
      "Items": [
        {
          "OrderID": "…",
          "LineItemID": "…",
          "QuantityShipped": 0
        }
      ],
      "xp": null
    }
  ]
}

Create New Shipment

OrderCloud.Shipments.Create(shipment).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Shipper": "…",
  "DateShipped": null,
  "DateDelivered": null,
  "TrackingNumber": "…",
  "Cost": null,
  "Items": [
    {
      "OrderID": "…",
      "LineItemID": "…",
      "QuantityShipped": 0
    }
  ],
  "xp": null
}

Create or Update Shipment

OrderCloud.Shipments.Update(shipmentID,shipment).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
shipmentIDstringID of the shipment.

Request Body Sample

{
  "ID": "…",
  "Shipper": "…",
  "DateShipped": null,
  "DateDelivered": null,
  "TrackingNumber": "…",
  "Cost": null,
  "Items": [
    {
      "OrderID": "…",
      "LineItemID": "…",
      "QuantityShipped": 0
    }
  ],
  "xp": null
}

Delete Shipment

OrderCloud.Shipments.Delete(shipmentID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
shipmentIDstringID of the shipment.

Partially Update Shipment

OrderCloud.Shipments.Patch(shipmentID,shipment).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
shipmentIDstringID of the shipment.

Request Body Sample

{
  "ID": "…",
  "Shipper": "…",
  "DateShipped": null,
  "DateDelivered": null,
  "TrackingNumber": "…",
  "Cost": null,
  "Items": [
    {
      "OrderID": "…",
      "LineItemID": "…",
      "QuantityShipped": 0
    }
  ],
  "xp": null
}

Save Item

OrderCloud.Shipments.SaveItem(shipmentID,item).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
shipmentIDstringID of the shipment.

Request Body Sample

{
  "OrderID": "…",
  "LineItemID": "…",
  "QuantityShipped": 0
}

Delete Item

OrderCloud.Shipments.DeleteItem(shipmentID,orderID,lineItemID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
shipmentIDstringID of the shipment.
orderIDstringID of the order.
lineItemIDstringID of the line item.

Response Body Sample

{
  "ID": "…",
  "Shipper": "…",
  "DateShipped": null,
  "DateDelivered": null,
  "TrackingNumber": "…",
  "Cost": null,
  "Items": [
    {
      "OrderID": "…",
      "LineItemID": "…",
      "QuantityShipped": 0
    }
  ],
  "xp": null
}

Buyers

angular.module('orderCloud.sdk).factory(Buyers, BuyersFactory)

Buyers, or customers, are the organizations that view the categories and products and place orders.

Get a Single Buyer

OrderCloud.Buyers.Get().then(successFn).catch(errorFn);

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "DefaultCatalogID": "…",
  "Active": false,
  "xp": null
}

Get a List of Buyers

OrderCloud.Buyers.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "DefaultCatalogID": "…",
      "Active": false,
      "xp": null
    }
  ]
}

Create New Buyer

OrderCloud.Buyers.Create(company).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "DefaultCatalogID": "…",
  "Active": false,
  "xp": null
}

Create or Update Buyer

OrderCloud.Buyers.Update(company).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "DefaultCatalogID": "…",
  "Active": false,
  "xp": null
}

Delete Buyer

OrderCloud.Buyers.Delete().then(successFn).catch(errorFn);

Partially Update Buyer

OrderCloud.Buyers.Patch(company).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "DefaultCatalogID": "…",
  "Active": false,
  "xp": null
}

AdminUsers

angular.module('orderCloud.sdk).factory(AdminUsers, AdminUsersFactory)

Users on an Organization level are users that have administrative access to things like adding users, creating catalogs, processing orders or creating products. These users are not specific to a buyer company.

Get a Single Admin User

OrderCloud.AdminUsers.Get(userID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userIDstringID of the user.

Response Body Sample

{
  "ID": "…",
  "Username": "…",
  "FirstName": "…",
  "LastName": "…",
  "Email": "…",
  "Phone": "…",
  "TermsAccepted": null,
  "Active": false,
  "xp": null,
  "AvailableRoles": [
    "…"
  ]
}

Get a List of Admin Users

OrderCloud.AdminUsers.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Username": "…",
      "FirstName": "…",
      "LastName": "…",
      "Email": "…",
      "Phone": "…",
      "TermsAccepted": null,
      "Active": false,
      "xp": null,
      "AvailableRoles": [
        "…"
      ]
    }
  ]
}

Create New Admin User

OrderCloud.AdminUsers.Create(user).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Username": "…",
  "Password": "…",
  "FirstName": "…",
  "LastName": "…",
  "Email": "…",
  "Phone": "…",
  "TermsAccepted": null,
  "Active": false,
  "xp": null
}

Create or Update Admin User

OrderCloud.AdminUsers.Update(userID,user).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userIDstringID of the user.

Request Body Sample

{
  "ID": "…",
  "Username": "…",
  "Password": "…",
  "FirstName": "…",
  "LastName": "…",
  "Email": "…",
  "Phone": "…",
  "TermsAccepted": null,
  "Active": false,
  "xp": null
}

Delete Admin User

OrderCloud.AdminUsers.Delete(userID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userIDstringID of the user.

Partially Update Admin User

OrderCloud.AdminUsers.Patch(userID,user).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userIDstringID of the user.

Request Body Sample

{
  "ID": "…",
  "Username": "…",
  "Password": "…",
  "FirstName": "…",
  "LastName": "…",
  "Email": "…",
  "Phone": "…",
  "TermsAccepted": null,
  "Active": false,
  "xp": null
}

Catalogs

angular.module('orderCloud.sdk).factory(Catalogs, CatalogsFactory)

A Catalog represents a group of categories used to group and place content for a specific audience. All buyers are issued and assigned a default catalog upon creation. Catalogs can be shared between buyers using assignments.

Get a Single Catalog

OrderCloud.Catalogs.Get(catalogID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "CategoryCount": 0,
  "xp": null
}

Get a List of Catalogs

OrderCloud.Catalogs.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Description": "…",
      "CategoryCount": 0,
      "xp": null
    }
  ]
}

Create New Catalog

OrderCloud.Catalogs.Create(catalog).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

Create or Update Catalog

OrderCloud.Catalogs.Update(catalogID,catalog).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

Delete Catalog

OrderCloud.Catalogs.Delete(catalogID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.

Partially Update Catalog

OrderCloud.Catalogs.Patch(catalogID,partialCatalog).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

List Assignments

OrderCloud.Catalogs.ListAssignments(catalogID,page,pageSize).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "CatalogID": "…",
      "BuyerID": "…"
    }
  ]
}

Save Assignment

OrderCloud.Catalogs.SaveAssignment(assignment).then(successFn).catch(errorFn);

Request Body Sample

{
  "CatalogID": "…",
  "BuyerID": "…"
}

Delete Assignment

OrderCloud.Catalogs.DeleteAssignment(catalogID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.

Categories

angular.module('orderCloud.sdk).factory(Categories, CategoriesFactory)

Categories are used within a catalog to group and place content for a specific audience. Content can be in the form of another category, nested categories, products or HTML.

Get a Single Category

OrderCloud.Categories.Get(catalogID,categoryID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.
categoryIDstringID of the category.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null,
  "ListOrder": 1,
  "Active": false,
  "ParentID": "…",
  "ChildCount": 0
}

Get a List of Categories

OrderCloud.Categories.List(catalogID,listArgs,depth).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.
depthstringDepth of the category.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Description": "…",
      "xp": null,
      "ListOrder": 1,
      "Active": false,
      "ParentID": "…",
      "ChildCount": 0
    }
  ]
}

Create New Category

OrderCloud.Categories.Create(catalogID,category).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null,
  "ListOrder": 1,
  "Active": false,
  "ParentID": "…"
}

Create or Update Category

OrderCloud.Categories.Update(catalogID,categoryID,category).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.
categoryIDstringID of the category.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null,
  "ListOrder": 1,
  "Active": false,
  "ParentID": "…"
}

Delete Category

OrderCloud.Categories.Delete(catalogID,categoryID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.
categoryIDstringID of the category.

Partially Update Category

OrderCloud.Categories.Patch(catalogID,categoryID,category).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.
categoryIDstringID of the category.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null,
  "ListOrder": 1,
  "Active": false,
  "ParentID": "…"
}

List Assignments

OrderCloud.Categories.ListAssignments(catalogID,categoryID,userID,userGroupID,level,page,pageSize).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.
categoryIDstringID of the category.
userIDstringID of the user.
userGroupIDstringID of the user group.
levelstringLevel of the category.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "CategoryID": "…",
      "BuyerID": "…",
      "UserID": "…",
      "UserGroupID": "…"
    }
  ]
}

Delete Assignment

OrderCloud.Categories.DeleteAssignment(catalogID,categoryID,userID,userGroupID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.
categoryIDstringID of the category.
userIDstringID of the user.
userGroupIDstringID of the user group.

Save Assignment

OrderCloud.Categories.SaveAssignment(catalogID,categoryAssignment).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.

Request Body Sample

{
  "CategoryID": "…",
  "BuyerID": "…",
  "UserID": "…",
  "UserGroupID": "…"
}

List Product Assignments

OrderCloud.Categories.ListProductAssignments(catalogID,categoryID,productID,page,pageSize).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.
categoryIDstringID of the category.
productIDstringID of the product.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "CategoryID": "…",
      "ProductID": "…",
      "ListOrder": null
    }
  ]
}

Save Product Assignment

OrderCloud.Categories.SaveProductAssignment(catalogID,productAssignment).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.

Request Body Sample

{
  "CategoryID": "…",
  "ProductID": "…",
  "ListOrder": null
}

Delete Product Assignment

OrderCloud.Categories.DeleteProductAssignment(catalogID,categoryID,productID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
catalogIDstringID of the catalog.
categoryIDstringID of the category.
productIDstringID of the product.

Specs

angular.module('orderCloud.sdk).factory(Specs, SpecsFactory)

Specs are used to capture user input when adding a Product to an Order. At its simplest, a spec is a name/value pair. A spec value may have a price markup or markdown associated with it. In more advanced scenarios, specs can drive the product SKU. For example, a product may be available in 3 colors and 3 sizes and therefore have a total of 9 SKUs. The OrderCloud platform will choose the correct SKU based on the user-selected color and size specs.

Get a Single Spec

OrderCloud.Specs.Get(specID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
specIDstringID of the spec.

Response Body Sample

{
  "OptionCount": 0,
  "ID": "…",
  "ListOrder": 0,
  "Name": "…",
  "DefaultValue": "…",
  "Required": false,
  "AllowOpenText": false,
  "DefaultOptionID": "…",
  "DefinesVariant": false,
  "xp": null
}

Get a List of Specs

OrderCloud.Specs.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "OptionCount": 0,
      "ID": "…",
      "ListOrder": 0,
      "Name": "…",
      "DefaultValue": "…",
      "Required": false,
      "AllowOpenText": false,
      "DefaultOptionID": "…",
      "DefinesVariant": false,
      "xp": null
    }
  ]
}

Create New Spec

OrderCloud.Specs.Create(spec).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "ListOrder": 0,
  "Name": "…",
  "DefaultValue": "…",
  "Required": false,
  "AllowOpenText": false,
  "DefaultOptionID": "…",
  "DefinesVariant": false,
  "xp": null
}

Create or Update Spec

OrderCloud.Specs.Update(specID,spec).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
specIDstringID of the spec.

Request Body Sample

{
  "ID": "…",
  "ListOrder": 0,
  "Name": "…",
  "DefaultValue": "…",
  "Required": false,
  "AllowOpenText": false,
  "DefaultOptionID": "…",
  "DefinesVariant": false,
  "xp": null
}

Delete Spec

OrderCloud.Specs.Delete(specID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
specIDstringID of the spec.

Partially Update Spec

OrderCloud.Specs.Patch(specID,spec).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
specIDstringID of the spec.

Request Body Sample

{
  "ID": "…",
  "ListOrder": 0,
  "Name": "…",
  "DefaultValue": "…",
  "Required": false,
  "AllowOpenText": false,
  "DefaultOptionID": "…",
  "DefinesVariant": false,
  "xp": null
}

List Product Assignments

OrderCloud.Specs.ListProductAssignments(specID,productID,page,pageSize).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
specIDstringID of the spec.
productIDstringID of the product.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "SpecID": "…",
      "ProductID": "…",
      "DefaultValue": "…",
      "DefaultOptionID": "…"
    }
  ]
}

Delete Product Assignment

OrderCloud.Specs.DeleteProductAssignment(specID,productID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
specIDstringID of the spec.
productIDstringID of the product.

Save Product Assignment

OrderCloud.Specs.SaveProductAssignment(productAssignment).then(successFn).catch(errorFn);

Request Body Sample

{
  "SpecID": "…",
  "ProductID": "…",
  "DefaultValue": "…",
  "DefaultOptionID": "…"
}

Create Option

OrderCloud.Specs.CreateOption(specID,option).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
specIDstringID of the spec.

Request Body Sample

{
  "ID": "…",
  "Value": "…",
  "ListOrder": 0,
  "IsOpenText": false,
  "PriceMarkupType": null,
  "PriceMarkup": null,
  "xp": null
}

List Options

OrderCloud.Specs.ListOptions(specID,listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
specIDstringID of the spec.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Value": "…",
      "ListOrder": 0,
      "IsOpenText": false,
      "PriceMarkupType": null,
      "PriceMarkup": null,
      "xp": null
    }
  ]
}

Update Option

OrderCloud.Specs.UpdateOption(specID,optionID,option).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
specIDstringID of the spec.
optionIDstringID of the option.

Request Body Sample

{
  "ID": "…",
  "Value": "…",
  "ListOrder": 0,
  "IsOpenText": false,
  "PriceMarkupType": null,
  "PriceMarkup": null,
  "xp": null
}

Patch Option

OrderCloud.Specs.PatchOption(specID,optionID,option).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
specIDstringID of the spec.
optionIDstringID of the option.

Request Body Sample

{
  "ID": "…",
  "Value": "…",
  "ListOrder": 0,
  "IsOpenText": false,
  "PriceMarkupType": null,
  "PriceMarkup": null,
  "xp": null
}

Get Option

OrderCloud.Specs.GetOption(specID,optionID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
specIDstringID of the spec.
optionIDstringID of the option.

Response Body Sample

{
  "ID": "…",
  "Value": "…",
  "ListOrder": 0,
  "IsOpenText": false,
  "PriceMarkupType": null,
  "PriceMarkup": null,
  "xp": null
}

Delete Option

OrderCloud.Specs.DeleteOption(specID,optionID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
specIDstringID of the spec.
optionIDstringID of the option.

Products

angular.module('orderCloud.sdk).factory(Products, ProductsFactory)

A Product represents a physical, digital, or absract good that is offered for sale by a seller organization and is purchase-able by Buyer Users via an Order. Products can be a static SKU or a version of a static SKU, known as a Variant. For example, a variant is often a size or color choice that drives a different product SKU. Products may also have inventory associated with them and various inventory attributes like quantity available and re-order notifications.

Get a Single Product

OrderCloud.Products.Get(productID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "QuantityMultiplier": 0,
  "ShipWeight": null,
  "ShipHeight": null,
  "ShipWidth": null,
  "ShipLength": null,
  "Active": false,
  "Type": "Static",
  "InventoryEnabled": false,
  "InventoryNotificationPoint": null,
  "VariantLevelInventory": false,
  "SpecCount": 0,
  "xp": null,
  "AllowOrderExceedInventory": false,
  "InventoryVisible": false,
  "VariantCount": 0,
  "ShipFromAddressID": "…"
}

Get a List of Products

OrderCloud.Products.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Description": "…",
      "QuantityMultiplier": 0,
      "ShipWeight": null,
      "ShipHeight": null,
      "ShipWidth": null,
      "ShipLength": null,
      "Active": false,
      "Type": "Static",
      "InventoryEnabled": false,
      "InventoryNotificationPoint": null,
      "VariantLevelInventory": false,
      "SpecCount": 0,
      "xp": null,
      "AllowOrderExceedInventory": false,
      "InventoryVisible": false,
      "VariantCount": 0,
      "ShipFromAddressID": "…"
    }
  ]
}

Create New Product

OrderCloud.Products.Create(product).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "QuantityMultiplier": 0,
  "ShipWeight": null,
  "ShipHeight": null,
  "ShipWidth": null,
  "ShipLength": null,
  "Active": false,
  "Type": "Static",
  "InventoryEnabled": false,
  "InventoryNotificationPoint": null,
  "VariantLevelInventory": false,
  "xp": null,
  "AllowOrderExceedInventory": false,
  "InventoryVisible": false,
  "ShipFromAddressID": "…"
}

Create or Update Product

OrderCloud.Products.Update(productID,product).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "QuantityMultiplier": 0,
  "ShipWeight": null,
  "ShipHeight": null,
  "ShipWidth": null,
  "ShipLength": null,
  "Active": false,
  "Type": "Static",
  "InventoryEnabled": false,
  "InventoryNotificationPoint": null,
  "VariantLevelInventory": false,
  "xp": null,
  "AllowOrderExceedInventory": false,
  "InventoryVisible": false,
  "ShipFromAddressID": "…"
}

Delete Product

OrderCloud.Products.Delete(productID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.

Partially Update Product

OrderCloud.Products.Patch(productID,product).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "QuantityMultiplier": 0,
  "ShipWeight": null,
  "ShipHeight": null,
  "ShipWidth": null,
  "ShipLength": null,
  "Active": false,
  "Type": "Static",
  "InventoryEnabled": false,
  "InventoryNotificationPoint": null,
  "VariantLevelInventory": false,
  "xp": null,
  "AllowOrderExceedInventory": false,
  "InventoryVisible": false,
  "ShipFromAddressID": "…"
}

Generate Variants

OrderCloud.Products.GenerateVariants(productID,overwriteExisting).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.
overwriteExistingbooleanOverwrite existing of the product.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "QuantityMultiplier": 0,
  "ShipWeight": null,
  "ShipHeight": null,
  "ShipWidth": null,
  "ShipLength": null,
  "Active": false,
  "Type": "Static",
  "InventoryEnabled": false,
  "InventoryNotificationPoint": null,
  "VariantLevelInventory": false,
  "SpecCount": 0,
  "xp": null,
  "AllowOrderExceedInventory": false,
  "InventoryVisible": false,
  "VariantCount": 0,
  "ShipFromAddressID": "…"
}

List Variants

OrderCloud.Products.ListVariants(productID,listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Description": "…",
      "Active": false,
      "xp": null
    }
  ]
}

Update Variant

OrderCloud.Products.UpdateVariant(productID,variantID,variant).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.
variantIDstringID of the variant.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "Active": false,
  "xp": null
}

Patch Variant

OrderCloud.Products.PatchVariant(productID,variantID,variant).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.
variantIDstringID of the variant.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "Active": false,
  "xp": null
}

Get Variant

OrderCloud.Products.GetVariant(productID,variantID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.
variantIDstringID of the variant.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "Active": false,
  "xp": null
}

List Variant Inventory

OrderCloud.Products.ListVariantInventory(productID,listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Available": null,
      "Reserved": null,
      "LastUpdated": null
    }
  ]
}

Get Variant Inventory

OrderCloud.Products.GetVariantInventory(productID,variantID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.
variantIDstringID of the variant.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Available": null,
  "Reserved": null,
  "LastUpdated": null
}

Update Variant Inventory

OrderCloud.Products.UpdateVariantInventory(productID,variantID,inventory).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.
variantIDstringID of the variant.
inventoryintegerInventory of the product.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Available": null,
  "Reserved": null,
  "LastUpdated": null
}

List Inventory

OrderCloud.Products.ListInventory(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Available": null,
      "Reserved": null,
      "LastUpdated": null
    }
  ]
}

Get Inventory

OrderCloud.Products.GetInventory(productID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Available": null,
  "Reserved": null,
  "LastUpdated": null
}

Update Inventory

OrderCloud.Products.UpdateInventory(productID,inventory).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.
inventoryintegerInventory of the product.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Available": null,
  "Reserved": null,
  "LastUpdated": null
}

Save Assignment

OrderCloud.Products.SaveAssignment(productAssignment).then(successFn).catch(errorFn);

Request Body Sample

{
  "ProductID": "…",
  "PriceScheduleID": "…",
  "BuyerID": "…",
  "UserID": "…",
  "UserGroupID": "…"
}

List Assignments

OrderCloud.Products.ListAssignments(productID,userID,userGroupID,level,priceScheduleID,page,pageSize).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.
userIDstringID of the user.
userGroupIDstringID of the user group.
levelstringLevel of the product.
priceScheduleIDstringID of the price schedule.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ProductID": "…",
      "PriceScheduleID": "…",
      "BuyerID": "…",
      "UserID": "…",
      "UserGroupID": "…"
    }
  ]
}

Delete Assignment

OrderCloud.Products.DeleteAssignment(productID,userID,userGroupID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
productIDstringID of the product.
userIDstringID of the user.
userGroupIDstringID of the user group.

PriceSchedules

angular.module('orderCloud.sdk).factory(PriceSchedules, PriceSchedulesFactory)

Price schedules allow the same product to be sold across multiple channels. A price schedule may include quantity price breaks, min and max quantity per order, whether to apply tax or shipping calculations, or to what type of order the price schedule applies.

Get a Single Price Schedule

OrderCloud.PriceSchedules.Get(priceScheduleID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
priceScheduleIDstringID of the price schedule.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "ApplyTax": false,
  "ApplyShipping": false,
  "MinQuantity": null,
  "MaxQuantity": null,
  "UseCumulativeQuantity": false,
  "RestrictedQuantity": false,
  "OrderType": "Standard",
  "PriceBreaks": [
    {
      "Quantity": 0,
      "Price": 0.0
    }
  ],
  "xp": null
}

Get a List of Price Schedules

OrderCloud.PriceSchedules.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "ApplyTax": false,
      "ApplyShipping": false,
      "MinQuantity": null,
      "MaxQuantity": null,
      "UseCumulativeQuantity": false,
      "RestrictedQuantity": false,
      "OrderType": "Standard",
      "PriceBreaks": [
        {
          "Quantity": 0,
          "Price": 0.0
        }
      ],
      "xp": null
    }
  ]
}

Create New Price Schedule

OrderCloud.PriceSchedules.Create(priceSchedule).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "ApplyTax": false,
  "ApplyShipping": false,
  "MaxQuantity": null,
  "UseCumulativeQuantity": false,
  "RestrictedQuantity": false,
  "OrderType": "Standard",
  "PriceBreaks": [
    {
      "Quantity": 0,
      "Price": 0.0
    }
  ],
  "xp": null
}

Create or Update Price Schedule

OrderCloud.PriceSchedules.Update(priceScheduleID,priceSchedule).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
priceScheduleIDstringID of the price schedule.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "ApplyTax": false,
  "ApplyShipping": false,
  "MaxQuantity": null,
  "UseCumulativeQuantity": false,
  "RestrictedQuantity": false,
  "OrderType": "Standard",
  "PriceBreaks": [
    {
      "Quantity": 0,
      "Price": 0.0
    }
  ],
  "xp": null
}

Delete Price Schedule

OrderCloud.PriceSchedules.Delete(priceScheduleID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
priceScheduleIDstringID of the price schedule.

Partially Update Price Schedule

OrderCloud.PriceSchedules.Patch(priceScheduleID,priceSchedule).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
priceScheduleIDstringID of the price schedule.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "ApplyTax": false,
  "ApplyShipping": false,
  "MaxQuantity": null,
  "UseCumulativeQuantity": false,
  "RestrictedQuantity": false,
  "OrderType": "Standard",
  "PriceBreaks": [
    {
      "Quantity": 0,
      "Price": 0.0
    }
  ],
  "xp": null
}

Save Price Break

OrderCloud.PriceSchedules.SavePriceBreak(priceScheduleID,priceBreak).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
priceScheduleIDstringID of the price schedule.

Request Body Sample

{
  "Quantity": 0,
  "Price": 0.0
}

Delete Price Break

OrderCloud.PriceSchedules.DeletePriceBreak(priceScheduleID,quantity).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
priceScheduleIDstringID of the price schedule.
quantityintegerQuantity of the price schedule.

Promotions

angular.module('orderCloud.sdk).factory(Promotions, PromotionsFactory)

Promotions are used to reduce the cost of a line item or an order. Promotions can have redemption rules that can be applied for available dates, occurences and value. Promotions can be assigned to Products, Categories, Buyers, UserGroups and Users for redemption.

Get a Single Promotion

OrderCloud.Promotions.Get(promotionID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
promotionIDstringID of the promotion.

Response Body Sample

{
  "ID": "…",
  "Code": "…",
  "Name": "…",
  "RedemptionLimit": null,
  "RedemptionLimitPerUser": null,
  "RedemptionCount": 0,
  "Description": "…",
  "FinePrint": "…",
  "StartDate": null,
  "ExpirationDate": null,
  "EligibleExpression": "…",
  "ValueExpression": "…",
  "CanCombine": false,
  "xp": null
}

Get a List of Promotions

OrderCloud.Promotions.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Code": "…",
      "Name": "…",
      "RedemptionLimit": null,
      "RedemptionLimitPerUser": null,
      "RedemptionCount": 0,
      "Description": "…",
      "FinePrint": "…",
      "StartDate": null,
      "ExpirationDate": null,
      "EligibleExpression": "…",
      "ValueExpression": "…",
      "CanCombine": false,
      "xp": null
    }
  ]
}

Create New Promotion

OrderCloud.Promotions.Create(promo).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Code": "…",
  "Name": "…",
  "RedemptionLimit": null,
  "RedemptionLimitPerUser": null,
  "Description": "…",
  "FinePrint": "…",
  "StartDate": null,
  "ExpirationDate": null,
  "EligibleExpression": "…",
  "ValueExpression": "…",
  "CanCombine": false,
  "xp": null
}

Create or Update Promotion

OrderCloud.Promotions.Update(promotionID,promo).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
promotionIDstringID of the promotion.

Request Body Sample

{
  "ID": "…",
  "Code": "…",
  "Name": "…",
  "RedemptionLimit": null,
  "RedemptionLimitPerUser": null,
  "Description": "…",
  "FinePrint": "…",
  "StartDate": null,
  "ExpirationDate": null,
  "EligibleExpression": "…",
  "ValueExpression": "…",
  "CanCombine": false,
  "xp": null
}

Delete Promotion

OrderCloud.Promotions.Delete(promotionID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
promotionIDstringID of the promotion.

Partially Update Promotion

OrderCloud.Promotions.Patch(promotionID,partialPromotion).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
promotionIDstringID of the promotion.

Request Body Sample

{
  "ID": "…",
  "Code": "…",
  "Name": "…",
  "RedemptionLimit": null,
  "RedemptionLimitPerUser": null,
  "Description": "…",
  "FinePrint": "…",
  "StartDate": null,
  "ExpirationDate": null,
  "EligibleExpression": "…",
  "ValueExpression": "…",
  "CanCombine": false,
  "xp": null
}

List Assignments

OrderCloud.Promotions.ListAssignments(promotionID,userID,userGroupID,level,page,pageSize).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
promotionIDstringID of the promotion.
userIDstringID of the user.
userGroupIDstringID of the user group.
levelstringLevel of the promotion.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "PromotionID": "…",
      "BuyerID": "…",
      "UserID": "…",
      "UserGroupID": "…"
    }
  ]
}

Save Assignment

OrderCloud.Promotions.SaveAssignment(assignment).then(successFn).catch(errorFn);

Request Body Sample

{
  "PromotionID": "…",
  "BuyerID": "…",
  "UserID": "…",
  "UserGroupID": "…"
}

Delete Assignment

OrderCloud.Promotions.DeleteAssignment(promotionID,userID,userGroupID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
promotionIDstringID of the promotion.
userIDstringID of the user.
userGroupIDstringID of the user group.

AdminAddresses

angular.module('orderCloud.sdk).factory(AdminAddresses, AdminAddressesFactory)

Get a Single Admin Address

OrderCloud.AdminAddresses.Get(addressID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
addressIDstringID of the address.

Response Body Sample

{
  "ID": "…",
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Get a List of Admin Addresses

OrderCloud.AdminAddresses.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "CompanyName": "…",
      "FirstName": "…",
      "LastName": "…",
      "Street1": "…",
      "Street2": "…",
      "City": "…",
      "State": "…",
      "Zip": "…",
      "Country": "…",
      "Phone": "…",
      "AddressName": "…",
      "xp": null
    }
  ]
}

Create New Admin Address

OrderCloud.AdminAddresses.Create(address).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Create or Update Admin Address

OrderCloud.AdminAddresses.Update(addressID,address).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
addressIDstringID of the address.

Request Body Sample

{
  "ID": "…",
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Delete Admin Address

OrderCloud.AdminAddresses.Delete(addressID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
addressIDstringID of the address.

Partially Update Admin Address

OrderCloud.AdminAddresses.Patch(addressID,address).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
addressIDstringID of the address.

Request Body Sample

{
  "ID": "…",
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

AdminUserGroups

angular.module('orderCloud.sdk).factory(AdminUserGroups, AdminUserGroupsFactory)

Get a Single Admin User Group

OrderCloud.AdminUserGroups.Get(userGroupID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userGroupIDstringID of the user group.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

Get a List of Admin User Groups

OrderCloud.AdminUserGroups.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Description": "…",
      "xp": null
    }
  ]
}

Create New Admin User Group

OrderCloud.AdminUserGroups.Create(group).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

Create or Update Admin User Group

OrderCloud.AdminUserGroups.Update(userGroupID,group).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userGroupIDstringID of the user group.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

Delete Admin User Group

OrderCloud.AdminUserGroups.Delete(userGroupID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userGroupIDstringID of the user group.

Partially Update Admin User Group

OrderCloud.AdminUserGroups.Patch(userGroupID,group).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userGroupIDstringID of the user group.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

List User Assignments

OrderCloud.AdminUserGroups.ListUserAssignments(userGroupID,userID,page,pageSize).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userGroupIDstringID of the user group.
userIDstringID of the user.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "UserGroupID": "…",
      "UserID": "…"
    }
  ]
}

Delete User Assignment

OrderCloud.AdminUserGroups.DeleteUserAssignment(userGroupID,userID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userGroupIDstringID of the user group.
userIDstringID of the user.

Save User Assignment

OrderCloud.AdminUserGroups.SaveUserAssignment(userGroupAssignment).then(successFn).catch(errorFn);

Request Body Sample

{
  "UserGroupID": "…",
  "UserID": "…"
}

MesageSenders

angular.module('orderCloud.sdk).factory(MesageSenders, MesageSendersFactory)

Get a Single Message Sender

OrderCloud.MesageSenders.Get(messageSenderID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
messageSenderIDstringID of the message sender.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "MessageTypes": [
    "OrderDeclined"
  ]
}

Get a List of Message Senders

OrderCloud.MesageSenders.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "MessageTypes": [
        "OrderDeclined"
      ]
    }
  ]
}

List Assignments

OrderCloud.MesageSenders.ListAssignments(messageSenderID,userID,userGroupID,level,page,pageSize).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
messageSenderIDstringID of the message sender.
userIDstringID of the user.
userGroupIDstringID of the user group.
levelstringLevel of the message sender.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "MessageSenderID": "…",
      "BuyerID": "…",
      "UserID": "…",
      "UserGroupID": "…",
      "MessageConfigName": "…"
    }
  ]
}

Delete Assignment

OrderCloud.MesageSenders.DeleteAssignment(messageSenderID,userID,userGroupID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
messageSenderIDstringID of the message sender.
userIDstringID of the user.
userGroupIDstringID of the user group.

Save Assignment

OrderCloud.MesageSenders.SaveAssignment(assignment).then(successFn).catch(errorFn);

Request Body Sample

{
  "MessageSenderID": "…",
  "BuyerID": "…",
  "UserID": "…",
  "UserGroupID": "…"
}

List CC Listener Assignments

OrderCloud.MesageSenders.ListCCListenerAssignments(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "MessageSenderAssignment": {
        "MessageSenderID": "…",
        "BuyerID": "…",
        "UserID": "…",
        "UserGroupID": "…",
        "MessageConfigName": "…"
      },
      "MessageConfigName": "…",
      "MessageType": "OrderDeclined",
      "BuyerID": "…",
      "UserGroupID": "…",
      "UserID": "…"
    }
  ]
}

Save CC Listener Assignment

OrderCloud.MesageSenders.SaveCCListenerAssignment(assignment).then(successFn).catch(errorFn);

Request Body Sample

{
  "MessageSenderAssignment": {
    "MessageSenderID": "…",
    "BuyerID": "…",
    "UserID": "…",
    "UserGroupID": "…"
  },
  "MessageType": "OrderDeclined",
  "BuyerID": "…",
  "UserGroupID": "…",
  "UserID": "…"
}

Users

angular.module('orderCloud.sdk).factory(Users, UsersFactory)

A user is a person with access to the application. The properties of a user define who they are and what they are able to do with their login to the application.

Get a Single User

OrderCloud.Users.Get(userID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userIDstringID of the user.

Response Body Sample

{
  "ID": "…",
  "Username": "…",
  "FirstName": "…",
  "LastName": "…",
  "Email": "…",
  "Phone": "…",
  "TermsAccepted": null,
  "Active": false,
  "xp": null,
  "AvailableRoles": [
    "…"
  ]
}

Get a List of Users

OrderCloud.Users.List(userGroupID,listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userGroupIDstringID of the user group.
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Username": "…",
      "FirstName": "…",
      "LastName": "…",
      "Email": "…",
      "Phone": "…",
      "TermsAccepted": null,
      "Active": false,
      "xp": null,
      "AvailableRoles": [
        "…"
      ]
    }
  ]
}

Create New User

OrderCloud.Users.Create(user).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Username": "…",
  "Password": "…",
  "FirstName": "…",
  "LastName": "…",
  "Email": "…",
  "Phone": "…",
  "TermsAccepted": null,
  "Active": false,
  "xp": null
}

Create or Update User

OrderCloud.Users.Update(userID,user).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userIDstringID of the user.

Request Body Sample

{
  "ID": "…",
  "Username": "…",
  "Password": "…",
  "FirstName": "…",
  "LastName": "…",
  "Email": "…",
  "Phone": "…",
  "TermsAccepted": null,
  "Active": false,
  "xp": null
}

Delete User

OrderCloud.Users.Delete(userID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userIDstringID of the user.

Partially Update User

OrderCloud.Users.Patch(userID,user).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userIDstringID of the user.

Request Body Sample

{
  "ID": "…",
  "Username": "…",
  "Password": "…",
  "FirstName": "…",
  "LastName": "…",
  "Email": "…",
  "Phone": "…",
  "TermsAccepted": null,
  "Active": false,
  "xp": null
}

Get Access Token

OrderCloud.Users.GetAccessToken(userID,tokenRequest).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userIDstringID of the user.

Request Body Sample

{
  "ClientID": "…",
  "Claims": [
    "DevCenterImpersonate"
  ]
}

UserGroups

angular.module('orderCloud.sdk).factory(UserGroups, UserGroupsFactory)

User Groups are used to streamline the management of users within an application. By placing like users in groups, you can filter content, define order management rules, and manage changes much more easily than trying to account for individual users.

Get a Single User Group

OrderCloud.UserGroups.Get(userGroupID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userGroupIDstringID of the user group.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

Get a List of User Groups

OrderCloud.UserGroups.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Description": "…",
      "xp": null
    }
  ]
}

Create New User Group

OrderCloud.UserGroups.Create(group).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

Create or Update User Group

OrderCloud.UserGroups.Update(userGroupID,group).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userGroupIDstringID of the user group.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

Delete User Group

OrderCloud.UserGroups.Delete(userGroupID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userGroupIDstringID of the user group.

Partially Update User Group

OrderCloud.UserGroups.Patch(userGroupID,group).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userGroupIDstringID of the user group.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

List User Assignments

OrderCloud.UserGroups.ListUserAssignments(userGroupID,userID,page,pageSize).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userGroupIDstringID of the user group.
userIDstringID of the user.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "UserGroupID": "…",
      "UserID": "…"
    }
  ]
}

Delete User Assignment

OrderCloud.UserGroups.DeleteUserAssignment(userGroupID,userID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
userGroupIDstringID of the user group.
userIDstringID of the user.

Save User Assignment

OrderCloud.UserGroups.SaveUserAssignment(userGroupAssignment).then(successFn).catch(errorFn);

Request Body Sample

{
  "UserGroupID": "…",
  "UserID": "…"
}

Addresses

angular.module('orderCloud.sdk).factory(Addresses, AddressesFactory)

Addresses are used for the purposes of billing and shipping an order. An address may belong to a list that can be shared among many users if appropriate.

Get a Single Address

OrderCloud.Addresses.Get(addressID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
addressIDstringID of the address.

Response Body Sample

{
  "ID": "…",
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Get a List of Addresses

OrderCloud.Addresses.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "CompanyName": "…",
      "FirstName": "…",
      "LastName": "…",
      "Street1": "…",
      "Street2": "…",
      "City": "…",
      "State": "…",
      "Zip": "…",
      "Country": "…",
      "Phone": "…",
      "AddressName": "…",
      "xp": null
    }
  ]
}

Create New Address

OrderCloud.Addresses.Create(address).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Create or Update Address

OrderCloud.Addresses.Update(addressID,address).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
addressIDstringID of the address.

Request Body Sample

{
  "ID": "…",
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

Delete Address

OrderCloud.Addresses.Delete(addressID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
addressIDstringID of the address.

Partially Update Address

OrderCloud.Addresses.Patch(addressID,address).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
addressIDstringID of the address.

Request Body Sample

{
  "ID": "…",
  "CompanyName": "…",
  "FirstName": "…",
  "LastName": "…",
  "Street1": "…",
  "Street2": "…",
  "City": "…",
  "State": "…",
  "Zip": "…",
  "Country": "…",
  "Phone": "…",
  "AddressName": "…",
  "xp": null
}

List Assignments

OrderCloud.Addresses.ListAssignments(addressID,userID,userGroupID,level,isShipping,isBilling,page,pageSize).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
addressIDstringID of the address.
userIDstringID of the user.
userGroupIDstringID of the user group.
levelstringLevel of the address.
isShippingbooleanIs shipping of the address.
isBillingbooleanIs billing of the address.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "AddressID": "…",
      "UserID": "…",
      "UserGroupID": "…",
      "IsShipping": false,
      "IsBilling": false
    }
  ]
}

Delete Assignment

OrderCloud.Addresses.DeleteAssignment(addressID,userID,userGroupID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
addressIDstringID of the address.
userIDstringID of the user.
userGroupIDstringID of the user group.

Save Assignment

OrderCloud.Addresses.SaveAssignment(assignment).then(successFn).catch(errorFn);

Request Body Sample

{
  "AddressID": "…",
  "UserID": "…",
  "UserGroupID": "…",
  "IsShipping": false,
  "IsBilling": false
}

SpendingAccounts

angular.module('orderCloud.sdk).factory(SpendingAccounts, SpendingAccountsFactory)

Spending Accounts are funds given to users by a managing entity and are managed as part of a user's account. These funds are generally used as "corporate dollars", "rewards dollars", or "gift cards". They can be used to pay for all of or part of an order with parameters that control account expiration, balance available, balance renewal, user access and overdraft. Multiple spending accounts can be assigned to a member of an organization and applied to all transactions, but only one can be used as a payment method. When multiple Spending Accounts are used on a transaction each is deducted individually.

Get a Single Spending Account

OrderCloud.SpendingAccounts.Get(spendingAccountID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
spendingAccountIDstringID of the spending account.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Balance": 0.0,
  "AllowAsPaymentMethod": false,
  "RedemptionCode": "…",
  "StartDate": null,
  "EndDate": null,
  "xp": null
}

Get a List of Spending Accounts

OrderCloud.SpendingAccounts.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Balance": 0.0,
      "AllowAsPaymentMethod": false,
      "RedemptionCode": "…",
      "StartDate": null,
      "EndDate": null,
      "xp": null
    }
  ]
}

Create New Spending Account

OrderCloud.SpendingAccounts.Create(spendingAccount).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Balance": 0.0,
  "AllowAsPaymentMethod": false,
  "RedemptionCode": "…",
  "StartDate": null,
  "EndDate": null,
  "xp": null
}

Create or Update Spending Account

OrderCloud.SpendingAccounts.Update(spendingAccountID,spendingAccount).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
spendingAccountIDstringID of the spending account.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Balance": 0.0,
  "AllowAsPaymentMethod": false,
  "RedemptionCode": "…",
  "StartDate": null,
  "EndDate": null,
  "xp": null
}

Delete Spending Account

OrderCloud.SpendingAccounts.Delete(spendingAccountID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
spendingAccountIDstringID of the spending account.

Partially Update Spending Account

OrderCloud.SpendingAccounts.Patch(spendingAccountID,spendingAccount).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
spendingAccountIDstringID of the spending account.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Balance": 0.0,
  "AllowAsPaymentMethod": false,
  "RedemptionCode": "…",
  "StartDate": null,
  "EndDate": null,
  "xp": null
}

List Assignments

OrderCloud.SpendingAccounts.ListAssignments(spendingAccountID,userID,userGroupID,level,page,pageSize).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
spendingAccountIDstringID of the spending account.
userIDstringID of the user.
userGroupIDstringID of the user group.
levelstringLevel of the spending account.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "SpendingAccountID": "…",
      "UserID": "…",
      "UserGroupID": "…",
      "AllowExceed": false
    }
  ]
}

Save Assignment

OrderCloud.SpendingAccounts.SaveAssignment(assignment).then(successFn).catch(errorFn);

Request Body Sample

{
  "SpendingAccountID": "…",
  "UserID": "…",
  "UserGroupID": "…",
  "AllowExceed": false
}

Delete Assignment

OrderCloud.SpendingAccounts.DeleteAssignment(spendingAccountID,userID,userGroupID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
spendingAccountIDstringID of the spending account.
userIDstringID of the user.
userGroupIDstringID of the user group.

CostCenters

angular.module('orderCloud.sdk).factory(CostCenters, CostCentersFactory)

A cost center is used to allocate organizational expenditures. Different businesses call these by different names such as "allocation codes" or "charge back codes", but the basic purpose is the same - to allocate an expense back to someone or some department of an organization.

Get a Single Cost Center

OrderCloud.CostCenters.Get(costCenterID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
costCenterIDstringID of the cost center.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

Get a List of Cost Centers

OrderCloud.CostCenters.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Description": "…",
      "xp": null
    }
  ]
}

Create New Cost Center

OrderCloud.CostCenters.Create(costCenter).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

Create or Update Cost Center

OrderCloud.CostCenters.Update(costCenterID,costCenter).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
costCenterIDstringID of the cost center.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

Delete Cost Center

OrderCloud.CostCenters.Delete(costCenterID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
costCenterIDstringID of the cost center.

Partially Update Cost Center

OrderCloud.CostCenters.Patch(costCenterID,costCenter).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
costCenterIDstringID of the cost center.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "xp": null
}

List Assignments

OrderCloud.CostCenters.ListAssignments(costCenterID,userID,userGroupID,level,page,pageSize).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
costCenterIDstringID of the cost center.
userIDstringID of the user.
userGroupIDstringID of the user group.
levelstringLevel of the cost center.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "CostCenterID": "…",
      "UserID": "…",
      "UserGroupID": "…"
    }
  ]
}

Delete Assignment

OrderCloud.CostCenters.DeleteAssignment(costCenterID,userID,userGroupID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
costCenterIDstringID of the cost center.
userIDstringID of the user.
userGroupIDstringID of the user group.

Save Assignment

OrderCloud.CostCenters.SaveAssignment(assignment).then(successFn).catch(errorFn);

Request Body Sample

{
  "CostCenterID": "…",
  "UserID": "…",
  "UserGroupID": "…"
}

ApprovalRules

angular.module('orderCloud.sdk).factory(ApprovalRules, ApprovalRulesFactory)

Approval rules are used to verify the integrity of an order. Common examples include orders requiring managerial approval, approval for orders that contain a specific product category, approval for quantity thresholds or approval for orders that exceed a specific price. Properties are also available to control the triggers and timing for processing approvals whether parallel to another rule, or in succession of a previous rule.

Get a Single Approval Rule

OrderCloud.ApprovalRules.Get(approvalRuleID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
approvalRuleIDstringID of the approval rule.

Response Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "ApprovingGroupID": "…",
  "RuleExpression": "…",
  "Scope": "PerOrder",
  "ScopeTimeUnit": null,
  "ScopeTimeNumber": null,
  "ScopeStartDate": null,
  "ExpireAfterTimeUnit": null,
  "ExpireAfterNumber": null,
  "ApproveOnExpire": false,
  "xp": null
}

Get a List of Approval Rules

OrderCloud.ApprovalRules.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Name": "…",
      "Description": "…",
      "ApprovingGroupID": "…",
      "RuleExpression": "…",
      "Scope": "PerOrder",
      "ScopeTimeUnit": null,
      "ScopeTimeNumber": null,
      "ScopeStartDate": null,
      "ExpireAfterTimeUnit": null,
      "ExpireAfterNumber": null,
      "ApproveOnExpire": false,
      "xp": null
    }
  ]
}

Create New Approval Rule

OrderCloud.ApprovalRules.Create(approvalRule).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "ApprovingGroupID": "…",
  "RuleExpression": "…",
  "Scope": "PerOrder",
  "ScopeTimeUnit": null,
  "ScopeTimeNumber": null,
  "ScopeStartDate": null,
  "ExpireAfterTimeUnit": null,
  "ExpireAfterNumber": null,
  "ApproveOnExpire": false,
  "xp": null
}

Create or Update Approval Rule

OrderCloud.ApprovalRules.Update(approvalRuleID,approvalRule).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
approvalRuleIDstringID of the approval rule.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "ApprovingGroupID": "…",
  "RuleExpression": "…",
  "Scope": "PerOrder",
  "ScopeTimeUnit": null,
  "ScopeTimeNumber": null,
  "ScopeStartDate": null,
  "ExpireAfterTimeUnit": null,
  "ExpireAfterNumber": null,
  "ApproveOnExpire": false,
  "xp": null
}

Delete Approval Rule

OrderCloud.ApprovalRules.Delete(approvalRuleID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
approvalRuleIDstringID of the approval rule.

Partially Update Approval Rule

OrderCloud.ApprovalRules.Patch(approvalRuleID,partialApprovalRule).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
approvalRuleIDstringID of the approval rule.

Request Body Sample

{
  "ID": "…",
  "Name": "…",
  "Description": "…",
  "ApprovingGroupID": "…",
  "RuleExpression": "…",
  "Scope": "PerOrder",
  "ScopeTimeUnit": null,
  "ScopeTimeNumber": null,
  "ScopeStartDate": null,
  "ExpireAfterTimeUnit": null,
  "ExpireAfterNumber": null,
  "ApproveOnExpire": false,
  "xp": null
}

CreditCards

angular.module('orderCloud.sdk).factory(CreditCards, CreditCardsFactory)

Credit cards are used as a payment method for an order. A user may have access to one or many credit cards for personal spend or group spending. Credit Cards may be saved and assigned to members of an organization for use during purchase.

Get a Single Credit Card

OrderCloud.CreditCards.Get(creditCardID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
creditCardIDstringID of the credit card.

Response Body Sample

{
  "ID": "…",
  "Token": "…",
  "DateCreated": null,
  "CardType": "…",
  "PartialAccountNumber": "…",
  "CardholderName": "…",
  "ExpirationDate": null,
  "xp": null
}

Get a List of Credit Cards

OrderCloud.CreditCards.List(listArgs).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
searchstringWord or phrase to search for.
searchOnstringComma-delimited list of fields to search on.
sortBystringComma-delimited list of fields to sort by.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.
filtersAny additional key/value pairs passed in the query string are interpretted as filters. Valid keys are top-level properties of the returned model or 'xp.???'

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "ID": "…",
      "Token": "…",
      "DateCreated": null,
      "CardType": "…",
      "PartialAccountNumber": "…",
      "CardholderName": "…",
      "ExpirationDate": null,
      "xp": null
    }
  ]
}

Create New Credit Card

OrderCloud.CreditCards.Create(card).then(successFn).catch(errorFn);

Request Body Sample

{
  "ID": "…",
  "Token": "…",
  "CardType": "…",
  "PartialAccountNumber": "…",
  "CardholderName": "…",
  "ExpirationDate": null,
  "xp": null
}

Create or Update Credit Card

OrderCloud.CreditCards.Update(creditCardID,card).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
creditCardIDstringID of the credit card.

Request Body Sample

{
  "ID": "…",
  "Token": "…",
  "CardType": "…",
  "PartialAccountNumber": "…",
  "CardholderName": "…",
  "ExpirationDate": null,
  "xp": null
}

Delete Credit Card

OrderCloud.CreditCards.Delete(creditCardID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
creditCardIDstringID of the credit card.

Partially Update Credit Card

OrderCloud.CreditCards.Patch(creditCardID,card).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
creditCardIDstringID of the credit card.

Request Body Sample

{
  "ID": "…",
  "Token": "…",
  "CardType": "…",
  "PartialAccountNumber": "…",
  "CardholderName": "…",
  "ExpirationDate": null,
  "xp": null
}

List Assignments

OrderCloud.CreditCards.ListAssignments(creditCardID,userID,userGroupID,level,page,pageSize).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
creditCardIDstringID of the credit card.
userIDstringID of the user.
userGroupIDstringID of the user group.
levelstringLevel of the credit card.
pageintegerPage of results to return. Default: 1
pageSizeintegerNumber of results to return per page. Default: 20, max: 100.

Response Body Sample

{
  "Meta": {
    "Page": 1,
    "PageSize": 20,
    "TotalCount": 25,
    "TotalPages": 2,
    "ItemRange": [
      1,
      20
    ]
  },
  "Items": [
    {
      "CreditCardID": "…",
      "UserID": "…",
      "UserGroupID": "…"
    }
  ]
}

Save Assignment

OrderCloud.CreditCards.SaveAssignment(assignment).then(successFn).catch(errorFn);

Request Body Sample

{
  "CreditCardID": "…",
  "UserID": "…",
  "UserGroupID": "…"
}

Delete Assignment

OrderCloud.CreditCards.DeleteAssignment(creditCardID,userID,userGroupID).then(successFn).catch(errorFn);

Parameters

NameTypeDescription
creditCardIDstringID of the credit card.
userIDstringID of the user.
userGroupIDstringID of the user group.

Extending the OrderCloud Data Model

Many times, object(s) returned from the OrderCloud API require additional data points derived from the provided information in order to more easily and elegantly drive UI functionality. One simple example of this is to create a FullName property on User objects derived from the FirstName and LastName properties. Similarly, another example would be to create a FullAddress property on an Address object by combining the AddressName, Street1, Street2, City, State, Zip, and Country properties. Additionally, functions can be extended onto data model objects in order to drive such AngularJS directives as ng-show, ng-if, etc.

When the $promise is returned from AngularJS' $resource factory, the OrderCloud-Angular-SDK will attempt to locate and inject an 'Extend' factory from your AngularJS application. If this factory exists and a method within the factory with the respective OrderCloud end point exists, you can proceed to extend the data model. A list of available end points and a simple example are located below.

angular.module('myApp', [])
.factory('Extend', extendFactory)

function extendFactory() {
    var service = {
        Users: _users
    };

    function _users(user) {
        user.FullName = user.FirstName + ' ' + user.LastName;
    }

    return service;
}

FAQs

Package last updated on 30 May 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts