Discussions
Issue with Create a Cart POST request
I am attempting to create a button on my webpage that leads users to a cart with a single specified product in it. This is such that the user can easily/quickly checkout said product without needing to search for the itme, add it to their cart, then checkout.
Currently, I am trying to test this out using Postman. I can get a status of 201 and an icon on the UI (user's page) which shows that the API call is successfully creating a cart, however, when clicking on the cart icon I am constantly met with an error 500 (I would then need to manually clear the cart). Here is the request body I am currently using for the "Creates a Cart" POST api request:
{
"$type": "Asi.Soa.Commerce.DataContracts.CartData, Asi.Contracts",
"ComboOrder": {
"$type": "Asi.Soa.Commerce.DataContracts.ComboOrderData, Asi.Contracts",
"ComboOrderId": "",
"Order": {
"$type": "Asi.Soa.Commerce.DataContracts.OrderData, Asi.Contracts",
"Lines": [
{
"$type": "Asi.Soa.Commerce.DataContracts.OrderLineData, Asi.Contracts",
"Item": {
"$type": "Asi.Soa.Commerce.DataContracts.ItemSummaryData, Asi.Contracts",
"ItemClass": {
"$type": "Asi.Soa.Commerce.DataContracts.ItemClassSummaryData, Asi.Contracts",
"ItemClassId": "MEETING"
},
"ItemCode": "TEST1/REG",
"ItemId": "TEST1/REG",
"Name": "Registration Fee"
},
"QuantityOrdered": {
"$type": "System.Nullable`1[[Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts]], mscorlib",
"Amount": 1
}
}
]
}
},
"UserId": "34231",
"UpdateInformation": {
"$type": "Asi.Soa.Core.DataContracts.EntityUpdateInformationData, Asi.Contracts",
"CreatedBy": "34231",
"CreatedOn": "2023-10-27T00:00:00Z",
"UpdatedBy": "34231",
"UpdatedOn": "2023-10-27T00:00:00Z"
}
}
My suspicion is that there might be an issue with the ComboOrder field at the moment but I am unsure. Can one of the devs chip in here? Thank you
Hello,
You would need SoldToCustomerParty and Delivery properties in your request within Order.
Example:
"Order": {
"$type": "Asi.Soa.Commerce.DataContracts.OrderData, Asi.Contracts",
"Lines": [
{
"$type": "Asi.Soa.Commerce.DataContracts.OrderLineData, Asi.Contracts",
"Item": {
"$type": "Asi.Soa.Commerce.DataContracts.ItemSummaryData, Asi.Contracts",
"ItemClass": {
"$type": "Asi.Soa.Commerce.DataContracts.ItemClassSummaryData, Asi.Contracts",
"ItemClassId": "SALES"
},
"ItemCode": "AsscCEOGuide",
"ItemId": "AsscCEOGuide",
"Name": "Registration Fee"
},
"QuantityOrdered": {
"$type": "System.Nullable`1[[Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts]], mscorlib",
"Amount": 1
}
}
],
"Delivery": {
"$type": "Asi.Soa.Commerce.DataContracts.DeliveryDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Commerce.DataContracts.DeliveryData, Asi.Contracts",
"Address": {
"$type": "Asi.Soa.Membership.DataContracts.FullAddressData, Asi.Contracts",
"AdditionalLines": {
"$type": "Asi.Soa.Membership.DataContracts.AddressLineDataCollection, Asi.Contracts",
"$values": []
},
"Address": {
"$type": "Asi.Soa.Membership.DataContracts.AddressData, Asi.Contracts",
"AddressId": "119",
"AddressLines": {
"$type": "Asi.Soa.Membership.DataContracts.AddressLineDataCollection, Asi.Contracts",
"$values": [
"4200 Gibson Street"
]
},
"CityName": "Carellton",
"CountryCode": "US",
"CountryName": "United States",
"CountrySubEntityCode": "CO",
"CountrySubEntityName": "Colorado",
"CountyName": "Harris",
"FullAddress": "4200 Gibson Street\rCarellton, CO 77007\rUNITED STATES",
"PostalCode": "77007"
},
"AddresseeText": "Ms. Erica Taber\r\n4200 Gibson Street\rCarellton, CO 77007\rUNITED STATES",
"AddressPurpose": "Address",
"CommunicationPreferences": {
"$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceData, Asi.Contracts",
"Reason": "default"
},
{
"$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceData, Asi.Contracts",
"Reason": "mail"
},
{
"$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceData, Asi.Contracts",
"Reason": "bill"
},
{
"$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceData, Asi.Contracts",
"Reason": "ship"
}
]
},
"Email": "ericataber@mailinator.com",
"FullAddressId": "119",
"Note": "P.S.I. Code 9450",
"Phone": "(713) 897-5650",
"Salutation": {
"$type": "Asi.Soa.Membership.DataContracts.PartySalutationData, Asi.Contracts",
"SalutationMethod": {
"$type": "Asi.Soa.Membership.DataContracts.PartySalutationMethodSummaryData, Asi.Contracts",
"PartySalutationMethodId": "main"
},
"Text": "Ms. Erica Taber"
},
"DisplayName": "Erica",
"DisplayOrganizationName": "American Business Services"
},
"AddressId": "119",
"CustomerParty": {
"$type": "Asi.Soa.Commerce.DataContracts.CustomerPartyData, Asi.Contracts",
"PartyId": "147"
},
"DeliveryId": "2b6e8a89-4126-4a97-8c48-413b41aa364b",
"DeliveryMethod": {
"$type": "Asi.Soa.Commerce.DataContracts.DeliveryMethodData, Asi.Contracts"
}
}
]
},
"SoldToCustomerParty": {
"$type": "Asi.Soa.Commerce.DataContracts.CustomerPartyData, Asi.Contracts",
"Party": {
"$type": "Asi.Soa.Membership.DataContracts.PersonData, Asi.Contracts",
"UpdateInformation": {
"$type": "Asi.Soa.Core.DataContracts.EntityUpdateInformationData, Asi.Contracts",
"CreatedBy": "MANAGER",
"CreatedOn": "2004-04-16T14:19:38.753",
"UpdatedBy": "BRIANM",
"UpdatedOn": "2023-04-01T09:48:51.16"
},
"PartyId": "147",
"Id": "147",
"UniformId": "dc770d25-9ed6-4101-a5e9-c2a2014651a8",
"Status": {
"$type": "Asi.Soa.Membership.DataContracts.PartyStatusData, Asi.Contracts",
"PartyStatusId": "A",
"Name": "Active",
"Description": "Active"
}
},
"PartyId": "147"
}
}
},
Hope that helps!
Thanks,
Tarini
This helped me, very useful information to include in the docs
ο»Ώ