Big Commerce - Custom Price Retrieval - bigcommerce

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

Related

Shopify changing product price for variation by app

I am a shopify partner, I am trying to get around the the variant limits of shopify by coding an app and also because my client has a complicated formula for calculating the price. I don't have a problem with the part that adds the information for my variants to the order, however when I want to modify the price based on the user selection, it doesn't seem an easy task to do.
I came across couple of apps which does the same thing by adding a new product or variation which is not optimal for my use case, is there any app that does the job without adding extra information to the database, if so, how?
Qualified Yes
Unfortunately, Shopify doesn't give us a lot of options to edit prices of items dynamically. Here are the two options that I know of that will allow you to adjust the price of a product directly - however, both have limitations.
Using Shopify Script Editor
If you're working with a Shopify Plus merchant, you can use the Shopify Script Editor to dynamically adjust the prices of products, provided that the direction you adjust is down. You cannot increase the price of a product using the script editor - so for your use case, the list price would have to be the most expensive possible price that the item sells for, which you would then discount appropriately using the app.
Using draft orders
Using an app, you can use Shopify's Draft Order API to create an order with custom discounts and/or create completely custom items that are independent of the products set up in the product database.
The basic flow for this is that when the customer clicks 'checkout' you halt the normal navigation, send the cart contents to your app, create a draft order with the appropriate pricing, then supply the front-end code with the draft-order checkout/invoice URL so that you can send the customer there instead of the normal checkout. This has several limitations, however, including that prices of existing products can only be discounted, not increased, and the fact that Shopify will not allow a customer to use discount codes on a draft order invoice - once an order is set up this way, Shopify's assumption is that all prices are final.
Disclaimer: Sorry if someone sensible doesn't like a response with a link :) I'm not related to this app I'm just a user.
On a project with complex pricing, we use the app Wholesale Pricing Discount by Wholesale Helper we liked because is easy to import multiple pricing by-product and relate it by customer.
this app does not multiply the products, they use customer tags. maybe that can give you some guidance.
An important rule on Shopify is you can't increase the price by API on an order, you can just reduce i

How do I find the Item ID for products on eBay?

I am trying to use eBay's RESTful Sell API and Buy API to make an order management application. To test the API calls, I have successfully created seller and buyer accounts. Further, I have uploaded some inventory from my sellers account and published the offer.
Now I wish to place an order from the buyers account on the items in the same listing. From my understanding, I have to specify the items to be ordered by providing the Item IDs. However, I cannot figure out how to find the Item ID required for purchasing these items. Where can I find the Item ID's corresponding to an offer?
In case this is not the correct approach and there is some alternate way to go about doing this, what steps am I required to take?
Apparently, the itemId is the same as the listingId. The newer RESTful API's make use of the variable listingId to represent an identifier for a published listing. The same variable is referred to by the name itemId in the older, Trading APIs. The value for listingId/itemId is generated when publishing an offer and converting it into a listing. Thus, it can be fetched either at the time of publishing the offer (present in the response under the variable named listingId) or it can be fetched through an order (present in the response under the variable legacyItemId.

Link Shippo Transaction to Shopify Order

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.

How do I link a tracking number to a specific carrier in Bigcommerce?

Through the Bigcommerce API I am trying to upload the carrier along with the tracking number so that the tracking number links to a carriers website. Following the instructions here - Post carrier to Bigcommerce Shipments API - I set the shipping_method to UPS. However, when looking at the shipment information in the Bigcommerce backend, shipping method shows - Other(UPS). Also, the tracking number is not linked to any website.
How do I properly set shipping_method so that it won't be prefixed with Other and the tracking number is linked to that carrier?
This is a limitation of the Shipments API resource. Shipments created via the API always prefix the shipping_methods property with "Other" and do not link the tracking number to the appropriate carrier website. Shipments need to be created via the Control Panel for the tracking number URL to behave as you're describing.
So I did some playing around and it seems that the tracking numbers associated website and the prefix comes from the requested shipping. My first couple of orders were created manually and I did not select a shipping method. However, when I placed an order on the stores frontend and selected a shipping method, shipping_method was then prefixed with the requested carrier. This also happened when I created a manual order in the backend and actually selected a shipping method.
Long story short, it appears to me that the website linked to the tracking number, is associated with the shipping method that the customer selected.

Method for letting customers add additional personal information (ex: default size) in Shopify?

I'm a first-time Shopify developer looking for a way to let customers enter additional data about themselves in Shopify. Specifically, I'd like to add a page or modify the account info page so the customer can enter measurements. I'd then like to take that measurement information, process it, and return a recommended size for products in the shop.
Is this possible in Shopify? I am trying to figure out how to add metafields for customers to record their measurements, but I'm a bit lost.
This should work, but would require a fair bit of customization on the merchant's part and is a bit of a hack:
When a customer is logged in their info is available through Liquid.
This allows you to reference that customer's data when rendering shop pages, e.g. a Product page.
You can assign Metafields to customers using the API. These are also available through Liquid.
Putting this all together, you can have a form on the shopfront asking the customer for info once they're logged in. The form submits to your server where you add the info to the Customer object as Metafields using the API. Then you have some clever Liquid on the Product page that either does the necessary calculations itself or embeds the relevant info into javascript to be processed client-side.