• Toll-free  888-665-8637
  • International  +1 717-220-0012
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

wloeppky
#1 Posted : Monday, August 13, 2007 3:35:42 PM(UTC)
wloeppky

Rank: Member

Joined: 8/13/2007(UTC)
Posts: 15

Using the web services. Items on our web site have two choices, color and size. When I retrieve orders from the web site the line item provides the guid for generated choice for a specific color and size. From this guid what is the best way to determine what the two choices, color and size, are for this guid. I can see the choices in the description but would prefer to find the choices with some web service method for the passed guid in the order.


Thanks.
Andy Miller
#2 Posted : Monday, August 13, 2007 4:06:46 PM(UTC)
Andy Miller

Rank: Member

Joined: 11/5/2003(UTC)
Posts: 2,136

Was thanked: 1 time(s) in 1 post(s)
Do you want the list of possible choices (e.g. "Red", "Green", "Blue"; and "Small", "Medium", "Large"), or the choices that were made (e.g. "Green" and "Small")?
Andy Miller
Structured Solutions

Shipper 3 - High Velocity Shipment Processing
wloeppky
#3 Posted : Tuesday, August 14, 2007 12:46:55 PM(UTC)
wloeppky

Rank: Member

Joined: 8/13/2007(UTC)
Posts: 15

I am looking for the choices for that guid, "Green" and "Small".
Andy Miller
#4 Posted : Tuesday, August 14, 2007 1:37:17 PM(UTC)
Andy Miller

Rank: Member

Joined: 11/5/2003(UTC)
Posts: 2,136

Was thanked: 1 time(s) in 1 post(s)
Code:

Dim service As New BVC5.WebServices3



Dim token As BVC5.AuthenticationToken

token = GetToken() ' Your code to login



Dim order As BVC5.Order

order = GetOrder() ' Your code that retrieves order



Dim lineitem As BVC5.LineItem

lineitem = order.Items(0)



Dim lineitemModifier As BVC5.LineItemModifier

lineitemModifier = lineitem.Modifiers(0)



Dim modifier As BVC5.ProductModifier

modifier = service.Catalog_ProductModifier_FindByBvin(token, lineitemModifier.ModifierBvin)



For Each option As BVC5.ProductModifierOption in modifier.ModifierOptions

If option.Bvin = lineitemModifier.ModifierValue Then

' This is the matching option

Console.WriteLine(option.DisplayText)

End If

Next
Unfortunately there is no Catalog_ProductModifierOption.FindByBvin WebMethod, so you need to retrieve the entire ProductModifier and then examine the options to find the matching choice.


(I wrote the code on the fly...I apologize if there is a typo)
Andy Miller
Structured Solutions

Shipper 3 - High Velocity Shipment Processing
wloeppky
#5 Posted : Tuesday, August 14, 2007 4:36:27 PM(UTC)
wloeppky

Rank: Member

Joined: 8/13/2007(UTC)
Posts: 15

Thanks Andy, that looks like exactly what I need. Just out of curiousity how did you figure this out yourself?
Andy Miller
#6 Posted : Tuesday, August 14, 2007 6:13:59 PM(UTC)
Andy Miller

Rank: Member

Joined: 11/5/2003(UTC)
Posts: 2,136

Was thanked: 1 time(s) in 1 post(s)
I don't recall. I wrote the code that this comes from last year (as part of Shipper Service for BVC5). Normally I look at the object first (i.e. ProductModifierOption) and then see what methods it has. In this case, I probably found that this was missing from WebServices3 and so I looked around at related objects until I found a solution.

I have found the API to be 90% self-documenting. The other 10% I figure out by reading other code (such as the code behind the BVAdmin pages) or trial and error.
Andy Miller
Structured Solutions

Shipper 3 - High Velocity Shipment Processing
wloeppky
#7 Posted : Tuesday, September 4, 2007 8:31:26 AM(UTC)
wloeppky

Rank: Member

Joined: 8/13/2007(UTC)
Posts: 15

I tested out the code you suggested but for some reason there are no Modifiers. This array has a length of 0. Yet when I look at the order I can see the two choices I made when ordering the item. I also looked at Inputs and this array is empty as well. Any thoughts as to why these arrays are empty?
Andy Miller
#8 Posted : Tuesday, September 4, 2007 10:19:18 AM(UTC)
Andy Miller

Rank: Member

Joined: 11/5/2003(UTC)
Posts: 2,136

Was thanked: 1 time(s) in 1 post(s)
The order objects that come back from a search are not fully hydrated. Try using Order_FindByBvin to retrieve the full order and examine that. For example (this is just pseudo code),

for each lightOrder as Order in searchResults
heavyOrder = Order_FindByBvin(token, lightOrder.Bvin)
' heavy Order should have all of the information
next
Andy Miller
Structured Solutions

Shipper 3 - High Velocity Shipment Processing
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

©2025 Develisys. All rights reserved.
  • Toll-free  888-665-8637
  • International  +1 717-220-0012