openapi: 3.0.1 info: title: Customers description: Provides methods for working with customer objects and data. version: '1.0' servers: - url: https://dsapi.directscale.com/v1/customers paths: '/{customerId}/reward-points': post: tags: - RewardPoints - Customers summary: Add Customer Reward Points description: "This API adds Reward Points to a given Customer's Reward Point ledger. Please read below for important functionality constraints:\r\n- The \"Source\" of the Reward Points will display as \"Public API\".\r\n- The Reward Points will become immediately available.\r\n- The Expiration Date of the Reward Points created using this API is 365 days." operationId: add-customer-reward-points parameters: - name: customerId in: path description: The ID of the Customer to whom the reward points are to be added required: true schema: type: number requestBody: content: application/json: schema: $ref: '#/components/schemas/AddCustomerRewardPointsRequest' example: pointsToAdd: 100.5 responses: '201': description: The operation was executed successfully '400': description: Returns one of an array of different error possibilities. Please refer to the error description in the `x-directscale-message` header for greater detail. delete: tags: - RewardPoints - Customers summary: Deduct Customer Reward Points description: "This API deducts Reward Points from a given Customer's Reward Point ledger. Please read below for important functionality constraints:\r\n- The amount of Reward Points may be positive or negative. Regardless, the absolute value of the number provided will be deducted from the Customer's Reward Point ledger.\r\n- The \"Source\" of the Reward Points will display as \"Public API\".\r\n- __IMPORTANT__: There is no safeguard against a negative reward point ledger balance. Deductions larger than the remaining ledger balance can go negative. Please verify you are using this API in accordance with desired business workflows." operationId: 60884498ddcd7c8eeb0ab3e7 parameters: - name: customerId in: path description: The ID of the Customer to whom the reward points are to be deducted required: true schema: type: number requestBody: content: application/json: schema: $ref: '#/components/schemas/DeductCustomerRewardPointsRequest' example: pointsToDeduct: 12.5 responses: '200': description: The Reward Points were successfully deducted from the Customer's Reward Point ledger. '400': description: Returns one of an array of different error possibilities. Please refer to the error description in the `x-directscale-message` header for greater detail. get: tags: - RewardPoints - Customers summary: Get Customer Reward Points description: This API retrieves the total amount of Reward Points for a given Customer. operationId: get-customer-rewards-points parameters: - name: customerId in: path description: The ID of the Customer whose reward points are to be retrieved required: true schema: type: number responses: '200': description: The operation was executed successfully '400': description: Returns one of an array of different error possibilities. Please refer to the error description in the `x-directscale-message` header for greater detail. '/{customerId}/orders/calculate': post: tags: - Customers summary: Calculate Customer Order Total description: "Calculates a Customer Order Total based on a valid Customer Order object.

\r\n\r\nYou can get the **Request Parameter** at these calls:\r\n\r\n**customerId**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter" operationId: 58e3a27d370f72f9d8cc2bdf parameters: - name: customerId in: path description: The ID of the Customer whose Order Total is to be calculated. required: true schema: type: string requestBody: description: "Required Fields:\r\n- CurrencyCode\r\n - **Get Regions** displays the country/state codes of the warehouses. If you are concerned about having the proper **CurrencyCode**, then this will allow you to know what region warehouse support team to call to get the confirmed **CurrencyCode**.\r\n- ShipMethodId\r\n - Get ShippingMethod(s)\r\n- ShippingAddress\r\n - Get Customer\r\n- ItemId\r\n - Products: Get Item by ID\r\n - Products: Get Item by Filter\r\n- Quantity\r\n - Amount of the item wanted to be purchased" content: application/json (full): schema: $ref: '#/components/schemas/CalculateCustomerOrderRequest' example: WarehouseId: 1 ShipMethodId: 1 StoreId: 1 CurrencyCode: usd ShippingAddress: Line1: 1234 Test Dr. City: Placerville State: CA Zip: '95667' CountryCode: us PriceGroup: 1 OrderType: 1 KitItems: - ItemId: 2 Quantity: 1 IsReward: false Items: - ItemId: 1 Quantity: 2 IsReward: true PartyId: 0 CouponCodes: - TEST_CODE CountryCode: us application/json (minimal): example: ShipMethodId: 5 CurrencyCode: usd ShippingAddress: { } Items: - ItemId: 17903 Quantity: 3 IsReward: false responses: '200': description: Returns a calculated Order Total. content: application/json: schema: $ref: '#/components/schemas/CalculateCustomerOrderResponse' example: CouponResults: - Code: TST_CPN_1 IsValid: true Message: Discount: 5 - Code: TST_CPN_2 IsValid: false Message: This is an invalid coupon Discount: 0 CurrencyCode: usd DiscountTotal: 5 Items: - ItemId: 1 Bonus: 0 ChargeShipping: false CurrencyCode: usd Cv: 5 Description: Test Item (desc) ExtendedBonus: 0 ExtendedCv: 5 ExtendedPrice: 10 ExtendedQv: 4 LanguageCode: en OriginalPrice: 10 Price: 10 ProductName: Test Item Sku: DRTSCL Specifications: Test Item (specs) Quantity: 1 Qv: 4 ShippingMethods: - ShipMethodId: 1 Description: Standard Shipping ShippingAmount: 5 - ShipMethodId: 12 Description: Universal Flat Rate Method ShippingAmount: 12 ShippingTotal: 5 SubTotal: 15 TaxableSubtotal: 0 TaxTotal: 0 Total: 10 '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." /: post: tags: - Customers summary: Create Customer description: "Creates a new Customer based on a valid Customer object.

\r\n\r\n**Date + Time format**\r\n\r\nYear-Month-Day'T'MilitaryTimeHour:Minute:Second\r\n- Ex. 2018-10-30T15:47:52" operationId: 57fe7e33cb00f20ae896cc6b requestBody: description: "**Required Fields (based on customerType):**\r\n- BirthDate (1)\r\n - Get Customer\r\n- CustomerType (1, 2, 3)\r\n - Get Customer\r\n- DefaultShippingAddress (1)\r\n - street1\r\n - PostalCode\r\n - City\r\n - CountryCode\r\n- EmailAddress (1, 2, 3)\r\n - Get Customer\r\n- FirstName (1, 2, 3)\r\n - Get Customer\r\n- LastName (1, 2, 3)\r\n - Get Customer\r\n- Password (1, 2)\r\n- PrimaryAddress (1, 2, 3)\r\n - street1\r\n - Region\r\n - CountryCode\r\n- SponsorId (1, 2, 3)\r\n - Get Customer\r\n- TaxId (1)\r\n - Get Customer\r\n- TermsAccepted (1)\r\n- Username (1, 2, 3)\r\n - Get Customer\r\n\r\nUniqueness Required:\r\n- BackOfficeId\r\n- EmailAddress\r\n- TaxId\r\n- Username\r\n- WebAlias\r\n\r\n**NOTE:** Unique variables can be validated with our **Validate** API calls.\r\n\r\n

\r\nNote: Many of the property's behaviors can be changed by the implementation of the commission plan to allow the property to be optional or have different uniqueness characteristics. Please contact your support representative for specific details.

\r\n" content: application/json (full): schema: $ref: '#/components/schemas/CreateCustomer' example: BackOfficeId: 15F963 BirthDate: '2000-10-14T00:00:00.0000000+00:00' CompanyName: Test Company CustomerStatus: 1 CustomerType: 1 DefaultShippingAddress: Street1: 1234 Test Dr. Street2: Ste 350 City: Placerville PostalCode: '95667' Region: CA CountryCode: US EmailAddress: samespace@directscaletest.com ExternalReferenceId: 111-aa FirstName: Sam LanguageCode: en LastName: Space Password: Pa33word1! PrimaryAddress: Street1: 1234 Test Dr. Street2: Ste 350 City: Placerville PostalCode: '95667' Region: CA CountryCode: US PrimaryPhone: '6546546544' SecondaryPhone: '3213213211' SendEmails: true SignUpDate: '2021-10-14T00:00:00.0000000+00:00' SponsorId: 122 TaxExempt: false TaxExemptId: 555-55-5555 TaxId: 555-55-5555 TermsAccepted: true TextPhone: '9879879877' Username: samspace WebAlias: samspace RomanizedFirstName: Sam RomanizedLastName: Space LegalFirstName: Sam LegalLastName: Space AssociateCustom: Field1: c1 Field2: '4433' Field3: c2 Field4: asdf|asdf Field5: '111' Field6: L Field7: '22334' Field8: '2003-01-02T00:00:00.0000000+00:00' Field9: '0' Field10: '' PlacementOverrides: - TreeName: Enrollment CustomerId: 122 TreeIndex: 0 BaseLegName: '' - TreeName: Unilevel CustomerId: 122 TreeIndex: 0 BaseLegName: '' - TreeName: Binary CustomerId: 122 TreeIndex: 3 BaseLegName: Right 'application/json (customerType: 1)': example: BirthDate: '1973-05-12T00:00:00.0000000+00:00' CustomerType: 1 DefaultShippingAddress: Street1: 250 South 400 West PostalCode: '84042' City: Lindon CountryCode: US EmailAddress: yodaminch@testing.directscale.com FirstName: Minch LastName: Yoda Password: Password123! PrimaryAddress: Street1: 250 South 400 West Region: UT CountryCode: US SponsorId: 2 TaxExempt: false TaxId: TAX-TEST-3333 TermsAccepted: true Username: YodaIAm 'application/json (customerType: 2)': example: CustomerType: 2 EmailAddress: darthsidious66@testing.directscale.com FirstName: Sheev LastName: Palpatine Password: Password123! PrimaryAddress: Street1: 250 South 400 West Region: UT CountryCode: US SponsorId: 2 Username: Emperor Palpatine 'application/json (customerType: 3)': example: CustomerType: 3 EmailAddress: bobafett@testing.directscale.com FirstName: Boba LastName: Fett PrimaryAddress: Street1: 250 South 400 West Region: UT CountryCode: US SponsorId: 2 responses: '201': description: Signifies that the Customer was created successfully. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." get: tags: - Customers summary: Get Customers By Parameter description: "Retrieves an array of Customers based on a valid parameter of choice.

\r\nNote: This API allows for multiple parameters, however only one parameter should be passed to the API at any given time, as only one will be honored.

\r\n\r\nYou can get the **Request Parameters** at this call:\r\n- Get Customer\r\n\r\n**NOTE:** Do not include spaces between words.\r\n - Format: FirstnameLastname\r\n - Ex. SamSpace" operationId: 57fe681ecb00f20ae896cc69 parameters: - name: backofficeid in: query description: 'The Back Office ID of the Customer(s) to retrieve. ' schema: type: string - name: externalreferenceid in: query description: 'The External Reference ID of the Customer(s) to retrieve. ' schema: type: string - name: email in: query description: 'The Email Address of the Customer(s) to retrieve. ' schema: type: string - name: username in: query description: 'The Username of the Customer(s) to retrieve. ' schema: type: string - name: webalias in: query description: 'The Web Alias of the Customer(s) to retrieve. ' schema: type: string responses: '200': description: Returns an array of valid Customer objects. content: application/json: example: - CustomerId: 2 BackOfficeId: ABC123 BirthDate: '1988-04-01T00:00:00.0000000+00:00' CompanyName: Test Company Name CustomerStatus: 1 CustomerType: 1 DefaultShippingAddress: AddressId: 15714 Street1: 7432 Maytown Road Street2: '' Street3: '' City: Springfield Region: NT PostalCode: '49007' CountryCode: US EmailAddress: testing@testing.directscale.com EnrollerId: 2 ExternalReferenceId: TEST123 FirstName: TestFirst InactiveDate: '1900-01-01T00:00:00.0000000+00:00' LanguageCode: EN LastName: TestLast PrimaryAddress: AddressId: 15714 Street1: 7432 Maytown Road Street2: '' Street3: '' City: Springfield Region: NT PostalCode: '49007' CountryCode: US PrimaryPhone: +1 555 555 1111 SecondaryPhone: +1 555 555 2222 SendEmails: false SignupDate: '2014-10-30T00:00:00.0000000+00:00' SponsorId: 1 TaxExemptId: 11-ASDF-1234 TaxId: 152-55-6765 TermsAccepted: true TextPhone: +1 555 555 1111 Username: myUsername WebAlias: hello-world-web-alias '404': description: No Customers with the given parameter were found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/{customerId}/autoship': post: tags: - Orders - Autoships - Customers summary: Create Customer Autoship Order description: "Creates an Autoship Order for the given Customer ID.

\r\nIf the ShippingAddress is not included in the json or set to null then the default shipping address for the customer will be used.

\r\n\r\nYou can get the **Request Parameter** at these calls:\r\n\r\n**customerId**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter" operationId: 58fba8ab322c2752fd451a8f parameters: - name: customerId in: path description: The ID of the Customer for whom an Autoship Order will be created. required: true schema: type: string requestBody: description: "Creates an autoship for the CustomerID provided in the URL.\r\n\r\n**Required Fields:**\r\n- StartDate\r\n- ShipMethodId\r\n- Items\r\n - ItemId\r\n- ShipAddress\r\n - Street1\r\n - City\r\n - Region\r\n - PostalCode\r\n - CountryCode" content: application/json (full): example: StartDate: '2020-03-13T19:40:51.5970000+00:00' Frequency: Weekly ShipMethodId: 1 MerchantId: 1 PaymentMethodId: Usual Card ShippingAddress: Street1: 350 S 400 W Street2: Ste 225 City: Lindon Region: UT PostalCode: '84042' CountryCode: us Items: - ItemId: 101 Quantity: 2 Custom: AutoShipId: 2 Field1: string Field2: string Field3: string Field4: string Field5: string PaymentMerchantId: 3 ShipAddress: Street1: 350 S 400 W Street2: Ste 225 Street3: '' City: Lindon Region: UT PostalCode: '84042' CountryCode: us application/json (minimal): example: StartDate: '2020-03-13T19:40:51.5970000+00:00' ShipMethodId: 1 Items: - ItemId: 17901 ShipAddress: Street1: 350 S 400 W City: Lindon Region: UT PostalCode: '84042' CountryCode: us responses: '201': description: Signifies that the Autoship Order was created successfully. '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/{customerId}/orders': post: tags: - Orders - Customers summary: Create Customer Order description: "Creates an Order for the given Customer Id.

