GetCustomerResponse
Properties
-
data(['object', 'null'])Cannot contain additional properties.defaultWarehouseId(['string', 'null'])Optional. Warehouse identifier.id(['string', 'null'])Required. Unique customer identifier. Must not be empty. Must exist for update. Cannot be the same as parent.id.xmlSenderId(['string', 'null'])Optional. XML sender identifier.billToCodeRequiredOnOrder(boolean)Required. Indicates whether BillTo code is required on order placement.-
billingEntities(['array', 'null'])-
Items (object)Cannot contain additional properties.
id(string, required)Required. Billing entity identifier.xmlSenderId(['string', 'null'])Optional. XmlSenderId override.-
addresses(array, required)Required. Addresses linked to this billing entity.-
Items (object)Cannot contain additional properties.
xmlSenderId(['string', 'null'])Optional. XmlSenderId.address1(string, required)Required. Address line 1.address2(['string', 'null'])Optional. Address line 2.address3(['string', 'null'])Optional. Address line 3.city(string, required)Required. City.code(string, required)Required. Code for the address.company(['string', 'null'])Optional. Company name.country(string, required)Required. Country.emailAddress(['string', 'null'])Optional. Email address.faxNumber(['string', 'null'])Optional. Fax number.isBillToDefault(boolean, required)Required. Indicates whether this is the default bill-to address.isShipToDefault(boolean, required)Required. Indicates whether this is the default ship-to address.name(string, required)Required. Address name.phoneNumber(['string', 'null'])Optional. Phone number.postalCode(string, required)Required. Postal code.stateProvince(string, required)Required. State or province.
-
-
isDefaultForCustomer(boolean, required)Required. Indicates whether this is the default billing entity for the customer.
-
-
brokerScopes(array)- Items (string)
-
contactAddress(['object', 'null'])Cannot contain additional properties.address1(string, required)Required if contactAddress is present. Address line 1. Must not be empty.address2(['string', 'null'])Optional. Address line 2.address3(['string', 'null'])Optional. Address line 3.city(string, required)Required if contactAddress is present. City. Must not be empty.company(['string', 'null'])Optional. Company name.country(string, required)Required if contactAddress is present. Country. Must not be empty.faxNumber(['string', 'null'])Optional. Fax number.name(['string', 'null'])Optional. Contact name.phoneNumber(['string', 'null'])Optional. Phone number.postalCode(string, required)Required if contactAddress is present. Postal code. Must not be empty.stateProvince(string, required)Required. State or province.
-
contactEmailAddress(['string', 'null'], format: email)Optional. Contact email address. Must be a valid email if provided. doValidateOrderPrice(boolean)Required. Indicates whether order price validation is performed on order placement for the Sales Order.-
emailNotificationSubscriptions(['array', 'null'])Optional. List of email notification subscriptions.-
Items (object)Cannot contain additional properties.
emailNotificationTemplateId(string, required)Required. Email notification template identifier.-
emailAddresses(array, required)Required. Array of email addresses.- Items (string)
-
-
invoiceEmailAddress(['string', 'null'], format: email)Optional. Invoice email address. Must be a valid email if provided. name(['string', 'null'])offerRevisionDelimiter(['string', 'null'])-
parent(['object', 'null'])Cannot contain additional properties.id(['string', 'null'], required)Required. Must not be the same as the customer id. Must exist in the system.name(['string', 'null'])
-
partner(['string', 'null'])Optional. Partner name. paymentEmailAddress(['string', 'null'], format: email)Optional. Payment email address. Must be a valid email if provided.phoneNumber(['string', 'null'])Optional. Phone number.productionFileLocation(['string', 'null'])Optional. Production file location.salesRep(['string', 'null'])Optional. Sales representative.-
shipMethodMappings(['array', 'null'])Optional. Ship method mappings for the customer.-
Items (object)Cannot contain additional properties.
ratesProviderShipMethodId(string, required)Required. Rates provider ship method identifier.sourceSystemShipMethodId(string, required)Required. Source system ship method identifier.-
fulfillmentSystemShipMethods(array, required)Required. Fulfillment system ship methods.-
Items (object)Cannot contain additional properties.
fulfillmentSystemId(integer, format: int64, required)Required. Fulfillment system identifier.fulfillmentSystemShipMethodId(string, required)Required. Fulfillment system ship method identifier.fulfillmentSystemName(string, required)Required. Fulfillment system name.
-
-
trackingUrl(['string', 'null'])Optional. Tracking URL.
-
-
sourceSystems(['array', 'null'])Optional. Source systems for the customer.-
Items (object)Cannot contain additional properties.
authClientId(['string', 'null'])Optional. Authentication client identifier.id(integer, format: int64, required)Required. Source system identifier.sourceSystemCustomerId(['string', 'null'])This is an automatically generated field added by middleware. It is considered read-only.clientSecret(['string', 'null'])Optional. Client secret for authentication.name(['string', 'null'])Optional. Source system name.
-
-
subsidiary(['string', 'null'])Optional. Subsidiary name. website(['string', 'null'])Optional. Website URL.
-
failureMessages(array)- Items (string)
-
informationalMessages(array)- Items (string)
-
operationWasSuccessful(boolean)
Quicktype Command
quicktype \
--framework SystemTextJson \
--lang cs \
--number-type double \
--src-lang schema \
--no-check-required \
--density dense \
--features complete \
--namespace OtpSchema.Api.CustomerBroker.GetCustomerResponse \
--src .working/build/internal/json-schema-for-cs/GetCustomerResponse.json -o .working/build/internal/csharp/OtpSchema/Api/CustomerBroker/GetCustomerResponse.cs
// <auto-generated />
//
// To parse this JSON data, add NuGet 'System.Text.Json' then do:
//
// using OtpSchema.Api.CustomerBroker.GetCustomerResponse;
//
// var getCustomerResponse = GetCustomerResponse.FromJson(jsonString);
#nullable enable
#pragma warning disable CS8618
#pragma warning disable CS8601
#pragma warning disable CS8603
namespace OtpSchema.Api.CustomerBroker.GetCustomerResponse
{
using System;
using System.Collections.Generic;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Globalization;
using J = System.Text.Json.Serialization.JsonPropertyNameAttribute;
using N = System.Text.Json.Serialization.JsonIgnoreCondition;
public partial class GetCustomerResponse
{
[J("data")] public Data Data { get; set; }
[J("failureMessages")] public string[] FailureMessages { get; set; }
[J("informationalMessages")] public string[] InformationalMessages { get; set; }
[J("operationWasSuccessful")] public bool OperationWasSuccessful { get; set; }
}
public partial class Data
{
[J("billingEntities")] public BillingEntity[] BillingEntities { get; set; }
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)][J("billToCodeRequiredOnOrder")] public bool? BillToCodeRequiredOnOrder { get; set; } // Required. Indicates whether BillTo code is required on order placement.
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)][J("brokerScopes")] public string[] BrokerScopes { get; set; }
[J("contactAddress")] public ContactAddress ContactAddress { get; set; }
[J("contactEmailAddress")] public string ContactEmailAddress { get; set; } // Optional. Contact email address. Must be a valid email if provided.
[J("defaultWarehouseId")] public string DefaultWarehouseId { get; set; } // Optional. Warehouse identifier.
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)][J("doValidateOrderPrice")] public bool? DoValidateOrderPrice { get; set; } // Required. Indicates whether order price validation is performed on order placement for; the Sales Order.
[J("emailNotificationSubscriptions")] public EmailNotificationSubscription[] EmailNotificationSubscriptions { get; set; } // Optional. List of email notification subscriptions.
[J("id")][JsonConverter(typeof(MinMaxLengthCheckConverter))] public string Id { get; set; } // Required. Unique customer identifier. Must not be empty. Must exist for update. Cannot be; the same as parent.id.
[J("invoiceEmailAddress")] public string InvoiceEmailAddress { get; set; } // Optional. Invoice email address. Must be a valid email if provided.
[J("name")] public string Name { get; set; }
[J("offerRevisionDelimiter")] public string OfferRevisionDelimiter { get; set; }
[J("parent")] public Parent Parent { get; set; }
[J("partner")] public string Partner { get; set; } // Optional. Partner name.
[J("paymentEmailAddress")] public string PaymentEmailAddress { get; set; } // Optional. Payment email address. Must be a valid email if provided.
[J("phoneNumber")] public string PhoneNumber { get; set; } // Optional. Phone number.
[J("productionFileLocation")] public string ProductionFileLocation { get; set; } // Optional. Production file location.
[J("salesRep")] public string SalesRep { get; set; } // Optional. Sales representative.
[J("shipMethodMappings")] public ShipMethodMapping[] ShipMethodMappings { get; set; } // Optional. Ship method mappings for the customer.
[J("sourceSystems")] public SourceSystem[] SourceSystems { get; set; } // Optional. Source systems for the customer.
[J("subsidiary")] public string Subsidiary { get; set; } // Optional. Subsidiary name.
[J("website")] public string Website { get; set; } // Optional. Website URL.
[J("xmlSenderId")] public string XmlSenderId { get; set; } // Optional. XML sender identifier.
}
public partial class BillingEntity
{
[J("addresses")] public Address[] Addresses { get; set; } // Required. Addresses linked to this billing entity.
[J("id")] public string Id { get; set; } // Required. Billing entity identifier.
[J("isDefaultForCustomer")] public bool IsDefaultForCustomer { get; set; } // Required. Indicates whether this is the default billing entity for the customer.
[J("xmlSenderId")] public string XmlSenderId { get; set; } // Optional. XmlSenderId override.
}
public partial class Address
{
[J("address1")] public string Address1 { get; set; } // Required. Address line 1.
[J("address2")] public string Address2 { get; set; } // Optional. Address line 2.
[J("address3")] public string Address3 { get; set; } // Optional. Address line 3.
[J("city")] public string City { get; set; } // Required. City.
[J("code")] public string Code { get; set; } // Required. Code for the address.
[J("company")] public string Company { get; set; } // Optional. Company name.
[J("country")] public string Country { get; set; } // Required. Country.
[J("emailAddress")] public string EmailAddress { get; set; } // Optional. Email address.
[J("faxNumber")] public string FaxNumber { get; set; } // Optional. Fax number.
[J("isBillToDefault")] public bool IsBillToDefault { get; set; } // Required. Indicates whether this is the default bill-to address.
[J("isShipToDefault")] public bool IsShipToDefault { get; set; } // Required. Indicates whether this is the default ship-to address.
[J("name")] public string Name { get; set; } // Required. Address name.
[J("phoneNumber")] public string PhoneNumber { get; set; } // Optional. Phone number.
[J("postalCode")] public string PostalCode { get; set; } // Required. Postal code.
[J("stateProvince")] public string StateProvince { get; set; } // Required. State or province.
[J("xmlSenderId")] public string XmlSenderId { get; set; } // Optional. XmlSenderId.
}
public partial class ContactAddress
{
[J("address1")] public string Address1 { get; set; } // Required if contactAddress is present. Address line 1. Must not be empty.
[J("address2")] public string Address2 { get; set; } // Optional. Address line 2.
[J("address3")] public string Address3 { get; set; } // Optional. Address line 3.
[J("city")] public string City { get; set; } // Required if contactAddress is present. City. Must not be empty.
[J("company")] public string Company { get; set; } // Optional. Company name.
[J("country")] public string Country { get; set; } // Required if contactAddress is present. Country. Must not be empty.
[J("faxNumber")] public string FaxNumber { get; set; } // Optional. Fax number.
[J("name")] public string Name { get; set; } // Optional. Contact name.
[J("phoneNumber")] public string PhoneNumber { get; set; } // Optional. Phone number.
[J("postalCode")] public string PostalCode { get; set; } // Required if contactAddress is present. Postal code. Must not be empty.
[J("stateProvince")] public string StateProvince { get; set; } // Required. State or province.
}
public partial class EmailNotificationSubscription
{
[J("emailAddresses")] public string[] EmailAddresses { get; set; } // Required. Array of email addresses.
[J("emailNotificationTemplateId")] public string EmailNotificationTemplateId { get; set; } // Required. Email notification template identifier.
}
public partial class Parent
{
[J("id")] public string Id { get; set; } // Required. Must not be the same as the customer id. Must exist in the system.
[J("name")] public string Name { get; set; }
}
public partial class ShipMethodMapping
{
[J("fulfillmentSystemShipMethods")] public FulfillmentSystemShipMethod[] FulfillmentSystemShipMethods { get; set; } // Required. Fulfillment system ship methods.
[J("ratesProviderShipMethodId")] public string RatesProviderShipMethodId { get; set; } // Required. Rates provider ship method identifier.
[J("sourceSystemShipMethodId")] public string SourceSystemShipMethodId { get; set; } // Required. Source system ship method identifier.
[J("trackingUrl")] public string TrackingUrl { get; set; } // Optional. Tracking URL.
}
public partial class FulfillmentSystemShipMethod
{
[J("fulfillmentSystemId")] public long FulfillmentSystemId { get; set; } // Required. Fulfillment system identifier.
[J("fulfillmentSystemName")] public string FulfillmentSystemName { get; set; } // Required. Fulfillment system name.
[J("fulfillmentSystemShipMethodId")] public string FulfillmentSystemShipMethodId { get; set; } // Required. Fulfillment system ship method identifier.
}
public partial class SourceSystem
{
[J("authClientId")] public string AuthClientId { get; set; } // Optional. Authentication client identifier.
[J("clientSecret")] public string ClientSecret { get; set; } // Optional. Client secret for authentication.
[J("id")] public long Id { get; set; } // Required. Source system identifier.
[J("name")] public string Name { get; set; } // Optional. Source system name.
[J("sourceSystemCustomerId")] public string SourceSystemCustomerId { get; set; } // This is an automatically generated field added by middleware. It is considered read-only
}
public partial class GetCustomerResponse
{
public static GetCustomerResponse FromJson(string json) => JsonSerializer.Deserialize<GetCustomerResponse>(json, OtpSchema.Api.CustomerBroker.GetCustomerResponse.Converter.Settings);
}
public static class Serialize
{
public static string ToJson(this GetCustomerResponse self) => JsonSerializer.Serialize(self, OtpSchema.Api.CustomerBroker.GetCustomerResponse.Converter.Settings);
}
internal static class Converter
{
public static readonly JsonSerializerOptions Settings = new(JsonSerializerDefaults.General)
{
Converters =
{
new DateOnlyConverter(),
new TimeOnlyConverter(),
IsoDateTimeOffsetConverter.Singleton
},
};
}
internal class MinMaxLengthCheckConverter : JsonConverter<string>
{
public override bool CanConvert(Type t) => t == typeof(string);
public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
var value = reader.GetString();
if (value != null && value.Length >= 1)
{
return value;
}
throw new Exception("Cannot unmarshal type string");
}
public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
{
if (value != null && value.Length >= 1)
{
JsonSerializer.Serialize(writer, value, options);
return;
}
throw new Exception("Cannot marshal type string");
}
public static readonly MinMaxLengthCheckConverter Singleton = new MinMaxLengthCheckConverter();
}
public class DateOnlyConverter : JsonConverter<DateOnly>
{
private readonly string serializationFormat;
public DateOnlyConverter() : this(null) { }
public DateOnlyConverter(string? serializationFormat)
{
this.serializationFormat = serializationFormat ?? "yyyy-MM-dd";
}
public override DateOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
var value = reader.GetString();
return DateOnly.Parse(value!);
}
public override void Write(Utf8JsonWriter writer, DateOnly value, JsonSerializerOptions options)
=> writer.WriteStringValue(value.ToString(serializationFormat));
}
public class TimeOnlyConverter : JsonConverter<TimeOnly>
{
private readonly string serializationFormat;
public TimeOnlyConverter() : this(null) { }
public TimeOnlyConverter(string? serializationFormat)
{
this.serializationFormat = serializationFormat ?? "HH:mm:ss.fff";
}
public override TimeOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
var value = reader.GetString();
return TimeOnly.Parse(value!);
}
public override void Write(Utf8JsonWriter writer, TimeOnly value, JsonSerializerOptions options)
=> writer.WriteStringValue(value.ToString(serializationFormat));
}
internal class IsoDateTimeOffsetConverter : JsonConverter<DateTimeOffset>
{
public override bool CanConvert(Type t) => t == typeof(DateTimeOffset);
private const string DefaultDateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK";
private DateTimeStyles _dateTimeStyles = DateTimeStyles.RoundtripKind;
private string? _dateTimeFormat;
private CultureInfo? _culture;
public DateTimeStyles DateTimeStyles
{
get => _dateTimeStyles;
set => _dateTimeStyles = value;
}
public string? DateTimeFormat
{
get => _dateTimeFormat ?? string.Empty;
set => _dateTimeFormat = (string.IsNullOrEmpty(value)) ? null : value;
}
public CultureInfo Culture
{
get => _culture ?? CultureInfo.CurrentCulture;
set => _culture = value;
}
public override void Write(Utf8JsonWriter writer, DateTimeOffset value, JsonSerializerOptions options)
{
string text;
if ((_dateTimeStyles & DateTimeStyles.AdjustToUniversal) == DateTimeStyles.AdjustToUniversal
|| (_dateTimeStyles & DateTimeStyles.AssumeUniversal) == DateTimeStyles.AssumeUniversal)
{
value = value.ToUniversalTime();
}
text = value.ToString(_dateTimeFormat ?? DefaultDateTimeFormat, Culture);
writer.WriteStringValue(text);
}
public override DateTimeOffset Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
string? dateText = reader.GetString();
if (string.IsNullOrEmpty(dateText) == false)
{
if (!string.IsNullOrEmpty(_dateTimeFormat))
{
return DateTimeOffset.ParseExact(dateText, _dateTimeFormat, Culture, _dateTimeStyles);
}
else
{
return DateTimeOffset.Parse(dateText, Culture, _dateTimeStyles);
}
}
else
{
return default(DateTimeOffset);
}
}
public static readonly IsoDateTimeOffsetConverter Singleton = new IsoDateTimeOffsetConverter();
}
}
#pragma warning restore CS8618
#pragma warning restore CS8601
#pragma warning restore CS8603
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "GetCustomerResponse.json",
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": ["object", "null"],
"additionalProperties": false,
"properties": {
"defaultWarehouseId": { "description": "Optional. Warehouse identifier.", "type": ["string", "null"] },
"id": {
"description": "Required. Unique customer identifier. Must not be empty. Must exist for update. Cannot be the same as parent.id.",
"type": ["string", "null"],
"minLength": 1
},
"xmlSenderId": {
"description": "Optional. XML sender identifier.",
"type": ["string", "null"]
},
"billToCodeRequiredOnOrder": {
"description": "Required. Indicates whether BillTo code is required on order placement.",
"type": "boolean"
},
"billingEntities": {
"type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {"description": "Required. Billing entity identifier.", "type": "string"},
"xmlSenderId": { "description": "Optional. XmlSenderId override.", "type": ["string", "null"] },
"addresses": {
"description": "Required. Addresses linked to this billing entity.",
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"xmlSenderId": { "description": "Optional. XmlSenderId.", "type": ["string", "null"] },
"address1": {"description": "Required. Address line 1.", "type": "string"},
"address2": { "description": "Optional. Address line 2.", "type": ["string", "null"] },
"address3": { "description": "Optional. Address line 3.", "type": ["string", "null"] },
"city": {"description": "Required. City.", "type": "string"},
"code": {"description": "Required. Code for the address.", "type": "string"},
"company": { "description": "Optional. Company name.", "type": ["string", "null"] },
"country": {"description": "Required. Country.", "type": "string"},
"emailAddress": { "description": "Optional. Email address.", "type": ["string", "null"] },
"faxNumber": { "description": "Optional. Fax number.", "type": ["string", "null"] },
"isBillToDefault": {
"description": "Required. Indicates whether this is the default bill-to address.",
"type": "boolean"
},
"isShipToDefault": {
"description": "Required. Indicates whether this is the default ship-to address.",
"type": "boolean"
},
"name": {"description": "Required. Address name.", "type": "string"},
"phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
"postalCode": {"description": "Required. Postal code.", "type": "string"},
"stateProvince": {"description": "Required. State or province.", "type": "string"}
},
"required": [
"code", "name", "address1", "city", "country", "stateProvince", "postalCode",
"isBillToDefault", "isShipToDefault"
]
}
},
"isDefaultForCustomer": {
"description": "Required. Indicates whether this is the default billing entity for the customer.",
"type": "boolean"
}
},
"required": ["id", "isDefaultForCustomer", "addresses"]
}
},
"brokerScopes": { "type": "array", "items": {"type": "string"} },
"contactAddress": {
"type": ["object", "null"],
"additionalProperties": false,
"properties": {
"address1": {
"description": "Required if contactAddress is present. Address line 1. Must not be empty.",
"type": "string"
},
"address2": { "description": "Optional. Address line 2.", "type": ["string", "null"] },
"address3": { "description": "Optional. Address line 3.", "type": ["string", "null"] },
"city": {
"description": "Required if contactAddress is present. City. Must not be empty.",
"type": "string"
},
"company": { "description": "Optional. Company name.", "type": ["string", "null"] },
"country": {
"description": "Required if contactAddress is present. Country. Must not be empty.",
"type": "string"
},
"faxNumber": { "description": "Optional. Fax number.", "type": ["string", "null"] },
"name": { "description": "Optional. Contact name.", "type": ["string", "null"] },
"phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
"postalCode": {
"description": "Required if contactAddress is present. Postal code. Must not be empty.",
"type": "string"
},
"stateProvince": {"description": "Required. State or province.", "type": "string"}
},
"required": ["address1", "city", "country", "postalCode", "stateProvince"]
},
"contactEmailAddress": {
"description": "Optional. Contact email address. Must be a valid email if provided.",
"type": ["string", "null"],
"format": "email"
},
"doValidateOrderPrice": {
"description": "Required. Indicates whether order price validation is performed on order placement for the Sales Order.",
"type": "boolean"
},
"emailNotificationSubscriptions": {
"description": "Optional. List of email notification subscriptions.",
"type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"emailNotificationTemplateId": {
"description": "Required. Email notification template identifier.",
"type": "string"
},
"emailAddresses": {
"description": "Required. Array of email addresses.",
"type": "array",
"items": {"type": "string"}
}
},
"required": ["emailNotificationTemplateId", "emailAddresses"]
}
},
"invoiceEmailAddress": {
"description": "Optional. Invoice email address. Must be a valid email if provided.",
"type": ["string", "null"],
"format": "email"
},
"name": { "type": ["string", "null"] },
"offerRevisionDelimiter": { "type": ["string", "null"] },
"parent": {
"type": ["object", "null"],
"additionalProperties": false,
"properties": {
"id": {
"description": "Required. Must not be the same as the customer id. Must exist in the system.",
"type": ["string", "null"]
},
"name": { "type": ["string", "null"] }
},
"required": ["id"]
},
"partner": { "description": "Optional. Partner name.", "type": ["string", "null"] },
"paymentEmailAddress": {
"description": "Optional. Payment email address. Must be a valid email if provided.",
"type": ["string", "null"],
"format": "email"
},
"phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
"productionFileLocation": {
"description": "Optional. Production file location.",
"type": ["string", "null"]
},
"salesRep": { "description": "Optional. Sales representative.", "type": ["string", "null"] },
"shipMethodMappings": {
"description": "Optional. Ship method mappings for the customer.",
"type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"ratesProviderShipMethodId": {
"description": "Required. Rates provider ship method identifier.",
"type": "string"
},
"sourceSystemShipMethodId": {
"description": "Required. Source system ship method identifier.",
"type": "string"
},
"fulfillmentSystemShipMethods": {
"description": "Required. Fulfillment system ship methods.",
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"fulfillmentSystemId": {
"description": "Required. Fulfillment system identifier.",
"type": "integer",
"format": "int64"
},
"fulfillmentSystemShipMethodId": {
"description": "Required. Fulfillment system ship method identifier.",
"type": "string"
},
"fulfillmentSystemName": {"description": "Required. Fulfillment system name.", "type": "string"}
},
"required": [
"fulfillmentSystemId", "fulfillmentSystemName", "fulfillmentSystemShipMethodId"
]
}
},
"trackingUrl": { "description": "Optional. Tracking URL.", "type": ["string", "null"] }
},
"required": [
"fulfillmentSystemShipMethods", "ratesProviderShipMethodId",
"sourceSystemShipMethodId"
]
}
},
"sourceSystems": {
"description": "Optional. Source systems for the customer.",
"type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"authClientId": {
"description": "Optional. Authentication client identifier.",
"type": ["string", "null"]
},
"id": {
"description": "Required. Source system identifier.",
"type": "integer",
"format": "int64"
},
"sourceSystemCustomerId": {
"description": "This is an automatically generated field added by middleware. It is considered read-only",
"type": ["string", "null"],
"readonly": true
},
"clientSecret": {
"description": "Optional. Client secret for authentication.",
"type": ["string", "null"]
},
"name": { "description": "Optional. Source system name.", "type": ["string", "null"] }
},
"required": ["id"]
}
},
"subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
"website": { "description": "Optional. Website URL.", "type": ["string", "null"] }
}
},
"failureMessages": { "type": "array", "items": {"type": "string"} },
"informationalMessages": { "type": "array", "items": {"type": "string"} },
"operationWasSuccessful": {"type": "boolean"}
},
"required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
}