Link Shippo Transaction to Shopify Order - shopify

I am attempting to work on some integration with Shopify and Shippo, part of the process is sending an email to our warehouse including the order line items with the Shipping Label attached as a PDF.
When we create the label in Shippo, the fulfillment information is updated in Shopify correctly, but I was wondering if there was any way to link the two back up reliably from an API perspective since the Shippo API appears to not include any invoice information. I see a link to an internal order object, but the API docs don't seem to stipulate any further information and the Shopify Fulfillment record does not appear to include any Shippo object id.
The only thing I see if the Shippo Order Metadata field which includes the order number, so I suppose I could parse this and make the request to Shopify's API but I would prefer a more concrete link if one is available.

We (I'm working on Shippo's product team) currently don't officially support Shopify Fulfillments with Shippo API label purchases.
That said, we have an Orders API endpoint in beta. The Orders endpoint allows you to retrieve all Orders of a Shippo account, including those imported automatically from Shopify. Each order, like all other Shippo resources, has an object_id field.
When you create a label through the Shippo API's Transaction endpoint, you can link the Order to the Transaction by sending the additional flag order, setting it to the object_id of the corresponding Order (e.g.: { ... "order": "<order-object-id>" ... }). This will trigger the corresponding Fulfillment of the order on its shopping cart platform, in your case Shopify.
Feel free to reach out to product#goshippo.com if you have more questions about this endpoint. Please keep in mind that it is still in closed beta and the endpoint might change in the future.

Related

How to determine if a Shopify order was placed via the Amazon channel?

I am querying the Shopify API for a specific order and I would like to know how to determine if the order was placed in our Amazon Seller channel and sent to Shopify as it is described in Shopify's documentation: https://help.shopify.com/en/manual/sell-online/amazon-sales-channel/processing-orders. On the section "Fulfilling Orders" of that page it reads:
All new orders placed through Amazon appear in your orders list and
are marked as Amazon.
A real JSON response from the Order API looks like this: https://help.shopify.com/en/api/reference/orders/order#show
I could not find any indication that the order might come via Amazon. I did find the fulfillment service (just a simple Ctrl F "amazon") but that is a different thing.
Being a Shopify Plus customer we asked their Guru Support team how they implement the "marked as Amazon" part and the response was:
Guru: Looking at all your orders you won't be able to
differentiate. When you click through to a singular order though,
you'll be able to see in its timeline that it came from Amazon instead
of your Online store.
My team: mmm so if I connect though the API
"orders.json?id=xxxx" the only way I can check it came from amazon is
though the timeline?
Guru: As far as I'm aware that's the case. I can check with our
development team to see if there's another indicator. Would I be able
to email you back with any additional findings?
Of course my team is still waiting on an answer from them but I bet someone at SO has already been in this situation before.
Some might want to know why I need to know the order source. We are sending these orders from Shopify into Netsuite via a Celigo connector. Amazon orders need to hit a different GL account than the normal Shopify orders and my task is to code the correct mapping based on some differentiating element or name/value pair from the JSON response.
When an order comes down the JSON has a field called source_name and the value should be something like this: sell-on-amazon
"source_name":"sell-on-amazon"

Big Commerce - Custom Price Retrieval

I'm looking at using Big Commerce.
Is it possible through customizations that I can programmatically pull a price via a web service based on who the user is?
User logs into my store; when they search, for each product the price (and some other information) is being populated by a web service call. Same goes for the product page, cart, etc.
Yes, this would be possible, although the implementation may vary depending on the size of your catalog/number of individual users who need pricing unique to them.
One option would be to call your web service for pricing and send those prices to the storefront for a specific customer (or group of customers) using the Price Lists API:
https://developer.bigcommerce.com/api-reference/catalog/pricelists-api
Another possibility would be to listen for the ID of the logged in customer, and based on that ID, update the prices of the products in the cart using the Cart API:
https://developer.bigcommerce.com/api-reference/cart-checkout/server-server-cart-api

Bigcommerce custom shipping handling

I have a client who wants an eCommerce site but they have to have a custom shipping service. The way shipping will work will be as follows:
When the online customer is placing the order and is shown the shipping page, this page must query the custom shipping service passing all the order information (as JSON). The shipping service will return a JSON array containing ShipmentOption objects. Each ShipmentOption object contains the shipping method name and the total price of shipping the items on the order to the online customer's address.
Can the BigCommerce platform handle the above requirement? If yes, can you please send me the URL to the pages that explain to me how to set this up or send me the instructions please?
This isn't possible to accomplish with Bigcommerce, but you may be able to use ShipperHQ to host the same logic and get similar, if not the same, quotes.

POST Order with values for configurable product fields?

I've successfully got 3rd party merchant orders posting new orders to my client's BigCommerce store programmatically. I've even got product options posting as part of the order (product->option set-> option relationships are a total cluster).
My client relies heavily on configurable fields. I'm able to pull the definitions of the configurable fields for each product, but can't find a way to POST or update the configurable field values through the API.
Is it possible to manipulate an order's configurable fields through the API?
Got a response from the support team # BigCommerce. Manipulating configurable fields via the API is not currently possible and not currently on the roadmap.
Original reply below:
Unfortunately that is a product limitation with the API, it will not tie to configurable fields on the product. The best you can do is attach that information through a generic text field like 'staff_notes'. Honestly I have not heard of any talk of adding a way to add products with configurable fields to orders via the API. I think this may be because anything that can be done with configurable fields can be done with options and options are what is being pushed for the future. I have noted this feedback down though and will pass it along to our Product Manager for the API. Best case scenario is that it may be seen in a future version of the API which is at least several months away.

How to complete purchase with eBay trading API

I was able to make an offer using PlaceOfferRequest (XML). What should I do in order to complete the purchase and update the shipping address to where he/she should ship the Item?
I'm using XML in order to post the request.
While I can't find any official resource stating that completing purchases isn't possible, I'm 99% sure that its simply not possible. All you can do is redirect the user to the payments page, using this template for the URL:
http://payments.${DOMAIN}/ws/eBayISAPI.dll?CheckoutProcessor&item=${Item.ItemID}&transactionId=${TransactionID}
Where DOMAIN could be, for example, "sandbox.ebay.de" or just "ebay.com".