Using the Shopify API, I am able to successfully pull down orders from a shop, and also post fulfillments to that shop. However, when I update that fulfillment with a tracking number(s), I can't figure out how to add more than 1 tracking number per line-item. I can update a single tracking number at the order level, or just one at each individual line-item level. This can cause an issue when the line item needs to be broken up into different shipments.
For example, say a store sells just one type of hat, with sku 1234. An order comes in for 10 hats.
The order has one line item, with qty 10.
Since I only have boxes that can fit 4 hats each,
I need to send this order in 3 different boxes:
Box 1 - 4 hats, sku 1234, tracking number 700
Box 2 - 4 hats, sku 1234, tracking number 800
Box 3 - 2 hats, sku 1234, tracking number 900
In this scenario I am currently doing a PUT to update the tracking with the 3 tracking numbers comma separated into the single tracking-number element,
<fulfillment>
<tracking-number>700,800,900</tracking-number>
<id type="integer">255858046</id>
</fulfillment>
But it would be preferable to be able to distinguish them as 3 different tracking numbers:
<fulfillment>
<tracking-number>700</tracking-number>
<tracking-number>800</tracking-number>
<tracking-number>900</tracking-number>
<id type="integer">255858046</id>
</fulfillment>
Using the Shopify API, is there a way to get all 3 of these tracking numbers separately tacked onto the fulfillment at either the order level, or line-item level?
This is a known issue and actually messes with some 3rd party integrations we have. There is a patch being worked on ATM that should make it possible to do for both that integration as well as your situation.
All that to say, currently it is not possible. I'd suggest doing 3 separate fulfillments as a work around, but that only works if these items aren't all the same product variant.
Related
I have two dynamic product groups
First: Test Product with variants
Conditions: Product Is equal to Variant product
Result total 7 like I expect this
Second: Active Products
Conditions: Active yes
we allready see that the stream ids are just set to 5 products
Now we get a total of 5 instead of 15 products like expected?
Why is it inconsistent, and how can I modify my request to consider also the variants?
You shouldn't rely on the stream_ids column as an indicator which product is shown in a dynamic product group at any given moment. This is because there are multiple more things that factor into whether a product is shown to a user in a dynamic product group.
The filters you define for the group resolve to an SQL query, which in simplified terms would yield something like WHERE active = 1 AND id IN ('...', '...'). So the stream_ids column isn't used to select the contents of a group, but the entire query including all filters is executed in the storefront request. The result of that query is what you see in the preview of the dynamic product group.
Why doesn't it correlate completely with the content of stream_ids?
Shopware features inheritance of fields. If fields of a variant haven't been assigned a value, they may inherit that value from their parents. This may not be reflected in the contents of stream_ids. In fact the children/variants may even inherit the contents of stream_ids.
Then there's the fact that contents of the product group may vary, depending on the current sales channel. That may be because the sales channel features a different language, hence the content of a translatable field used in a filter may vary. Also if you use price filters, there is the possibility of products with multiple prices, which might only be shown if certain conditions are met, defined by the rule builder.
In short, don't count on the stream_ids, which can't reflect all these variables but are used in some capacity internally, for invalidating caches and such. Instead use the preview to judge what the average user might find when they see a product group. There's also the possibility to choose which sales channel the preview should apply to, for the exact reason, that contents may differ depending on the sales channel.
I am creating a dashboard which will display sales of top 5 products along with particular product in a category as per the filters. I have created top 5 category list using rank basis sales but am not able to club top 5 along with one specific category. This dashboard's objective is to compare industry vs our product in the category. Our product may or may not be in top 5.
I have tried using two different sheets and clubbing it together but it is not getting along properly.
For eg. The filters are set on TV.
Highest selling top 5 TVs will be displayed along with the in-house product as rows and column is sales. Can someone help.
I am in the process of building a e-commerce website for a small local grocery chain to allow their customers to order online and pickup at store. I will be integrating with the in-store POS system to pull the category & product data and push back the order data.
As I am new to Prestashop I am wondering if the following setup is possible out-of-the-box:
The POS system uses price zones which can be shared by stores (e.g. price_zone_1 is used by the 3 stores in San Francisco for pricing, price_zone_2 is used by 2 stores in Los Angeles for pricing).
The POS system have a pricezone_productprice table
product_id pricezone_id price
1 1 14
1 2 12
Then there is store_stock table
product_id store_id stock
1 1 98
1 2 45
And the store table has a pricezone foreign key that ties everything together
store_id pricezone_id
1 2
2 1
I need to have a similar setup on the Prestashop side to exchange data and display correct pricing and stock information for different stores.
Is such a structure/feature available out-of-the-box? If not are you aware of any module that might help with this? And finally if nothing is available how feasible do you think this is to develop under prestashop?
I explored multistore feature but as far as I understand that would not do what I am looking for as it separates order history, etc. I want customers to be able to see their order history from different stores in one page.
This might deserve an entire Override for Product Class with a Module. But honestly, you should better do a multishop website based on the zone you want to deliver, then ask the client when he enters the website.
It will cost you 10 minutes and fine tuning instead of hours of dev and lot's of debug.
If you still want to use a Module, just overide Product class and following methods : getPriceStatic and getProductPrice
NB : Another idea would be to consider price by ... country and tell each as a separate one. But this can be dangerous :).
As I am attempting to set up a new installation of Odoo I am trying to figure out how to use the manufacturing tool correctly.
What I am trying to do is take a roll of material and cut it down to sheets. In this case one roll equals 30 sheets.
Is there a way to tell Odoo that when I request 10 sheets that it should use the entire roll and create 30 sheets so that I'm not left with a fraction of a roll?
EDIT: I figured out that i can set the product rounding of the consumed item to be set to one full item. But now i have a different problem. If I ask Odoo to produce say 40 items it will produce exactly 40 and use 2 rolls, which means im missing 20 items. Is there a way to set the produced quantity to a factor of the amount of items i can get out of the roll?
You could create:
A product called sheet-Unit
Then in the BOM page of the sheet-unit you write 40 units under quantity and you put your roll as BOM. Basically you're saying that 40 unit of sheet-unit = BOM
Sheet for sales (your sales product) BOM = 1 sheet-unit
Then test it.
When you sell a sheet-sales-product and a sheet-unit is needed according with your settings (make to order - manufacturing - minimum qantity in stock-etc) a MO for 40 sheet should start.
Long shot here but does anyone know if CSCART can provide a customer with a trade account to only purchase products in increments of 6 while keeping it ad 1 for non trade customers.
By default you can not achieve this on the same storefront.
So I see two possible solutions:
1) Use 2 different storefronts (for wholesales & retail customers) - in this case you can set separate setting values for each store. Moreover in this case you will be able to set different product descriptions/price rules etc.
2) Make a modification.