\r\n\r\nYou can get the **Request Parameter** at these calls:\r\n\r\n**customerId**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter" operationId: 58995107b3ac881388ae1037 parameters: - name: customerId in: path description: The Id of the customer for whom an order will be created. required: true schema: type: string requestBody: description: "Required Fields:\r\n- CurrencyCode\r\n - **Get Regions** displays the country/state codes of the warehouses. If you are concerned about having the proper **CurrencyCode**, then this will allow you to know what region warehouse support team to call to get the confirmed **CurrencyCode**.\r\n- Items*\r\n - Products: Get Item by Filter\r\n - Products: Get Item by SKU\r\n - Products: Get Item by Id\r\n- Payments*\r\n- ShipMethodId\r\n - Orders: Get Shipping Methods\r\n- ShippingAddress\r\n - Get Customer\r\n- StoreId\r\n - Products: Get Stores\r\n\r\nOnFileCard Options:\r\n- Unknown\r\n- DoNotSave\r\n- Primary\r\n- Secondary\r\n- OneTimeUse\r\n\r\nOrder Types:\r\n- Standard (1) - This refers to any order that is not created from an autoship template, and is not the first order created for a user from enrollment.\r\n- Autoship (2) - This refers to orders created from an autoship template.\r\n- Enrollment (3) - This refers to the very first order placed by a user, usually from an enrollment form.\r\n
\r\n* At least one object must be present in the array.
\r\n
" content: application/json (minimal): example: ShipMethodId: 6 StoreId: 3 CurrencyCode: usd ShippingAddress: Street1: 350 S 400 W City: Lindon Region: UT PostalCode: '84042' CountryCode: us Items: - ItemId: 30 Quantity: 3 IsReward: false Payments: - Amount: 154.85 SavePaymentMethodId: 1 OnFileCard: Primary CurrencyCode: usd MerchantId: 99 SavePayment: true OrderCreditCard: CardToken: abc123456 NameOnCard: Sammy Spacey Last4: '1234' CardType: Visa ExpirationMonth: 12 ExpirationYear: 2022 Custom: Field1: Fields 1 - 5 Field5: Are set here. application/json (full): example: "{\r\n \"Attention\": \"ATTN: Bob McFerrin\",\r\n \"CouponCodes\": [\r\n \"Coupon123\"\r\n ],\r\n \"CurrencyCode\": \"usd\",\r\n \"FirstName\": \"Samuel\",\r\n \"Items\": [\r\n {\r\n \"ItemId\": 4,\r\n \"Quantity\": 1,\r\n \"IsReward\": false\r\n }\r\n ],\r\n \"LastName\": \"Spacey\",\r\n \"OrderType\": 1,\r\n \"PartyId\": 1,\r\n \"Payments\": [\r\n {\r\n \"Amount\": 10,\r\n \"SavePaymentMethodId\": 1,\r\n \"OnFileCard\": \"DoNotSave\",\r\n \"CurrencyCode\": \"usd\",\r\n \"MerchantId\": 99, // Test Merchant\r\n \"SavePayment\": true,\r\n \"OrderRewardPoints\": {\r\n \"Amount\": 0\r\n },\r\n \"OrderCreditCard\": {\r\n \"CardToken\": \"abc123456\",\r\n \"NameOnCard\": \"Sammy Spacey\",\r\n \"Last4\": \"1234\",\r\n \"CardType\": \"Visa\",\r\n \"ExpirationMonth\": 12,\r\n \"ExpirationYear\": 2022\r\n }\r\n }\r\n ],\r\n \"Phone\": \"801-555-5555\",\r\n \"PriceGroup\": 1,\r\n \"ShipMethodId\": 1,\r\n \"ShippingAddress\": {\r\n \"Line1\": \"555 W Center St\",\r\n \"Line2\": \"Apt 5b\",\r\n \"City\": \"Lindon\",\r\n \"State\": \"UT\",\r\n \"Zip\": \"81234\",\r\n \"CountryCode\": \"us\"\r\n },\r\n \"SpecialInstructions\": \"Leave it on the porch, please\",\r\n \"StoreId\": 1,\r\n \"WarehouseId\": 1,\r\n \"CountryCode\": \"us\",\r\n \"Custom\": {\r\n \"Field1\": \"Custom Field 1\",\r\n \"Field2\": \"string\",\r\n \"Field3\": \"string\",\r\n \"Field4\": \"string\",\r\n \"Field5\": \"Custom Field 5\"\r\n }\r\n}" responses: '201': description: Signifies that the Order was created successfully. content: application/json: example: OrderId: 50306 Total: 40.65 SubTotal: 25.7 TaxTotal: 0 ShippingTotal: 14.95 DiscountTotal: 0 CurrencyCode: QvTotal: 0 CvTotal: 0 TaxableSubTotal: 25.7 Items: '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." get: tags: - Customers - Orders summary: Get Customer Orders description: "Retrieves an array of Orders based on a valid Customer Id.\r\n\r\nYou can get the **Request Parameter** at these calls:\r\n\r\n**customerId**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter" operationId: 58994f26b3ac881388ae1035 parameters: - name: customerId in: path description: The Id of the Customer for whom Orders are to be retrieved. required: true schema: type: number responses: '200': description: Returns an array of valid Order objects. content: application/json: schema: $ref: '#/components/schemas/GetCustomerOrders' example: - BillPhone: +1 555 555 1111 CommissionDate: '2015-05-11T00:00:00.0000000+00:00' DistributorID: 2 Email: testing@testing.directscale.com InvoiceDate: '2015-05-11T00:00:00.0000000+00:00' LocalInvoiceNumber: 1234 Name: Testing Name OrderDate: '2015-05-11T00:00:00.0000000+00:00' OrderType: 1 OrderTypeDescription: Test Description OrderNumber: 18 SpecialInstructions: Special Instructions here... Status: Paid TotalBonus: 12 TotalCost: 120 TotalCV: 1 TotalRewardPoints: 5 TotalQV: 1 Void: false BillAddress: ID: 3214 Line1: 1234 Testing Wy. Line2: Line3: City: Elko State: NV Zip: '55487' CountryCode: US IsPaid: true IsShipped: false LineItems: - Amount: 25.5 Bonus: 0 Cost: 0 CurrencyCode: USD Height: 0 Length: 0 OrderNumber: 18 PackageNumber: 15 CV: 0 RewardPoints: 5 QV: 0 Qty: 1 SKU: TDLARCH ItemID: 6 ProductName: Turtle Arch Weight: 0 Width: 0 FlagCancer: false FlagBirthDefect: false Packages: - ID: 15 CustomerID: 233F7-16 Address1: 3214 Address2: Carrier: FedEx City: Elko CountryCode: US Height: 0 Length: 0 Notes: Special Instructions here... OrderNumber: 18 ShipByDate: '2015-05-11T00:00:00.0000000+00:00' ShipMethodID: 1 State: NV WarehouseID: 1 Weight: 0 Width: 0 Zip: '55487' ShipTo: Test Name Status: Submitted Totals: - TaxableSubTotal: 18.5 CurrencyCode: USD ExchangeRate: 1 OrderNumber: 18 Shipping: 7 SubTotal: 25.5 Tax: 1.67 TaxTransactionID: '' DiscountTotal: 0 OverridenShippingTax: false Total: 27.17 PaidAmount: 27.17 TotalDue: 0 Payments: - Amount: 27.17 AuthorizationNumber: asdf1234 TransactionNumber: asdfw56 CurrencyCode: USD ExchangeRate: 1 Merchant: 12 OrderNumber: 18 PayDate: '2015-05-11T00:00:00.0000000+00:00' PaymentResponse: '0: Success' PayType: Cash Reference: '' Status: Paid OrderCustom: Field1: Fields 1-5 Field5: Here '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/{customerid}/servicelog': post: tags: - Customers summary: Create Customer Service Log Entry description: "Create a service log entry for the given customer.

\r\nThis appears on the customer record.

\r\nPassing in a Message results in only a service log entry. Passing in both Message and Detailed Message creates the service log entry, and a (linked) related support record with greater detail.\r\n\r\nYou can get the **Request Parameter** at these calls:\r\n\r\n**customerid**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter" operationId: 5dcb2708dafe38aad9ae7ce6 parameters: - name: customerid in: path description: The Id of the Customer required: true schema: type: string requestBody: content: application/json: example: Message: (Required) Short message DetailedMessage: (Optional) Long message responses: '201': description: Returns the payment method ID for the new payment method that was created. '/{customerid}/paymentmethods/': post: tags: - Customers summary: Create Payment Method description: "Create a new payment method for the given customer.

\r\nNOTE; This operation is only available on Disco version 10 or later.
\r\n
\r\n\r\nYou can get the **Request Parameters** at these calls:\r\n\r\n**customerid**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter\r\n\r\n**Date + Time format**\r\n\r\nYear-Month-Day'T'MilitaryTimeHour:Minute:Second\r\n- Ex. 2018-10-30T15:47:52" operationId: create-payment-method parameters: - name: customerid in: path description: The Id of the Customer to create a payment method for. required: true schema: type: string requestBody: description: "**Required Fields:**\r\n- **MerchantId**\r\n - Get Payment Merchants\r\n- **Expires**\r\n - _Expiration Date of the card_" content: application/json (full): example: MerchantId: 99 PaymentToken: 123Token789 CardType: Visa NameOnAccount: John Smith Ending: '1111' Expires: '2020-01-01T00:00:00.0000000+00:00' CurrencyCode: USD application/json (minimal): example: MerchantId: 99 Expires: '2020-01-01T00:00:00.0000000+00:00' responses: '201': description: Returns the payment method ID for the new payment method that was created. get: tags: - Customers summary: Get Customer Saved Payment Methods description: "Retrieves an list of PaymentMethods for the given Customers for the given Store.\r\n

\r\n\r\nYou can get the **Request Parameters** at these calls:\r\n\r\n**customerid**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter\r\n\r\n**storeId**\r\n- Products: Get Stores" operationId: get-payment-methods-by-parameters parameters: - name: customerid in: path description: The Id of the Customer to retrieve payment methods for. required: true schema: type: string - name: storeid in: query description: The ID of the store to get available payment methods for. required: true schema: type: string responses: '200': description: Returns an array of payment methods. content: application/json: example: - PaymentMethodId: TestToken1 MerchantId: 99 CardType: Visa NameOnAccount: John Smith Ending: '1111' Expires: '2020-01-01T00:00:00.0000000+00:00' CurrencyCode: USD - PaymentMethodId: TestToken2 MerchantId: 99 CardType: MasterCard NameOnAccount: John Smith Ending: '1112' Expires: '2020-09-01T00:00:00.0000000+00:00' CurrencyCode: USD '/autoship/{autoshipId}': delete: tags: - Autoships - Customers summary: 'Delete Autoship (Deprecated - use /autoship/{autoshipId})' description: "Deletes an Autoship Order for the given Autoship Id.

\r\nDeprecated: Please use \"Delete Autoship\" in the Orders API." operationId: delete-autoship parameters: - name: autoshipId in: path description: The Id of the AutoShip to delete. required: true schema: type: int requestBody: content: application/json: example: Message: Some message responses: '200': description: The Autoship with the given Id was successfully deleted. '404': description: An Autoship with the given Id was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." put: tags: - Customers - Autoships - Orders summary: Update AutoShip Date and Amount description: "Updates the Last Charge Amount and Next Process Date of the given AutoShip.\r\n\r\n\r\nYou can get the **Request Parameter** at this call:\r\n\r\n**autoshipId**\r\n- Get Customer Autoships" operationId: update-autoship-date-and-amount parameters: - name: autoshipId in: path description: The Id of the AutoShip to update. required: true schema: type: int requestBody: content: application/json: example: LastChargeAmount: 0 NextProcessDate: date responses: '200': description: The Autoship with the given Id was successfully updated. '404': description: An Autoship with the given Id was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/{customerId}': delete: tags: - Customers summary: Delete Customer description: "Deletes a Customer (and all peripheral data) based on a valid Customer Id.

\r\n\r\nSpecifically, it does the following:\r\n- Checks for valid associate ID\r\n- Checks for active orders, throws error if there are any\r\n- Clears placement in trees\r\n- Mark associate VOID in CRM_Distributors table, and null out backofficeID, externalID, email address, taxID, TaxExempt flag\r\n- Deletes login\r\n- Deletes website/web alias record\r\n- Deletes autoships\r\n- Deletes user from Azure Search\r\n\r\nYou can get the **Request Parameter** at these calls:\r\n\r\n**customerId**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter" operationId: 57fe8026cb00f20ae896cc6d parameters: - name: customerId in: path description: 'The Id of the Customer to delete. ' required: true schema: type: string responses: '200': description: The Customer was successfully deleted. '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." get: tags: - Customers summary: Get Customer description: "Retrieves a Customer based on a valid Customer Id.\r\n\r\nYou can get the **Request Parameter** at these calls:\r\n\r\n**customerId**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter" operationId: 57fe68e3cb00f20ae896cc6a parameters: - name: customerId in: path description: 'The Id of the Customer to retrieve. ' required: true schema: type: string responses: '200': description: Returns a valid Customer object. content: application/json: example: CustomerId: 2 BackOfficeId: ABC123 BirthDate: '1988-04-01T00:00:00.0000000+00:00' CompanyName: Test Company Name CustomerStatus: 1 CustomerType: 1 DefaultShippingAddress: AddressId: 15714 Street1: 7432 Maytown Road Street2: '' Street3: '' City: Springfield Region: NT PostalCode: '49007' CountryCode: US EmailAddress: testing@testing.directscale.com EnrollerId: 2 ExternalReferenceId: TEST123 FirstName: TestFirst InactiveDate: '1900-01-01T00:00:00.0000000+00:00' LanguageCode: EN LastName: TestLast PrimaryAddress: AddressId: 15714 Street1: 7432 Maytown Road Street2: '' Street3: '' City: Springfield Region: NT PostalCode: '49007' CountryCode: US PrimaryPhone: +1 555 555 1111 SecondaryPhone: +1 555 555 2222 SendEmails: false SignupDate: '2014-10-30T00:00:00.0000000+00:00' SponsorId: 1 TaxExemptId: 11-ASDF-1234 TaxId: 152-55-6765 TermsAccepted: true TextPhone: +1 555 555 1111 Username: myUsername WebAlias: hello-world-web-alias '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." put: tags: - Customers summary: Update Customer description: "Updates an existing Customer's information.

\r\nNote: This call requires an update to all of the Customer's information. Therefore, if a field is omitted or remains blank, the update will clear out the existing information. If only a partial update is desired, please use the PATCH Update Customer API call.

\r\n\r\nYou can get the **Request Parameter** at these calls:\r\n\r\n**customerId**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter" operationId: 57fe7ebccb00f20ae896cc6c parameters: - name: customerId in: path description: 'The ID of the Customer to update. ' required: true schema: type: string requestBody: description: "All Fields are Required\r\n\r\n WARNING: If a field is omitted or remains blank, the update will clear out the existing information.

\r\n\r\nAll variables can be found using **Get Customer** and **Get Customers by Parameter**.\r\n- BirthDate\r\n- CompanyName\r\n- CustomerStatus\r\n- CustomerType\r\n- DefaultShippingAddress\r\n - Street1\r\n - Street2\r\n - City\r\n - Region\r\n - PostalCode\r\n - CountryCode\r\n- EmailAddress\r\n- ExternalReferenceId\r\n- FirstName\r\n- LanguageCode\r\n- LastName\r\n- PrimaryAddress\r\n - Street1\r\n - Street2\r\n - City\r\n - Region\r\n - PostalCode\r\n - CountryCode\r\n- PrimaryPhone\r\n- SecondaryPhone\r\n- SponsorId\r\n- TaxExemptId\r\n- TextPhone" content: application/json: schema: $ref: '#/components/schemas/UpdateCustomer' example: BirthDate: '1979-04-01T00:00:00.0000000+00:00' CompanyName: Test Company CustomerStatus: 1 CustomerType: 1 DefaultShippingAddress: Street1: 7432 Maytown Road Street2: '' City: Springfield Region: NT PostalCode: '49007' CountryCode: US EmailAddress: janedoe@directscale.testing.com ExternalReferenceId: jane1234 FirstName: Jane LanguageCode: en LastName: Doe PrimaryAddress: Street1: 7432 Maytown Road Street2: '' City: Springfield Region: NT PostalCode: '49007' CountryCode: US PrimaryPhone: +1 801 555-1111 SecondaryPhone: +1 801 555-2222 SponsorId: 1 SendEmails: true TaxExemptId: 11-asdf-1234 TextPhone: +1 801 555-1111 responses: '200': description: The Customer was updated correctly. '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." patch: tags: - Customers summary: UpdateCustomerByParameter description: "Updates an existing Customer's information.

\r\nNote: This call updates only the Customer's information that is passed in. If the variable desired is part of an array of variables, then the rest of the variables must be included. If a complete update is desired, then please use the PUT Update Customer API call.

\r\n\r\nYou can get the **Request Parameter** at these calls:\r\n\r\n**customerId**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter\r\n\r\n**Date + Time format**\r\n\r\nYear-Month-Day'T'MilitaryTimeHour:Minute:Second\r\n- Ex. 2020-02-20T15:47:52\r\n" operationId: 593adc28b3ac880fe0fceb4c parameters: - name: customerId in: path description: The ID of the Customer to update. required: true schema: type: string requestBody: description: "Include only the fields needed for the Customer update.\r\n\r\nSupported Fields:\r\n- WebAlias\r\n- Username\r\n- CustomerType\r\n- CustomerStatus\r\n- BirthDate\r\n- CompanyName\r\n- EmailAddress\r\n- PrimaryAddress (All Address properties must be specified: Street1, Street2, City, Region, PostalCode, CountryCode)\r\n- DefaultShippingAddress (All Address properties must be specified: Street1, Street2, City, Region, PostalCode, CountryCode)\r\n- FirstName\r\n- LanguageCode\r\n- LastName\r\n- PrimaryPhone\r\n- SecondaryPhone\r\n- TaxId\r\n- TextPhone\r\n\r\n

" content: application/json: example: WebAlias: my-web-alias Username: myUsername CustomerType: 1 CustomerStatus: 1 responses: '200': description: The Customer was updated successfully. '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/{customerid}/paymentmethods/{paymentmethodid}': delete: tags: - Customers summary: Delete Payment Method description: "Delete the given payment method for this customer.

\r\nNote: You must also provide the merchant id for the given payment method.

\r\n\r\nYou can get the **Request Parameters** at these calls:\r\n\r\n**customerid**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter\r\n\r\n**paymentmethodid**\r\n- Get Payment Method by Parameters\r\n\r\n**merchantid**\r\n- Get Payment Merchants" operationId: delete-payment-method parameters: - name: customerid in: path description: The Id of the customer to delete the payment method for. required: true schema: type: string - name: paymentmethodid in: path description: The payment method Id of the payment to delete. required: true schema: type: string - name: merchantid in: query description: The ID of the merchant that the payment method is assigned to. required: true schema: type: string responses: '200': description: Payment method was removed from the system. '/{customerId}/autoships': get: tags: - Orders - Autoships - Customers summary: Get Customer Autoships description: "Retrieves an array of Autoships based on a valid Customer Id.\r\n\r\nYou can get the **Request Parameter** at these calls:\r\n\r\n**customerId**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter" operationId: 5dcb36b61bc448bce7d67fe6 parameters: - name: customerId in: path description: The Id of the Customer for whom Autoships are to be retrieved. required: true schema: type: number - name: includeServiceAutoships in: query description: 'Some autoships are related to services like website access. By default, these will be included. To only retrieve non-service autoships, pass "false".' schema: enum: - 'true' - 'false' type: bool default: 'true' - name: includeActiveAutoships in: query description: 'Set to true to retrieve active autoships. If omitted, this parameter defaults to true' schema: enum: - 'true' - 'false' type: bool default: 'true' - name: includeCanceledAutoships in: query description: 'Set to true to retrieve canceled / deleted autoships. If omitted, this parameter defaults to false' schema: enum: - 'true' - 'false' type: bool default: 'false' responses: '200': description: Returns an array of valid Autoship objects. content: application/json: schema: $ref: '#/components/schemas/GetCustomerAutoshipsResponse' example: - AutoShipID: 1 AssociateID: 12 AssociateFirstName: Sam AssociateLastName: Space ShipAddress: Street1: 1234 Test Dr. Street2: Ste. 360 City: Placerville PostalCode: '95667' Region: CA CountryCode: US StartDate: '2021-10-27T16:19:08.0000000+00:00' Frequency: 0 LastProcessDate: '2021-10-27T00:00:00.0000000+00:00' NextProcessDate: '2021-11-27T00:00:00.0000000+00:00' LastChargeAmount: 10 Status: Scheduled ShipMethodDescription: UPS 3-Day Shipping ShipMethodID: 3 PaymentMethodID: _TESTCARD_E0BNK54A65 PaymentDescription: Visa ending in 4321 PaymentExpirationMonth: '10' PaymentExpirationYear: '2026' PaymentMerchantID: 99 AutoShipType: 0 LineItems: - ItemID: 4 Quantity: 2 Cost: 0 ExtendedPrice: 20 ExtendedOriginalPrice: 20 ExtendedBonus: 0 ExtendedCV: 10 ExtendedQV: 8 ExtendedRewardPoints: 0 ExtendedCost: 0 ProductName: SLJ84L Description: Language description here Specifications: Specifications here SEO: '' LanguageCode: en SKU: SLJ84L SkuID: 4 Category: ID: 1 CategoryTranslations: - Id: 1 CategoryId: 1 Description: Test Category Name: Test Category LanguageCode: en Name: Test Category Description: Test Category DisplayIndex: 0 ImageUrl: '' ParentID: 0 ProductLineID: 0 ShortDescription: Test Category StoreIDs: [ ] HasChildren: false ChargeShipping: true Custom: ItemId: 0 Field1: asdf Field2: '1234' Field3: L|M Field4: '1,2,3,4,5' Field5: '' Height: 12 Image: /no_image.jpg Length: 6 LengthUOM: in MPN: 11-22-gg OutOfStockStatus: 1 PackCount: 0 PackageGroupID: 1 TaxClassID: 0 UnitOfMeasure: ea UPC: Test UPC Weight: 0 WeightUOM: '' Width: 0 FlagBirthDefects: false HasKitGroups: false FlagCancer: true PriceGroup: 1 Images: [ ] Prices: - GroupID: 1 Price: 10 PriceCurrency: USD OriginalPrice: 10 Bonus: 0 CV: 5 QV: 4 RewardPoints: 0 Options: [ ] ItemOptions: [ ] Languages: - Description: Language description here LanguageCode: en ProductName: SLJ84L SEOKeywords: '' Specifications: Specifications here OptionsMap: [ ] HasOptions: false Price: 10 PriceCurrency: USD OriginalPrice: 10 Bonus: 0 CV: 5 QV: 4 RewardPoints: 0 CouponsBeingUsed: 0 StoreId: 5 PriceGroups: - 1 Custom: Field1: asdf Field2: '1234' Field3: 'a,b,c' Field4: 122|344 Field5: '' FrequencyString: Every Week on Wednesday TotalCV: 10 TotalQV: 8 CurrencyCode: USD SubTotal: 20 '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/{customerId}/countries': get: tags: - Address summary: Get Customer Countries description: 'For a given customer ID, retrieves the active countries. Use this in conjunction with /address//states to retrieve states/provinces for the countries.' operationId: get-countries-for-customer parameters: - name: customerId in: path description: ID of customer to get available countries for. required: true schema: type: int responses: '200': description: 'null' '/{customerId}/customFields': get: tags: - Customers summary: Get Customer Custom Fields description: 'Get custom fields for the given Customer ID. ' operationId: get-customer-custom-fields parameters: - name: customerId in: path description: Customer ID (internal Disco ID) required: true schema: type: int responses: '200': description: 'null' '/{customerId}/downline': get: tags: - Commissions summary: Get Customer Downline Ids description: 'Retrieves an array of Associates in your organization by tree, for the given customerId.' operationId: 5f6615ef93429e020405fa2b parameters: - name: customerId in: path description: Upline ID (DirectScale ID) required: true schema: type: int - name: tree in: query description: Organizational tree to search schema: enum: - '' - '' - '' - '' type: '' - name: levels in: query description: Number of Levels returned. If 0 returns all levels schema: type: int responses: '200': description: Returns an array of valid Service objects. content: application/json: example: - 1 - 2 - 3 - 4 - 5 '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." /GetDownlineIds: get: tags: - Customers summary: Get Customer Downline Ids (Deprecated - use /customers//downline) description: "Retrieves an array of Associates in your organization by tree.\r\n\r\nYou can get the **Request Parameters** at these calls:\r\n\r\n**associateId**\r\n- Get Customer Stats" operationId: 5c09527cbdc0d215e3ddac6a parameters: - name: associateId in: query description: Associate to get downline for required: true schema: type: int - name: tree in: query description: Organizational tree wanted to search schema: enum: - '' - '' - '' - '' type: '' - name: levels in: query description: Number of Levels returned. If 0 returns all levels schema: type: int responses: '200': description: Returns an array of valid Service objects. content: application/json: example: - 1 - 2 - 3 - 4 - 5 '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." /customer-ids: get: tags: - Customers summary: Get Customer IDs description: Retrieves an array of all Customer IDs.

operationId: 5bad227914dbc118bb57e186 responses: '200': description: Returns an array of all Customer IDs. content: application/json: example: - 1 - 2 - 3 - 4 - 5 '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." /customer-ids-by-filter: get: tags: - Customers summary: Get Customer IDs by Filter description: "Gets all Customer IDs that meet the specified criteria.

\r\n\r\n**Date + Time format**\r\n\r\nYear-Month-Day'T'MilitaryTimeHour:Minute:Second\r\n- Ex. 2018-10-30T15:47:52" operationId: 5bad3171692fafb890855da4 parameters: - name: customerType in: query description: 'Using the SQL manager in Disco, find these values using this query: "SELECT * FROM crm_associatetypes"' schema: type: int - name: enrollmentBeginDate in: query schema: type: Date/Time - name: enrollmentEndDate in: query schema: type: Date/Time - name: lastUpdatedBeginDate in: query schema: type: Date/Time - name: lastUpdatedEndDate in: query schema: type: Date/Time responses: '200': description: Gets an array of all Customer IDs that meet the specified criteria. content: application/json: example: - 1 - 3 - 5 '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/{customerId}/orders/{orderId}': get: summary: 'Get Customer Order Details (Deprecated - use /orders/orderid) ' description: 'DEPRECATED: Please use the Get Order API instead.

' operationId: 596513d1b3ac880988fd2c50 parameters: - name: customerId in: path description: '' required: true schema: type: string - name: orderId in: path description: '' required: true schema: type: string responses: '200': description: 'null' '/{customerId}/parties/{partyStatus}': get: tags: - Customers summary: Get Customer Parties description: "Retrieves an array of Customer Parties based on a valid Customer ID and Party Status.
\r\n
\r\nPREVIEW: Please note that this method is still under development.
\r\n\r\nYou can get the **Request Parameters** at these calls:\r\n\r\n**customerId**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter\r\n\r\n**partyStatus**\r\n- Get Customer Party Totals\r\n\r\n**partyStatus Options:**\r\n- Open\r\n- Closed\r\n- Awarded" operationId: 5953da9eb3ac8812040c6543 parameters: - name: customerId in: path description: The ID of the Customer whose Parties are to be retrieved. required: true schema: type: string - name: partyStatus in: path description: The Party Status used to retrieve the Customer Parties. required: true schema: enum: - Open - Closed - Awarded type: string responses: '200': description: Returns an array of valid Party objects. content: application/json: example: - PartyId: 25 CustomerId: 20625 Description: Test party at my house! HostId: 20625 HostEmail: testing@testing.directscale.com AwardedDate: '2017-02-25T00:00:00.0000000+00:00' BeginDate: '2016-12-21T00:00:00.0000000+00:00' EndDate: '2017-02-21T00:00:00.0000000+00:00' ClosedDate: '0001-01-01T00:00:00.0000000+00:00' PartyDate: '0001-01-01T00:00:00.0000000+00:00' StartTime: '2020-03-12T10:00:00.0000000+00:00' EndTime: '2020-03-12T12:30:00.0000000+00:00' Address: ID: 1 Line1: 1234 Test Dr. Line2: '' Line3: '' City: Test City State: UT Zip: '84057' CountryCode: US Directions: Turn left on Baker's St. Third house on the left. OrderDeliveryType: 1 Status: Open Orders: - OrderNumber: 1 AssociateID: 2 CommissionDate: '0001-01-01T00:00:00.0000000+00:00' OrderDate: '2017-07-03T00:00:00.0000000+00:00' Total: 53.5 TotalCV: 300 TotalQV: 600 IsPaid: false ItemCount: 1 Status: Waiting Payment Stats: - ID: fake-id-1 Value: 30 IsBool: false Rewards: - ID: fake-id-2 Requirement: Number of Orders RewardName: '' Value: 4 NeededValue: 20 Options: - NeededValue: 2 RewardValue: 20 History: [ ] '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/{customerId}/parties/totals': get: tags: - Customers summary: Get Customer Party Totals description: "Retrieves an array of Party Totals based on a valid Customer Id.
\r\n
\r\nPREVIEW: Please note that this method is still under development.
\r\n\r\nYou can get the **Request Parameter** at these calls:\r\n\r\n**customerId**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter" operationId: 595d29bfb3ac881714d011a1 parameters: - name: customerId in: path description: The Id of the Customer whose Party Totals are to be retrieved. required: true schema: type: string - name: beginDate in: query description: Begin date for the timeline of the parties searched. required: true schema: type: string - name: endDate in: query description: End date for the timeline of the parties searched. required: true schema: type: string responses: '200': description: Returns an array of valid Party Total objects. content: application/json: example: - ID: 1 BeginDate: '2016-12-22T00:00:00.0000000+00:00' EndDate: '2016-12-22T00:00:00.0000000+00:00' HostID: 2 Status: Open TotalCV: 6400 TotalQV: 12800 Total: 1510.1 '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/{customerid}/services': get: tags: - Customers summary: Get Customer Services description: "Retrieves an array of Active Services on a valid Customer Id.\r\n\r\nYou can get the **Request Parameter** at these calls:\r\n\r\n**customerid**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter" operationId: get-customer-services parameters: - name: customerid in: path description: The Id of the Customer for whom Orders are to be retrieved. required: true schema: type: number responses: '200': description: Returns an array of valid Service objects. content: application/json: example: "X-DirectScale-RequestId: c0ebc134-bbbf-43c2-8aa1-628c14052387\r\nDate: Tue, 17 Mar 2020 20:32:08 GMT\r\nContent-Length: 362\r\nContent-Type: application/json\r\n\r\n[{\r\n \"ServiceName\": \"Tech Package\",\r\n \"CustomerId\": 2,\r\n \"ServiceId\": 1,\r\n \"ExpirationDate\": \"2020-03-06T00:00:00\",\r\n \"Services\": [{\r\n \"ServiceId\": 1,\r\n \"ItemId\": 17943,\r\n \"ServicePeriod\": 1,\r\n \"ServicePeriodType\": \"Months\",\r\n \"GracePeriod\": 0,\r\n \"CreateAutoship\": true\r\n }]\r\n}]" '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/{customerid}/stats': get: tags: - Customers summary: Get Customer Stats description: "Provides a collection of commission metrics and statistical information for a given customer.\r\n\r\nYou can get the **Request Parameter** at these calls:\r\n\r\n**customerid**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter\r\n\r\n**Date Format**\r\n\r\nYear-Month-Day\r\n- Ex. 2018-10-30" operationId: 58c9aa365b859009f09f5af3 parameters: - name: customerid in: path description: The Id of the Customer whose Stats are to be retrieved. required: true schema: type: string - name: date in: query description: The Date up to which the Stats will be gathered. The default is Today. schema: type: dateTime responses: '200': description: Returns a valid Stats object. content: application/json: example: AssociateID: 2 BackOfficeID: 1234qwer AssociateTypeID: 1 StatusID: 0 Name: Test User Date: '2017-07-18T00:00:00.0000000+00:00' KitLevel: 1 KitLevels: CV: 0 QV: 0 RV: 0 Active: true CommissionAmount: 0 GroupVolume: 0 Stats: TestStat: Description: Test Stat Key: TestStat Value: 2 IsKPI: true IsBool: true DisplayValue: No RankOptions: - Rank: 1 Groups: - Options: - Rank: 1 Description: Test Rank MeetsCondition: true Min: 2 Max: 2 Value: 2 RankOptionID: RankOption_1_1_1 PercentComplete: 100 IsBool: false Rank: 1 RankDescription: Test Rank LastRank: 0 HighestRank: 1 '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." /customers-datapoints: post: tags: - Customers summary: Get Customers' DataPoints description: Gets the specified DataPoints for the specified customers. Call "Get DataPoint Categories" to see possible DataPoints. operationId: 5be5ffc34ded86ae1eb545c5 requestBody: description: Gets the specified DataPoints for the specified customers. content: application/json: example: AssociateIds: - 2 DataPointsFilter: - ID: CommissionsCV Date: '2017-05-12T00:00:00.0000000+00:00' - ID: AssociateAddressAddress - ID: AssociateAddressCity - ID: AssociateAddressState - ID: TreesMatrixAvailablePlacementCount responses: '200': description: Returns the specified DataPoints for the specified Customers. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/clone-60d38/clone-60d38/{customerId}/downline/PlaceTo': get: summary: Get Customers To Place To description: 'Retrieves an array of Associates in your organization by tree, for the given customerId.' operationId: 60d386a59f932ab63293647f parameters: - name: customerId in: path description: 'The Id of the Customer to place. ' required: true schema: type: int - name: tree in: query description: Organizational tree to search required: true schema: enum: - '' - '' - '' - '' type: '' responses: '200': description: Returns an array of valid Service objects. content: application/json: { } '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." /datapoint-categories: get: tags: - Customers summary: Get DataPoint Categories description: Retrieves an array of all DataPoint Categories. operationId: 5be5fe055c40b04cea138665 responses: '200': description: Returns an array of all DataPoint Categories. content: application/json: example: - 1 - 2 - 3 - 4 - 5 '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." /notificationEvents: get: tags: - Customers - Events summary: Get Notification Events description: "For a given date/time range, fetch all notification events generated by customer events. The \"notification type\" is an integer. Its values could vary by client if overridden, but the default list is as follows:\r\n\r\n Enrollment = 0,\r\n RankAdvancement = 1,\r\n NewOrder = 2,\r\n NewAutoOrder = 3,\r\n CommissionStatChanged = 4,\r\n AutoShipProcessFailure = 5\r\n\r\n**Date + Time format**\r\n\r\nYear-Month-Day'T'MilitaryTimeHour:Minute:Second\r\n- Ex. 2018-10-30T15:47:52" operationId: get-notification-events parameters: - name: beginDate in: query description: Begin date of notification range required: true schema: type: Date/Time - name: endDate in: query description: End date of notification range required: true schema: type: Date/Time responses: '200': description: '' content: application/json: example: - AssociateID: 1 EventType: 2 EventValue: '10003986' EntryDate: '2020-01-30T11:55:58.0000000+00:00' EventDate: '0001-01-01T00:00:00.0000000+00:00' - AssociateID: 1 EventType: 2 EventValue: '10003987' EntryDate: '2020-01-30T12:55:37.0000000+00:00' EventDate: '0001-01-01T00:00:00.0000000+00:00' - AssociateID: 1 EventType: 2 EventValue: '10003988' EntryDate: '2020-01-30T13:26:23.0000000+00:00' EventDate: '0001-01-01T00:00:00.0000000+00:00' - AssociateID: 1 EventType: 2 EventValue: '10003989' EntryDate: '2020-01-30T13:41:10.0000000+00:00' EventDate: '0001-01-01T00:00:00.0000000+00:00' - AssociateID: 1 EventType: 2 EventValue: '10003990' EntryDate: '2020-01-30T14:46:44.0000000+00:00' EventDate: '0001-01-01T00:00:00.0000000+00:00' '/{customerid}/merchants': get: tags: - Customers summary: Get Payment Merchants description: "Get a list of merchants that can accept payment methods for the given store, country, and language.

\r\n\r\nYou can get the **Request Parameters** at these calls:\r\n\r\n**customerid**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter\r\n\r\n**storeId**\r\n- Products: Get Stores\r\n\r\n**CountryCode**\r\n- Products: Get Regions\r\n\r\n**Region**\r\n- Products: Get Regions" operationId: get-payment-merchants parameters: - name: customerid in: path description: The ID of the Customer to get a list of merchants for. required: true schema: type: string - name: storeid in: query description: The ID of the Store to retrieve merchants for. required: true schema: type: string - name: countrycode in: query description: Two digit Country code. required: true schema: type: string - name: region in: query description: Two digit Region/State/Province code. schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetPaymentMerchantsResponse' example: - MerchantId: 99 Name: Test Merchant (USD) DisplayName: Credit Card CurrencyCode: USD IsApm: false - MerchantId: 188 Name: Nexio APM - Apple Pay (USD) DisplayName: Apple Pay CurrencyCode: USD IsApm: true '400': description: Returns one of an array of different error possibilities. Please refer to the error description in the `x-directscale-message` header for greater detail. headers: x-directscale-message: description: Provides a description of any error that occurs. schema: type: string '/{customerid}/paymentmethods/iframe': get: tags: - Customers summary: Get Payment Method IFrame description: "Get the data to display a iFrame for hosting the payment data capture form for the given store.

\r\n\r\nYou can get the **Request Parameters** at these calls:\r\n\r\n**customerid**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter\r\n\r\n**iframeId**\r\n- Not sourced by DirectScale\r\n\r\n**storeId**\r\n- Products: Get Stores\r\n\r\n**countryCode**, **Region**, and **languageCode**\r\n- Products: Get Regions" operationId: get-payment-method-iframe parameters: - name: customerid in: path description: The Id of the Customer to setup the iframe data for. required: true schema: type: string - name: iframeid in: query description: The HTML tag ID of the frame to be displayed. required: true schema: type: string - name: storeid in: query description: The ID of the Store to capture the payment method for. required: true schema: type: string - name: countrycode in: query description: Two digit Country code. required: true schema: type: string - name: region in: query description: Two digit Region/State/Province code. required: true schema: type: string - name: languagecode in: query description: Two digit Language code required: true schema: type: string responses: '200': description: Returns data for hosting an iFrame payment capture form. content: application/json: example: MerchantId: 99 IFrameUrl: https://client.corpadmin.directscale.com/AddCardFrameTest Height: 810 Width: 530 Script: /temp/paymentmethods/iframe: get: tags: - Customers summary: Get Payment Method IFrame (Temp User) description: "Get the data to display a iFrame for hosting the payment data capture form for the given store.

This will also create a temporary customer/associate account. The customer ID is returned in the response body. The Customer Id can be used to save payment method data and submit a enrollment order. The account will not be visible to other areas of the system until the submit enrollment is called. If the enrollment is never processed, then the account will automatically be removed from the system.

\r\n\r\nYou can get the **Request Parameters** at these calls:\r\n\r\n**iframeId**\r\n- Not sourced by DirectScale\r\n\r\n**storeId**\r\n- Products: Get Stores\r\n\r\n**countryCode**, **region**, and **languageCode**\r\n- Products: Get Regions" operationId: 5b03347e795d2e8091251f30 parameters: - name: iframeid in: query description: The HTML tag ID of the frame to be displayed. required: true schema: type: string - name: storeid in: query description: The ID of the Store to capture the payment method for. required: true schema: type: string - name: countrycode in: query description: Two digit Country code. required: true schema: type: string - name: region in: query description: Two digit Region/State/Province code. required: true schema: type: string - name: languagecode in: query description: Two digit Language code. required: true schema: type: string responses: '200': description: Returns data for hosting an iFrame payment capture form. content: application/json: example: CustomerId: 1999 MerchantId: 99 IFrameUrl: https://client.corpadmin.directscale.com/AddCardFrameTest Height: 810 Width: 530 Script: '/clone-60d38/{customerId}/downline/UnplacedAssociates': get: summary: Get Unplaced Customers description: 'Retrieves an array of Associates in your organization by tree, for the given customerId.' operationId: 60d3858ab37428ed7b3d71cc parameters: - name: customerId in: path description: 'The Id of the Customer to place. ' required: true schema: type: int - name: tree in: query description: Organizational tree to search required: true schema: enum: - '' - '' - '' - '' type: '' responses: '200': description: Returns an array of valid Service objects. content: application/json: { } '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." /websiteInfo: get: summary: Get Website Information (Deprecated) description: "DEPRECATED: Please use the Get Website Information (Extended) instead.

\r\n\r\nYou can get the **Request Parameters** at these calls:\r\n\r\n- Get Customer" operationId: 5965150db3ac880988fd2c51 parameters: - name: webAlias in: query description: The web alias / subdomain used for fetching a customer's personal website. required: true schema: type: string responses: '200': description: '' content: application/json: example: CustomerId: '2' BackOfficeId: 15F92 FirstName: Sam LastName: Space CompanyName: WebAlias: samspace ImageUrl: https://stream.corpadmin.directscale.com/ProfileImage?id=2 PrimaryPhone: '' SecondaryPhone: EmailAddress: '' Country: US Region: NY AboutMe: '' SocialMediaUrls: [ ] /websiteInfo2: get: tags: - Customers summary: Get Website Information (Extended) description: "Retrieves custom website information for the given Web Alias.\r\n\r\nYou can get the **Request Parameter** at this call:\r\n\r\n**webAlias**\r\n- Get Customer" operationId: 5a874be6b3ac880a38c60ca0 parameters: - name: webAlias in: query description: The web alias / subdomain used for fetching a customer's personal website. required: true schema: type: string responses: '200': description: '' content: application/json: example: FirstName: Sam LastName: Space EmailAddress: amy+sam@directscale.com PrimaryPhone: '' SecondaryPhone: '' WebAlias: SamSpace CustomerId: 2 City: Lindon Region: UT CountryCode: us AboutMe: Follow the clues to find out... EnrollmentUrl: https://treasurehunt.enroll.directscaledev.com/#/SamSpace/Start OfficeUrl: https://treasurehunt.office2.directscaledev.com ShoppingLink: https://treasurehunt.shop.directscaledev.com/SamSpace Facebook: Twitter: Pinterest: YouTube: Linkdin: ImageUrl: https://treasurehunt.corpadmin.directscaledev.com/BackOffice/ProfileImage?id=2 BackOfficeId: 15F92 ReplicatedSiteUrl: LanguageCode: en CustomerType: '1' '/{customerId}/downline/placenode': post: summary: PlaceNode description: 'Retrieves an array of Associates in your organization by tree, for the given customerId.' operationId: 60c7c5a616aef70e16c5bf7d parameters: - name: customerId in: path description: 'The Id of the Customer to place. ' required: true schema: type: int - name: tree in: query description: Organizational tree to search required: true schema: enum: - '' - '' - '' - '' type: '' - name: toUplineId in: query description: "The Id of the Customer to place under\n " required: true schema: type: int - name: leg in: query description: The leg to place under required: true schema: type: '' - name: reason in: query description: The reason for the placement schema: type: '' - name: findAvailable in: query description: "If true, This will find the next available node under toUplineId.\nIf false, The system will not find an available node and give an error if the requested position is not empty. " schema: enum: - true type: boolean default: true responses: '200': description: Returns an array of valid Service objects. content: application/json: { } '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/{customerId}/reset-password': put: tags: - Customers summary: Reset Password description: "Updates the password of the customer designated.\r\n\r\nYou can get the **Request Parameter** at these calls:\r\n\r\n**customerId**\r\n- Get Customer IDs\r\n- Get Customer IDs by Filter\r\n" operationId: 5967f042b3ac8807249d6e6e parameters: - name: customerId in: path description: The Id of the Customer whose password is to be reset. required: true schema: type: string requestBody: description: "Required Fields:\r\n- newPassword" content: application/json: example: newPassword: '************' responses: '200': description: The Customer Password was reset successfully. '404': description: A Customer with the given Customer ID was not found. '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/search/{searchTerm}': get: tags: - Customers summary: Search Associates description: "Search for all associates that match the given search term.\r\n\r\nWithin the searchTerm parameter, the following values can be searched and will return all variable values associated with that variable name:\r\n- backOfficeId\r\n- externalId\r\n- emailAddress\r\n- firstName\r\n- lastName\r\n- legalFirstName\r\n- legalLastName\r\n- romanizedFirstName\r\n- romanizedLastName\r\n- textNumber\r\n- primaryPhone\r\n- address1\r\n- city\r\n- state\r\n- zip" operationId: search-associate parameters: - name: searchTerm in: path description: The search term used for look up. required: true schema: type: string - name: includeWebAliases in: query description: Each response in the array will also contain an array of the customer's assigned Web Aliases. schema: enum: - 'true' - 'false' type: bool default: 'false' - name: associateTypeIds in: query description: 'Filters out associates whose type id IS NOT one of the values specified. If left blank, results will not be filtered by type id. Values must be separated by a comma. Example: 1,2,3.' schema: enum: - '1,2,3,etc.' type: 'int[]' - name: associateStatusIds in: query description: 'Filters out associates whose status id IS NOT one of the values specified. If left blank, results will not be filtered by status id. Values must be separated by a comma. Example: 1,2,3.' schema: enum: - '1,2,3,etc.' type: 'int[]' - name: countryCodes in: query description: 'Filters out associates whose country code IS NOT one of the values specified. If left blank, results will not be filtered by country code. Values must be separated by a comma. Example: ca,us,mx.' schema: enum: - 'us,ca,etc.' type: 'string[]' responses: '200': description: Search items returned. content: application/json (Include WebAliases): schema: $ref: '#/components/schemas/SearchAssociatesResponse_IncludeWebAliases' example: - AssociateType: Distributor Associate AssociateTypeId: 1 BackOfficeId: 15F92 CustomerId: 2 EMail: samspace@directscaletest.com FirstName: Sam LastName: Space LegalFirstName: Sam LegalLastName: Space Phone: '654654654' ProfileImageUrl: /BackOffice/ProfileImage?id=2 RomanizedFirstName: Sam RomanizedLastName: Space StatusId: 1 TextPhone: '6546546544' City: Lindon State: UT CountryCode: US WebAliases: - samspace - samuelspace application/json (Exclude WebAliases): schema: $ref: '#/components/schemas/SearchAssociatesResponse_ExcludeWebAliases' example: - AssociateType: Distributor Associate AssociateTypeId: 1 BackOfficeId: 15F92 CustomerId: 2 EMail: samspace@directscaletest.com FirstName: Sam LastName: Space LegalFirstName: Sam LegalLastName: Space Phone: '6546546544' ProfileImageUrl: /BackOffice/ProfileImage?id=2 RomanizedFirstName: Sam RomanizedLastName: Space StatusId: 1 TextPhone: '6546546544' City: Lindon State: UT CountryCode: US '404': description: No results found '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/{customerId}/send-welcome-email': post: tags: - Customers summary: Send Welcome Email description: Sends a 'Welcome Email' to the specified Associate operationId: resend-welcome-email parameters: - name: customerId in: path required: true schema: type: '' responses: '200': description: The "Welcome Email" was sent successfully '400': description: Returns one of an array of different error possibilities. Please refer to the error description in the `x-directscale-message` header for greater detail. /enroll: post: tags: - Customers summary: Submit Enrollment Form description: "This method provides an aggregate process for:\r\n- Creating a new Customer\r\n- Placing an initial Order\r\n- Enrolling the new Customer in the Autoship process (optional)\r\n\r\nIt also places the new Customer within the proper position in commission plan.\r\n\r\n**Date + Time format**\r\n\r\nYear-Month-Day'T'MilitaryTimeHour:Minute:Second\r\n- Ex. 2018-10-30T15:47:52\r\n\r\nNOTE: Because of the number of steps in this process the latency for this call can be extremely high. It may take 10 to 15 seconds depending on the implementation and complexity of the client's commission plan.

" operationId: 58daa229f57e9ebe83aca704 requestBody: description: "NOTE:This request creates a customer, an order, and an autoship. For this to work, you'll need to change the item codes to match what's in your system, along with sponsor ID and payment information.\r\n\r\nFor the required fields, calls are provided to see examples of the values the variables should be.\r\n\r\nRequired Fields:\r\n- Order\r\n - ShipMethodID\r\n - Orders: Get Shipping Methods\r\n - StoreID\r\n - Products: Get Stores\r\n - CurrencyCode\r\n - **Get Regions** displays the country/state codes of the warehouses. If you are concerned about having the proper **CurrencyCode**, then this will allow you to know what region warehouse support team to call to get the confirmed **CurrencyCode**.\r\n- Items\r\n - ItemID\r\n - Products: Get Item by SKU\r\n - Products: Get Items by Filter\r\n - Quantity\r\n- Payments\r\n - CurrencyCode\r\n - **Get Regions** displays the country/state codes of the warehouses. If you are concerned about having the proper **CurrencyCode**, then this will allow you to know what region warehouse support team to call to get the confirmed **CurrencyCode**.\r\n - MerchantId\r\n - Get Payment Merchants\r\n - OrderCreditCard\r\n - ExpirationMonth\r\n- AutoShip\r\n - StartDate\r\n - ShipMethodID\r\n - Orders: Get Shipping Methods\r\n- Items\r\n - ItemID\r\n - Products: Get Item by SKU\r\n - Products: Get Items by Filter\r\n - Quantity\r\n- FirstName\r\n- LastName\r\n- Email\r\n- Username\r\n- Password\r\n- ApplicantAddress\r\n - Street1\r\n - City\r\n - Region\r\n - PostalCode\r\n - CountryCode\r\n- AssociateBaseType\r\n- SponsorID\r\n - Get Customer\r\n - Get Customer by Parameter\r\n\r\nUniqueness Required:\r\n- TaxID\r\n- Username\r\n\r\n**NOTE:** Unique variables can be validated with our **Validate** API calls.\r\n\r\n
\r\n*AcceptTerms may not be required based on the logic surrounding CustomerType.
\r\n**At least one object must be present in the array.\r\n

" content: application/json (full): schema: $ref: '#/components/schemas/Application' example: Order: ShipMethodID: 1 StoreID: 1 CouponCodes: - EX_COUP CurrencyCode: usd Items: - ItemID: 1 Quantity: 1 IsKit: false CurrencyCode: usd Payments: - Amount: 29.59 SavePaymentMethodId: 1234-1234-asdf OnFileCard: DoNotSave CurrencyCode: usd MerchantId: 99 RedirectUrl: '' SavePayment: true OrderRewardPoints: Amount: 0 OrderCreditCard: CardToken: 1234-1234-asdf NameOnCard: Sam Space Last4: '4242' CardType: visa ExpirationMonth: 12 ExpirationYear: 25 CvvCode: '223' FirstSix: '424242' RequireSuccess: true OrderCustom: Field1: test 1 Field2: '223' Field3: test 3 Field4: '321' Field5: test 5 AutoShip: StartDate: '2021-10-14T00:00:00.0000000+00:00' Frequency: Monthly ShipMethodID: 1 Items: - ItemID: 1 Quantity: 1 IsKit: true CurrencyCode: usd AutoshipCustom: Field1: test 1 Field2: '223' Field3: test 3 Field4: '321' Field5: test 5 AcceptTerms: true CompanyName: Test Company FirstName: Sam LastName: Space RomanizedFirstName: Sam RomanizedLastName: Space LegalFirstName: Sam LegalLastName: Space TaxID: 555-55-5555 BirthDate: '2000-10-14T00:00:00.0000000+00:00' PrimaryPhone: '6546546544' SecondaryPhone: '3213213211' TextNumber: '9879879877' Email: sam@directscaletest.com Username: samspace Password: Thi3Pa33word11 LanguageCode: en ApplicantAddress: Street1: 1234 Test Dr. Street2: Ste 350 City: Placerville PostalCode: '95667' Region: CA CountryCode: US ShippingAddress: Street1: 1234 Test Dr. Street2: Ste 350 City: Placerville PostalCode: '95667' Region: CA CountryCode: US AssociateBaseType: 1 SponsorID: 122 WebPageURL: samspace SendEmails: true AssociateCustom: Field1: c1 Field2: '4433' Field3: c2 Field4: asdf|asdf Field5: '111' Field6: L Field7: '22334' Field8: '2003-01-02T00:00:00.0000000+00:00' Field9: '0' Field10: '' PlacementOverrides: - TreeName: Enrollment CustomerId: 122 TreeIndex: 0 BaseLegName: '' - TreeName: Unilevel CustomerId: 122 TreeIndex: 0 BaseLegName: '' - TreeName: Binary CustomerId: 122 TreeIndex: 3 BaseLegName: Right application/json (minimal): example: Order: ShipMethodID: 2 StoreID: 1 CurrencyCode: usd Items: - ItemID: 17901 Quantity: 3 Payments: - CurrencyCode: usd MerchantId: 99 OrderCreditCard: ExpirationMonth: 2 AutoShip: StartDate: '2020-03-13T19:40:51.1260000+00:00' ShipMethodID: 3 Items: - ItemID: 17901 Quantity: 2 FirstName: John LastName: Doe Sr. Email: johndoe04@provider.com Username: J0nD0330 Password: '!SneakyJohnDoe1' ApplicantAddress: Street1: 7432 Maytown Road City: Springfield Region: NT PostalCode: '49007' CountryCode: US AssociateBaseType: 2 SponsorID: 2 responses: '201': description: Signifies that the Customer Enrollment was created successfully. content: application/json: example: OrderStatus: OrderNumber: 50316 Result: 0 AssociateID: 1234qwer FirstName: FirstName LastName: LastName Email: testing@testing.directscale.com '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/upgrade/{customerId}': put: summary: Upgrade Customer description: "Upgrades an existing Customer, including placing them in the Sponsor tree.

\r\nThis takes the same payload as \"Update Customer\".

\r\nThis call goes through the hook \"Associates.Enrollment.UpdateAssociateBaseType\", in the Client Extension. You can influence the actions this performs by implementing this hook in the Extension. This call only upgrades from Customer (type 2) to Distributor (type 1). Upgrading otherwise will require additional work in the hook. This was decided, because an upgrade contains specific data requirements by client.

\r\nThis call performs the exact work of the Update call, except that it:\r\n1. Logs the change to the CRM_AssociateTypeChanges table\r\n2. \r\nNote: This call requires an update to all of the Customer's information. Therefore, if a field is omitted or remains blank, the update will clear out the existing information. If only a partial update is desired, please use the PATCH Update Customer API call.

" operationId: 5fd3f93cce537ab538465180 parameters: - name: customerId in: path description: Disco internal ID representing customer to upgrade required: true schema: type: int requestBody: description: "**Required Fields (based on customerType):**\r\n- BirthDate (1)\r\n - Get Customer\r\n- CustomerType (1, 2, 3)\r\n - Get Customer\r\n- DefaultShippingAddress (1)\r\n - street1\r\n - PostalCode\r\n - City\r\n - CountryCode\r\n- EmailAddress (1, 2, 3)\r\n - Get Customer\r\n- FirstName (1, 2, 3)\r\n - Get Customer\r\n- LastName (1, 2, 3)\r\n - Get Customer\r\n- Password (1, 2)\r\n- PrimaryAddress (1, 2, 3)\r\n - street1\r\n - Region\r\n - CountryCode\r\n- SponsorId (1, 2, 3)\r\n - Get Customer\r\n- TaxId (1)\r\n - Get Customer\r\n- TermsAccepted (1)\r\n- Username (1, 2, 3)\r\n - Get Customer\r\n\r\nUniqueness Required:\r\n- BackOfficeId\r\n- EmailAddress\r\n- TaxId\r\n- Username\r\n- WebAlias\r\n\r\n**NOTE:** Unique variables can be validated with our **Validate** API calls.\r\n\r\n

\r\nNote: Many of the property's behaviors can be changed by the implementation of the commission plan to allow the property to be optional or have different uniqueness characteristics. Please contact your support representative for specific details.

\r\n" content: application/json (full): example: BackOfficeId: TestBackOfficeId01 BirthDate: '1973-05-12T00:00:00.0000000+00:00' CompanyName: Test Company Name Inc. CustomerStatus: 1 CustomerType: 1 DefaultShippingAddress: Street1: 250 South 400 West Street2: 'Suite #225' PostalCode: '84042' City: Lindon Region: UT CountryCode: US EmailAddress: directScaleTest@testing.directscale.com ExternalReferenceId: EXT1234567890 FirstName: Ryan LanguageCode: en LastName: Testing Password: PasswordHere1 PrimaryAddress: Street1: 250 South 400 West Street2: 'Suite #225' PostalCode: '84042' City: Lindon Region: UT CountryCode: US PrimaryPhone: +1 801 555-1111 SecondaryPhone: +1 801 555-2222 SendEmails: true SignUpDate: '1988-01-01T00:00:00.0000000+00:00' SponsorId: 2 TaxExempt: false TaxExemptId: TAX-TEST-0000 TaxId: TAX-TEST-1111 TermsAccepted: true TextPhone: +1 801 555-1111 Username: TestUsername01 WebAlias: TestWebAlias AssociateCustom: Field1: CustomField Content Field2: Available through Field10 'application/json (customerType: 1)': example: BirthDate: '1973-05-12T00:00:00.0000000+00:00' CustomerType: 1 DefaultShippingAddress: Street1: 250 South 400 West PostalCode: '84042' City: Lindon CountryCode: US EmailAddress: yodaminch@testing.directscale.com FirstName: Minch LastName: Yoda Password: Password123! PrimaryAddress: Street1: 250 South 400 West Region: UT CountryCode: US SponsorId: 2 TaxExempt: false TaxId: TAX-TEST-3333 TermsAccepted: true Username: YodaIAm 'application/json (customerType: 2)': example: CustomerType: 2 EmailAddress: darthsidious66@testing.directscale.com FirstName: Sheev LastName: Palpatine Password: Password123! PrimaryAddress: Street1: 250 South 400 West Region: UT CountryCode: US SponsorId: 2 Username: Emperor Palpatine 'application/json (customerType: 3)': example: CustomerType: 3 EmailAddress: bobafett@testing.directscale.com FirstName: Boba LastName: Fett PrimaryAddress: Street1: 250 South 400 West Region: UT CountryCode: US SponsorId: 2 responses: '201': description: "Signifies that the Customer was upgraded \r\nsuccessfully." '500': description: "Something went wrong... Here are some possible reasons for this error:\r\n- Is the model being sent to the API incorrect?\r\n- Did you forget a required field?\r\n- Is the API marked as deprecated, and the date has expired?\r\n\r\nIf the answer is \"No\" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists." '/availabilitycheck/{username}': get: summary: Username Availability Check (Deprecated) description: 'DEPRECATED: Please use the Validate Username API instead.

' operationId: 58da632c4e69ac762bdfae0c parameters: - name: username in: path description: The username to check for uniqueness. required: true schema: type: string responses: '200': description: 'null' '/{customer-id}/alternate-payment-methods': post: tags: - APMs summary: Get Customer Alternate Payment Methods description: Generates alternate payment method (APM) information for the given customer. Also creates a corresponding order to be used in conjunction with the APMs. operationId: get-customer-alternate-payment-methods parameters: - name: customer-id in: path description: The ID of the customer for whom the APM links will be generated required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GetCustomerApmsRequest' example: customer: associateType: 1 firstName: Dan languageCode: en lastName: Baker phoneNumber: 555-555-5555 priceGroupId: 1 shippingAddress: Street1: 1234 Test Dr. Street2: Ste 344 City: Placerville PostalCode: '95667' Region: CA CountryCode: US coupons: - COUPON_CODE_1 customerRedirectUrl: string customFields: Field1: value 1 Field2: value 2 Field3: value 3 Field4: value 4 Field5: value 5 currencyCode: USD items: - itemId: 2 quantity: 2 orderType: 1 partyId: 0 regionId: 1 shippingMethodId: 1 specialInstructions: Special instructions for order storeId: 1 warehouseId: 1 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/GetCustomerApmsResponse' example: - merchantId: 188 paymentMethodIFrameId: nexioApplePayApmIframe buttonIFrameUrl: https://api.nexiopaysandbox.com/apm/v3?token=token-here&paymentMethod=applePayCyberSource scriptUrl: https://api.nexiopaysandbox.com/apm/v3/scripts?token=token-here - merchantId: 203 paymentMethodIFrameId: googlePayCyberSource buttonIFrameUrl: https://api.nexiopaysandbox.com/apm/v3?token=token-here&paymentMethod=googlePayCyberSource scriptUrl: '' - merchantId: 218 paymentMethodIFrameId: nexio-klarna-iframe buttonIFrameUrl: https://api.nexiopaysandbox.com/apm/v3?token=token-here&paymentMethod=klarnaPayments scriptUrl: '' '400': description: Returns one of an array of different error possibilities. Please refer to the error description in the `x-directscale-message` header for greater detail. headers: x-directscale-message: description: Provides a description of any error that occurs. schema: type: string components: schemas: DeductCustomerRewardPointsRequest: required: - pointsToDeduct type: object properties: pointsToDeduct: type: number example: pointsToDeduct: 12.5 AddCustomerRewardPointsRequest: required: - pointsToAdd type: object properties: pointsToAdd: type: number example: pointsToAdd: 100.5 UpdateCustomerbyParameter: type: object properties: WebAlias: type: string Username: type: string CustomerType: type: integer CustomerStatus: type: integer SendEmails: type: boolean UpdateCustomer: type: object properties: BirthDate: type: string CompanyName: type: string CustomerStatus: type: integer CustomerType: type: integer DefaultShippingAddress: type: object properties: Street1: type: string Street2: type: string City: type: string Region: type: string PostalCode: type: string CountryCode: type: string EmailAddress: type: string ExternalReferenceId: type: string FirstName: type: string LanguageCode: type: string LastName: type: string PrimaryAddress: type: object properties: Street1: type: string Street2: type: string City: type: string Region: type: string PostalCode: type: string CountryCode: type: string PrimaryPhone: type: string SecondaryPhone: type: string SponsorId: type: integer SendEmails: type: boolean TaxExemptId: type: string TextPhone: type: string example: BirthDate: '1979-04-01T00:00:00Z' CompanyName: Test Company CustomerStatus: 1 CustomerType: 1 DefaultShippingAddress: Street1: 7432 Maytown Road Street2: '' City: Springfield Region: NT PostalCode: '49007' CountryCode: US EmailAddress: janedoe@directscale.testing.com ExternalReferenceId: jane1234 FirstName: Jane LanguageCode: en LastName: Doe PrimaryAddress: Street1: 7432 Maytown Road Street2: '' City: Springfield Region: NT PostalCode: '49007' CountryCode: US PrimaryPhone: +1 801 555-1111 SecondaryPhone: +1 801 555-2222 SponsorId: 1 SendEmails: true TaxExemptId: 11-asdf-1234 TextPhone: +1 801 555-1111 Application: type: object properties: Order: type: object properties: ShipMethodID: type: integer StoreID: type: integer CouponCodes: type: array items: type: string CurrencyCode: type: string Items: type: array items: required: - ItemID - Quantity - IsKit - CurrencyCode type: object properties: ItemID: type: integer Quantity: type: integer IsKit: type: boolean CurrencyCode: type: string Payments: type: array items: required: - Amount - OnFileCard - CurrencyCode - MerchantId - SavePayment type: object properties: Amount: type: number SavePaymentMethodId: type: string OnFileCard: type: string CurrencyCode: type: string MerchantId: type: integer RedirectUrl: type: string SavePayment: type: boolean OrderRewardPoints: type: object properties: Amount: type: integer OrderCreditCard: type: object properties: CardToken: type: string NameOnCard: type: string Last4: type: string CardType: type: string ExpirationMonth: type: integer ExpirationYear: type: integer CvvCode: type: string FirstSix: type: string RequireSuccess: type: boolean OrderCustom: type: object properties: Field1: type: string Field2: type: string Field3: type: string Field4: type: string Field5: type: string AutoShip: type: object properties: StartDate: type: string Frequency: type: string ShipMethodID: type: integer Items: type: array items: required: - ItemID - Quantity - IsKit - CurrencyCode type: object properties: ItemID: type: integer Quantity: type: integer IsKit: type: boolean CurrencyCode: type: string AutoshipCustom: type: object properties: Field1: type: string Field2: type: string Field3: type: string Field4: type: string Field5: type: string AcceptTerms: type: boolean CompanyName: type: string FirstName: type: string LastName: type: string RomanizedFirstName: type: string RomanizedLastName: type: string LegalFirstName: type: string LegalLastName: type: string TaxID: type: string BirthDate: type: string PrimaryPhone: type: string SecondaryPhone: type: string TextNumber: type: string Email: type: string Username: type: string Password: type: string LanguageCode: type: string ApplicantAddress: type: object properties: Street1: type: string Street2: type: string City: type: string PostalCode: type: string Region: type: string CountryCode: type: string ShippingAddress: type: object properties: Street1: type: string Street2: type: string City: type: string PostalCode: type: string Region: type: string CountryCode: type: string AssociateBaseType: type: integer SponsorID: type: integer WebPageURL: type: string SendEmails: type: boolean AssociateCustom: type: object properties: Field1: type: string Field2: type: string Field3: type: string Field4: type: string Field5: type: string Field6: type: string Field7: type: string Field8: type: string Field9: type: string Field10: type: string PlacementOverrides: type: array items: required: - TreeName - CustomerId type: object properties: TreeName: type: string CustomerId: type: integer TreeIndex: type: integer BaseLegName: type: string example: Order: ShipMethodID: 1 StoreID: 1 CouponCodes: - EX_COUP CurrencyCode: usd Items: - ItemID: 1 Quantity: 1 IsKit: false CurrencyCode: usd Payments: - Amount: 29.59 SavePaymentMethodId: 1234-1234-asdf OnFileCard: DoNotSave CurrencyCode: usd MerchantId: 99 RedirectUrl: '' SavePayment: true OrderRewardPoints: Amount: 0 OrderCreditCard: CardToken: 1234-1234-asdf NameOnCard: Sam Space Last4: '4242' CardType: visa ExpirationMonth: 12 ExpirationYear: 25 CvvCode: '223' FirstSix: '424242' RequireSuccess: true OrderCustom: Field1: test 1 Field2: '223' Field3: test 3 Field4: '321' Field5: test 5 AutoShip: StartDate: '2021-10-14' Frequency: Monthly ShipMethodID: 1 Items: - ItemID: 1 Quantity: 1 IsKit: true CurrencyCode: usd AutoshipCustom: Field1: test 1 Field2: '223' Field3: test 3 Field4: '321' Field5: test 5 AcceptTerms: true CompanyName: Test Company FirstName: Sam LastName: Space RomanizedFirstName: Sam RomanizedLastName: Space LegalFirstName: Sam LegalLastName: Space TaxID: 555-55-5555 BirthDate: '2000-10-14' PrimaryPhone: '6546546544' SecondaryPhone: '3213213211' TextNumber: '9879879877' Email: sam@directscaletest.com Username: samspace Password: Thi3Pa33word11 LanguageCode: en ApplicantAddress: Street1: 1234 Test Dr. Street2: Ste 350 City: Placerville PostalCode: '95667' Region: CA CountryCode: US ShippingAddress: Street1: 1234 Test Dr. Street2: Ste 350 City: Placerville PostalCode: '95667' Region: CA CountryCode: US AssociateBaseType: 1 SponsorID: 122 WebPageURL: samspace SendEmails: true AssociateCustom: Field1: c1 Field2: '4433' Field3: c2 Field4: asdf|asdf Field5: '111' Field6: L Field7: '22334' Field8: '1,2,3' Field9: '0' Field10: '' PlacementOverrides: - TreeName: Enrollment CustomerId: 122 TreeIndex: 0 BaseLegName: '' - TreeName: Unilevel CustomerId: 122 TreeIndex: 0 BaseLegName: '' - TreeName: Binary CustomerId: 122 TreeIndex: 3 BaseLegName: Right CreateCustomer: type: object properties: BackOfficeId: type: string BirthDate: type: string CompanyName: type: string CustomerStatus: type: integer CustomerType: type: integer DefaultShippingAddress: type: object properties: Street1: type: string Street2: type: string City: type: string PostalCode: type: string Region: type: string CountryCode: type: string EmailAddress: type: string ExternalReferenceId: type: string FirstName: type: string LanguageCode: type: string LastName: type: string Password: type: string PrimaryAddress: type: object properties: Street1: type: string Street2: type: string City: type: string PostalCode: type: string Region: type: string CountryCode: type: string PrimaryPhone: type: string SecondaryPhone: type: string SendEmails: type: boolean SignUpDate: type: string SponsorId: type: integer TaxExempt: type: boolean TaxExemptId: type: string TaxId: type: string TermsAccepted: type: boolean TextPhone: type: string Username: type: string WebAlias: type: string RomanizedFirstName: type: string RomanizedLastName: type: string LegalFirstName: type: string LegalLastName: type: string AssociateCustom: type: object properties: Field1: type: string Field2: type: string Field3: type: string Field4: type: string Field5: type: string Field6: type: string Field7: type: string Field8: type: string Field9: type: string Field10: type: string PlacementOverrides: type: array items: required: - TreeName - CustomerId type: object properties: TreeName: type: string CustomerId: type: integer TreeIndex: type: integer BaseLegName: type: string example: BackOfficeId: 15F963 BirthDate: '2000-10-14' CompanyName: Test Company CustomerStatus: 1 CustomerType: 1 DefaultShippingAddress: Street1: 1234 Test Dr. Street2: Ste 350 City: Placerville PostalCode: '95667' Region: CA CountryCode: US EmailAddress: samespace@directscaletest.com ExternalReferenceId: 111-aa FirstName: Sam LanguageCode: en LastName: Space Password: Pa33word1! PrimaryAddress: Street1: 1234 Test Dr. Street2: Ste 350 City: Placerville PostalCode: '95667' Region: CA CountryCode: US PrimaryPhone: '6546546544' SecondaryPhone: '3213213211' SendEmails: true SignUpDate: '2021-10-14' SponsorId: 122 TaxExempt: false TaxExemptId: 555-55-5555 TaxId: 555-55-5555 TermsAccepted: true TextPhone: '9879879877' Username: samspace WebAlias: samspace RomanizedFirstName: Sam RomanizedLastName: Space LegalFirstName: Sam LegalLastName: Space AssociateCustom: Field1: c1 Field2: '4433' Field3: c2 Field4: asdf|asdf Field5: '111' Field6: L Field7: '22334' Field8: '1,2,3' Field9: '0' Field10: '' PlacementOverrides: - TreeName: Enrollment CustomerId: 122 TreeIndex: 0 BaseLegName: '' - TreeName: Unilevel CustomerId: 122 TreeIndex: 0 BaseLegName: '' - TreeName: Binary CustomerId: 122 TreeIndex: 3 BaseLegName: Right CalculateCustomerOrderResponse: type: object properties: CouponResults: type: array items: required: - Code - IsValid - Message - Discount type: object properties: Code: type: string IsValid: type: boolean Message: { } Discount: type: integer CurrencyCode: type: string DiscountTotal: type: integer Items: type: array items: required: - ItemId - Bonus - ChargeShipping - CurrencyCode - Cv - Description - ExtendedBonus - ExtendedCv - ExtendedPrice - ExtendedQv - LanguageCode - OriginalPrice - Price - ProductName - Sku - Specifications - Quantity - Qv type: object properties: ItemId: type: integer Bonus: type: integer ChargeShipping: type: boolean CurrencyCode: type: string Cv: type: integer Description: type: string ExtendedBonus: type: integer ExtendedCv: type: integer ExtendedPrice: type: integer ExtendedQv: type: integer LanguageCode: type: string OriginalPrice: type: integer Price: type: integer ProductName: type: string Sku: type: string Specifications: type: string Quantity: type: integer Qv: type: integer ShippingMethods: type: array items: required: - ShipMethodId - Description - ShippingAmount type: object properties: ShipMethodId: type: integer Description: type: string ShippingAmount: type: integer ShippingTotal: type: integer SubTotal: type: integer TaxableSubtotal: type: integer TaxTotal: type: integer Total: type: integer example: CouponResults: - Code: TST_CPN_1 IsValid: true Message: Discount: '5.00' - Code: TST_CPN_2 IsValid: false Message: This is an invalid coupon Discount: 0 CurrencyCode: usd DiscountTotal: '5.00' Items: - ItemId: 1 Bonus: 0 ChargeShipping: false CurrencyCode: usd Cv: 5 Description: Test Item (desc) ExtendedBonus: 0 ExtendedCv: 5 ExtendedPrice: 10 ExtendedQv: 4 LanguageCode: en OriginalPrice: 10 Price: 10 ProductName: Test Item Sku: DRTSCL Specifications: Test Item (specs) Quantity: 1 Qv: 4 ShippingMethods: - ShipMethodId: 1 Description: Standard Shipping ShippingAmount: '5.00' - ShipMethodId: 12 Description: Universal Flat Rate Method ShippingAmount: '12.00' ShippingTotal: '5.00' SubTotal: '15.00' TaxableSubtotal: 0 TaxTotal: 0 Total: '10.00' CalculateCustomerOrderRequest: type: object properties: WarehouseId: type: integer ShipMethodId: type: integer StoreId: type: integer CurrencyCode: type: string ShippingAddress: type: object properties: Line1: type: string City: type: string State: type: string Zip: type: string CountryCode: type: string PriceGroup: type: integer OrderType: type: integer KitItems: type: array items: required: - ItemId - Quantity - IsReward type: object properties: ItemId: type: integer Quantity: type: integer IsReward: type: boolean Items: type: array items: required: - ItemId - Quantity - IsReward type: object properties: ItemId: type: integer Quantity: type: integer IsReward: type: boolean PartyId: type: integer CouponCodes: type: array items: type: string CountryCode: type: string example: WarehouseId: 1 ShipMethodId: 1 StoreId: 1 CurrencyCode: usd ShippingAddress: Line1: 1234 Test Dr. City: Placerville State: CA Zip: '95667' CountryCode: us PriceGroup: 1 OrderType: 1 KitItems: - ItemId: 2 Quantity: 1 IsReward: false Items: - ItemId: 1 Quantity: 2 IsReward: true PartyId: 0 CouponCodes: - TEST_CODE CountryCode: us GetCustomerAutoshipsResponse: type: array items: required: - AutoShipID - AssociateID - AssociateFirstName - AssociateLastName - ShipAddress - StartDate - Frequency - LastProcessDate - NextProcessDate - LastChargeAmount - Status - ShipMethodID - PaymentMethodID - PaymentDescription - PaymentExpirationMonth - PaymentExpirationYear - PaymentMerchantID - AutoShipType - LineItems - Custom - FrequencyString - TotalCV - TotalQV - CurrencyCode - SubTotal type: object properties: AutoShipID: type: integer AssociateID: type: integer AssociateFirstName: type: string AssociateLastName: type: string ShipAddress: type: object properties: Street1: type: string Street2: type: string City: type: string PostalCode: type: string Region: type: string CountryCode: type: string StartDate: type: string Frequency: type: integer LastProcessDate: type: string NextProcessDate: type: string LastChargeAmount: type: integer Status: type: string ShipMethodDescription: type: string ShipMethodID: type: integer PaymentMethodID: type: string PaymentDescription: type: string PaymentExpirationMonth: type: string PaymentExpirationYear: type: string PaymentMerchantID: type: integer AutoShipType: type: integer LineItems: type: array items: required: - ItemID - Quantity - Cost - ExtendedPrice - ExtendedOriginalPrice - ExtendedBonus - ExtendedCV - ExtendedQV - ExtendedRewardPoints - ExtendedCost - ProductName - Description - Specifications - SEO - LanguageCode - SKU - SkuID - Category - ChargeShipping - Custom - Height - Image - Length - LengthUOM - MPN - OutOfStockStatus - PackCount - PackageGroupID - TaxClassID - UnitOfMeasure - UPC - Weight - WeightUOM - Width - FlagBirthDefects - HasKitGroups - FlagCancer - PriceGroup - Images - Prices - Options - ItemOptions - Languages - OptionsMap - HasOptions - Price - PriceCurrency - OriginalPrice - Bonus - CV - QV - RewardPoints - CouponsBeingUsed - StoreId - PriceGroups type: object properties: ItemID: type: integer Quantity: type: integer Cost: type: integer ExtendedPrice: type: integer ExtendedOriginalPrice: type: integer ExtendedBonus: type: integer ExtendedCV: type: integer ExtendedQV: type: integer ExtendedRewardPoints: type: integer ExtendedCost: type: integer ProductName: type: string Description: type: string Specifications: type: string SEO: type: string LanguageCode: type: string SKU: type: string SkuID: type: integer Category: type: object properties: ID: type: integer CategoryTranslations: type: array items: required: - Id - CategoryId - Description - Name - LanguageCode type: object properties: Id: type: integer CategoryId: type: integer Description: type: string Name: type: string LanguageCode: type: string Name: type: string Description: type: string DisplayIndex: type: integer ImageUrl: type: string ParentID: type: integer ProductLineID: type: integer ShortDescription: type: string StoreIDs: type: array HasChildren: type: boolean ChargeShipping: type: boolean Custom: type: object properties: ItemId: type: integer Field1: type: string Field2: type: string Field3: type: string Field4: type: string Field5: type: string Height: type: integer Image: type: string Length: type: integer LengthUOM: type: string MPN: type: string OutOfStockStatus: type: integer PackCount: type: integer PackageGroupID: type: integer TaxClassID: type: integer UnitOfMeasure: type: string UPC: type: string Weight: type: integer WeightUOM: type: string Width: type: integer FlagBirthDefects: type: boolean HasKitGroups: type: boolean FlagCancer: type: boolean PriceGroup: type: integer Images: type: array Prices: type: array items: required: - GroupID - Price - PriceCurrency - OriginalPrice - Bonus - CV - QV - RewardPoints type: object properties: GroupID: type: integer Price: type: integer PriceCurrency: type: string OriginalPrice: type: integer Bonus: type: integer CV: type: integer QV: type: integer RewardPoints: type: integer Options: type: array ItemOptions: type: array Languages: type: array items: required: - Description - LanguageCode - ProductName - SEOKeywords - Specifications type: object properties: Description: type: string LanguageCode: type: string ProductName: type: string SEOKeywords: type: string Specifications: type: string OptionsMap: type: array HasOptions: type: boolean Price: type: integer PriceCurrency: type: string OriginalPrice: type: integer Bonus: type: integer CV: type: integer QV: type: integer RewardPoints: type: integer CouponsBeingUsed: type: integer StoreId: type: integer PriceGroups: type: array items: type: integer Custom: type: object properties: Field1: type: string Field2: type: string Field3: type: string Field4: type: string Field5: type: string FrequencyString: type: string TotalCV: type: integer TotalQV: type: integer CurrencyCode: type: string SubTotal: type: integer example: - AutoShipID: 1 AssociateID: 12 AssociateFirstName: Sam AssociateLastName: Space ShipAddress: Street1: 1234 Test Dr. Street2: Ste. 360 City: Placerville PostalCode: '95667' Region: CA CountryCode: US StartDate: '2021-10-27T16:19:08Z' Frequency: 0 LastProcessDate: '2021-10-27T00:00:00Z' NextProcessDate: '2021-11-27T00:00:00Z' LastChargeAmount: 10 Status: Scheduled ShipMethodDescription: UPS 3-Day Shipping ShipMethodID: 3 PaymentMethodID: _TESTCARD_E0BNK54A65 PaymentDescription: Visa ending in 4321 PaymentExpirationMonth: '10' PaymentExpirationYear: '2026' PaymentMerchantID: 99 AutoShipType: 0 LineItems: - ItemID: 4 Quantity: 2 Cost: 0 ExtendedPrice: 20 ExtendedOriginalPrice: 20 ExtendedBonus: 0 ExtendedCV: 10 ExtendedQV: 8 ExtendedRewardPoints: 0 ExtendedCost: 0 ProductName: SLJ84L Description: Language description here Specifications: Specifications here SEO: '' LanguageCode: en SKU: SLJ84L SkuID: 4 Category: ID: 1 CategoryTranslations: - Id: 1 CategoryId: 1 Description: Test Category Name: Test Category LanguageCode: en Name: Test Category Description: Test Category DisplayIndex: 0 ImageUrl: '' ParentID: 0 ProductLineID: 0 ShortDescription: Test Category StoreIDs: [ ] HasChildren: false ChargeShipping: true Custom: ItemId: 0 Field1: asdf Field2: '1234' Field3: L|M Field4: '1,2,3,4,5' Field5: '' Height: 12 Image: /no_image.jpg Length: 6 LengthUOM: in MPN: 11-22-gg OutOfStockStatus: 1 PackCount: 0 PackageGroupID: 1 TaxClassID: 0 UnitOfMeasure: ea UPC: Test UPC Weight: 0 WeightUOM: '' Width: 0 FlagBirthDefects: false HasKitGroups: false FlagCancer: true PriceGroup: 1 Images: [ ] Prices: - GroupID: 1 Price: 10 PriceCurrency: USD OriginalPrice: 10 Bonus: 0 CV: 5 QV: 4 RewardPoints: 0 Options: [ ] ItemOptions: [ ] Languages: - Description: Language description here LanguageCode: en ProductName: SLJ84L SEOKeywords: '' Specifications: Specifications here OptionsMap: [ ] HasOptions: false Price: 10 PriceCurrency: USD OriginalPrice: 10 Bonus: 0 CV: 5 QV: 4 RewardPoints: 0 CouponsBeingUsed: 0 StoreId: 5 PriceGroups: - 1 Custom: Field1: asdf Field2: '1234' Field3: 'a,b,c' Field4: 122|344 Field5: '' FrequencyString: Every Week on Wednesday TotalCV: 10 TotalQV: 8 CurrencyCode: USD SubTotal: 20 SearchAssociatesResponse_ExcludeWebAliases: type: array items: required: - AssociateType - AssociateTypeId - BackOfficeId - CustomerId - EMail - FirstName - LastName - LegalFirstName - LegalLastName - Phone - ProfileImageUrl - RomanizedFirstName - RomanizedLastName - StatusId - TextPhone - City - State - CountryCode type: object properties: AssociateType: type: string AssociateTypeId: type: integer BackOfficeId: type: string CustomerId: type: integer EMail: type: string FirstName: type: string LastName: type: string LegalFirstName: type: string LegalLastName: type: string Phone: type: string ProfileImageUrl: type: string RomanizedFirstName: type: string RomanizedLastName: type: string StatusId: type: integer TextPhone: type: string City: type: string State: type: string CountryCode: type: string example: - AssociateType: Distributor Associate AssociateTypeId: 1 BackOfficeId: 15F92 CustomerId: 2 EMail: samspace@directscaletest.com FirstName: Sam LastName: Space LegalFirstName: Sam LegalLastName: Space Phone: '6546546544' ProfileImageUrl: /BackOffice/ProfileImage?id=2 RomanizedFirstName: Sam RomanizedLastName: Space StatusId: 1 TextPhone: '6546546544' City: Lindon State: UT CountryCode: US SearchAssociatesResponse_IncludeWebAliases: type: array items: required: - AssociateType - AssociateTypeId - BackOfficeId - CustomerId - EMail - FirstName - LastName - LegalFirstName - LegalLastName - Phone - ProfileImageUrl - RomanizedFirstName - RomanizedLastName - StatusId - TextPhone - City - State - CountryCode - WebAliases type: object properties: AssociateType: type: string AssociateTypeId: type: integer BackOfficeId: type: string CustomerId: type: integer EMail: type: string FirstName: type: string LastName: type: string LegalFirstName: type: string LegalLastName: type: string Phone: type: string ProfileImageUrl: type: string RomanizedFirstName: type: string RomanizedLastName: type: string StatusId: type: integer TextPhone: type: string City: type: string State: type: string CountryCode: type: string WebAliases: type: array items: type: string example: - AssociateType: Distributor Associate AssociateTypeId: 1 BackOfficeId: 15F92 CustomerId: 2 EMail: samspace@directscaletest.com FirstName: Sam LastName: Space LegalFirstName: Sam LegalLastName: Space Phone: '6546546544' ProfileImageUrl: /BackOffice/ProfileImage?id=2 RomanizedFirstName: Sam RomanizedLastName: Space StatusId: 1 TextPhone: '6546546544' City: Lindon State: UT CountryCode: US WebAliases: - samspace - samuelspace GetCustomerOrders: type: array items: required: - BillPhone - CommissionDate - DistributorID - Email - InvoiceDate - LocalInvoiceNumber - Name - OrderDate - OrderType - OrderTypeDescription - OrderNumber - SpecialInstructions - Status - TotalBonus - TotalCost - TotalCV - TotalRewardPoints - TotalQV - Void - BillAddress - IsPaid - IsShipped - LineItems - Packages - Totals - Payments - OrderCustom type: object properties: BillPhone: type: string CommissionDate: type: string DistributorID: type: integer Email: type: string InvoiceDate: type: string LocalInvoiceNumber: type: integer Name: type: string OrderDate: type: string OrderType: type: integer OrderTypeDescription: type: string OrderNumber: type: integer SpecialInstructions: type: string Status: type: string TotalBonus: type: integer TotalCost: type: integer TotalCV: type: integer TotalRewardPoints: type: integer TotalQV: type: integer Void: type: boolean BillAddress: type: object properties: ID: type: integer Line1: type: string Line2: { } Line3: { } City: type: string State: type: string Zip: type: string CountryCode: type: string IsPaid: type: boolean IsShipped: type: boolean LineItems: type: array items: required: - Amount - Bonus - Cost - CurrencyCode - Height - Length - OrderNumber - PackageNumber - CV - RewardPoints - QV - Qty - SKU - ItemID - ProductName - Weight - Width - FlagCancer - FlagBirthDefect type: object properties: Amount: type: number Bonus: type: integer Cost: type: integer CurrencyCode: type: string Height: type: integer Length: type: integer OrderNumber: type: integer PackageNumber: type: integer CV: type: integer RewardPoints: type: integer QV: type: integer Qty: type: integer SKU: type: string ItemID: type: integer ProductName: type: string Weight: type: integer Width: type: integer FlagCancer: type: boolean FlagBirthDefect: type: boolean Packages: type: array items: required: - ID - CustomerID - Address1 - Address2 - Carrier - City - CountryCode - Height - Length - Notes - OrderNumber - ShipByDate - ShipMethodID - State - WarehouseID - Weight - Width - Zip - ShipTo - Status type: object properties: ID: type: integer CustomerID: type: string Address1: type: integer Address2: { } Carrier: type: string City: type: string CountryCode: type: string Height: type: integer Length: type: integer Notes: type: string OrderNumber: type: integer ShipByDate: type: string ShipMethodID: type: integer State: type: string WarehouseID: type: integer Weight: type: integer Width: type: integer Zip: type: string ShipTo: type: string Status: type: string Totals: type: array items: required: - TaxableSubTotal - CurrencyCode - ExchangeRate - OrderNumber - Shipping - SubTotal - Tax - TaxTransactionID - DiscountTotal - OverridenShippingTax - Total - PaidAmount - TotalDue type: object properties: TaxableSubTotal: type: number CurrencyCode: type: string ExchangeRate: type: integer OrderNumber: type: integer Shipping: type: integer SubTotal: type: number Tax: type: number TaxTransactionID: type: string DiscountTotal: type: integer OverridenShippingTax: type: boolean Total: type: number PaidAmount: type: number TotalDue: type: integer Payments: type: array items: required: - Amount - AuthorizationNumber - TransactionNumber - CurrencyCode - ExchangeRate - Merchant - OrderNumber - PayDate - PaymentResponse - PayType - Reference - Status type: object properties: Amount: type: number AuthorizationNumber: type: string TransactionNumber: type: string CurrencyCode: type: string ExchangeRate: type: integer Merchant: type: integer OrderNumber: type: integer PayDate: type: string PaymentResponse: type: string PayType: type: string Reference: type: string Status: type: string OrderCustom: type: object properties: Field1: type: string Field5: type: string example: - BillPhone: +1 555 555 1111 CommissionDate: '2015-05-11T00:00:00Z' DistributorID: 2 Email: testing@testing.directscale.com InvoiceDate: '2015-05-11T00:00:00Z' LocalInvoiceNumber: 1234 Name: Testing Name OrderDate: '2015-05-11T00:00:00Z' OrderType: 1 OrderTypeDescription: Test Description OrderNumber: 18 SpecialInstructions: Special Instructions here... Status: Paid TotalBonus: 12 TotalCost: 120 TotalCV: 1 TotalRewardPoints: 5 TotalQV: 1 Void: false BillAddress: ID: 3214 Line1: 1234 Testing Wy. Line2: Line3: City: Elko State: NV Zip: '55487' CountryCode: US IsPaid: true IsShipped: false LineItems: - Amount: 25.5 Bonus: 0 Cost: 0 CurrencyCode: USD Height: 0 Length: 0 OrderNumber: 18 PackageNumber: 15 CV: 0 RewardPoints: 5 QV: 0 Qty: 1 SKU: TDLARCH ItemID: 6 ProductName: Turtle Arch Weight: 0 Width: 0 FlagCancer: false FlagBirthDefect: false Packages: - ID: 15 CustomerID: '2' Address1: 3214 Address2: Carrier: FedEx City: Elko CountryCode: US Height: 0 Length: 0 Notes: Special Instructions here... OrderNumber: 18 ShipByDate: '2015-05-11T00:00:00Z' ShipMethodID: 1 State: NV WarehouseID: 1 Weight: 0 Width: 0 Zip: '55487' ShipTo: Test Name Status: Submitted Totals: - TaxableSubTotal: 18.5 CurrencyCode: USD ExchangeRate: 1 OrderNumber: 18 Shipping: 7 SubTotal: 25.5 Tax: 1.67 TaxTransactionID: '' DiscountTotal: 0 OverridenShippingTax: false Total: 27.17 PaidAmount: 27.17 TotalDue: 0 Payments: - Amount: 27.17 AuthorizationNumber: asdf1234 TransactionNumber: asdfw56 CurrencyCode: USD ExchangeRate: 1 Merchant: 12 OrderNumber: 18 PayDate: '2015-05-11T00:00:00Z' PaymentResponse: '0: Success' PayType: Cash Reference: '' Status: Paid OrderCustom: Field1: Fields 1-5 Field5: Here GetPaymentMerchantsResponse: type: array items: required: - MerchantId - Name - DisplayName - CurrencyCode - IsApm type: object properties: MerchantId: type: integer Name: type: string DisplayName: type: string CurrencyCode: type: string IsApm: type: boolean example: - MerchantId: 99 Name: Test Merchant (USD) DisplayName: Credit Card CurrencyCode: USD IsApm: false - MerchantId: 188 Name: Nexio APM - Apple Pay (USD) DisplayName: Apple Pay CurrencyCode: USD IsApm: true GetCustomerApmsRequest: type: object properties: customer: type: object properties: associateType: type: integer firstName: type: string languageCode: type: string lastName: type: string phoneNumber: type: string priceGroupId: type: integer shippingAddress: type: object properties: Street1: type: string Street2: type: string City: type: string PostalCode: type: string Region: type: string CountryCode: type: string coupons: type: array items: type: string customerRedirectUrl: type: string customFields: type: object properties: Field1: type: string Field2: type: string Field3: type: string Field4: type: string Field5: type: string currencyCode: type: string items: type: array items: required: - itemId - quantity type: object properties: itemId: type: integer quantity: type: integer orderType: type: integer partyId: type: integer regionId: type: integer shippingMethodId: type: integer specialInstructions: type: string storeId: type: integer warehouseId: type: integer GetCustomerApmsResponse: type: array items: required: - merchantId - paymentMethodIFrameId - buttonIFrameUrl - scriptUrl type: object properties: merchantId: type: integer paymentMethodIFrameId: type: string buttonIFrameUrl: type: string scriptUrl: type: string example: - merchantId: 188 paymentMethodIFrameId: nexioApplePayApmIframe buttonIFrameUrl: https://api.nexiopaysandbox.com/apm/v3?token=token-here&paymentMethod=applePayCyberSource scriptUrl: https://api.nexiopaysandbox.com/apm/v3/scripts?token=token-here - merchantId: 203 paymentMethodIFrameId: googlePayCyberSource buttonIFrameUrl: https://api.nexiopaysandbox.com/apm/v3?token=token-here&paymentMethod=googlePayCyberSource scriptUrl: '' - merchantId: 218 paymentMethodIFrameId: nexio-klarna-iframe buttonIFrameUrl: https://api.nexiopaysandbox.com/apm/v3?token=token-here&paymentMethod=klarnaPayments scriptUrl: '' securitySchemes: apiKeyHeader: type: apiKey name: Ocp-Apim-Subscription-Key in: header apiKeyQuery: type: apiKey name: subscription-key in: query security: - apiKeyHeader: [ ] - apiKeyQuery: [ ]