shopify / active_fulfillment Goto Github PK
View Code? Open in Web Editor NEWActive Merchant library for integration with order fulfillment services
Home Page: https://shopify.github.io/active_fulfillment/
License: MIT License
Active Merchant library for integration with order fulfillment services
Home Page: https://shopify.github.io/active_fulfillment/
License: MIT License
Any chance of updating the gemspec to be more lenient with activesupport requirements ?
Bundler could not find compatible versions for gem "activesupport":
In Gemfile:
active_fulfillment (>= 1.0.0) depends on
activesupport (~> 2.3.2)
rails (> 2.3.10) depends on
activesupport (3.0.1)
Amazon MWS will require the Auth Token to be used by all client apps on 15 March, 2015
Details:
We are always looking for ways to ensure that our Amazon Marketplace Web Service is safe and secure. As part of our ongoing efforts, Amazon MWS authorizations now include an additional parameter – the “MWSAuthToken”. The MWSAuthToken is an authorization token that we have started issuing to represent the authorization of a specific developer by a specific Amazon seller.
If you are a developer for whom multiple sellers have authorized your developer account number, including the MWSAuthToken in Amazon MWS requests is currently optional, but starting March 31, 2015 you will be required to include the MWSAuthToken in all Amazon MWS requests.
To get MWSAuthTokens for sellers already using your solutions you can call the GetAuthToken operation as more fully described here. More information about the new MWSAuthToken feature can be found here. If you have questions that have not been resolved by reading the links above, please use the Amazon MWS contact form, making sure to choose the “Solution Provider” dropdown option, here (NA) or here (EU).
If you are using an integrated registration pipeline that returns signed credentials as part of your authorization process, on September 16, 2014 the MWSAuthToken will start being sent as part of the signed credentials in the post-back URL.
If you are using an integrated registration pipeline that is returning unsigned credentials, the MWSAuthToken will not be returned until you upgrade to a new pipeline. Please contact us here (NA) or here (EU), make sure to choose the “Solution Provider” dropdown option, and we will help you begin the process to upgrade to a new pipeline.
Currently fetch_stock takes a hash in which it expects :sku
for a specific sku or if nothing is sent we expect all the skus to be returned to us. Other options may be sent in this hash and they will be included in the request.
fetch_tracking_numbers / data however takes order_ids
and then an options hash with other options that will be sent in the request. We should make these two methods take consistent args, either both only a hash or hash for extra args and a specific var for the main data.
The amazon fulfillment provider (Fulfillment Web Services) has been shutdown for more than a year. We should probably remove all that code and the tests since they just slow things down and add noise.
And address such as 123 Fake St
is getting submitted for fulfillment as 123%2520Fake%2520St
which results in an invalid address according to Amazon.
rails c
/Users/rromanchuk/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:252:in `require': cannot load such file -- active_support/core_ext/class/inheritable_attributes (LoadError)
Googling around this looks like because of a change in active_support, also noticed your not locking your dependency version in the gemspec.
The callback_url
may already contain a slash, so when the request URI is built, it could look like:
https://myapp.com//fetch_stock.json?max_retries=3&shop=shop.myshopify.com×tamp=1580412318
If the fulfillment service server cannot handle two slashes, then the URL does not work.
The travis matrix is becoming exponentially bigger on each ActiveSupport release (the matrix consist of 41 elements right now).
Is there any reason we want to keep support for activesupport 3.2, 4.0, 4.1, 4.2?
Here https://github.com/Shopify/active_fulfillment/blob/master/test/remote/shipwire_test.rb we see that customer's email is set in @us_address & @uk_address
But email is actually taken from options hash:
https://github.com/Shopify/active_fulfillment/blob/master/lib/active_fulfillment/fulfillment/services/shipwire.rb#L159
I am sorry for it. I want to ask a question but don't know how. So i have used issues.
I have found VERY interesting code for my:
module ActiveFulfillment
class AmazonMarketplaceWebService < Service
..........
def registration_url(options)
opts = {
"returnPathAndParameters" => options["returnPathAndParameters"],
"id" => @options[:app_id],
"AWSAccessKeyId" => @options[:login],
"SignatureMethod" => "Hmac#{SIGNATURE_METHOD}",
"SignatureVersion" => SIGNATURE_VERSION
}
signature = sign(:get, REGISTRATION_URI, opts)
"#{REGISTRATION_URI.to_s}?#{build_query(opts)}&Signature=#{signature}"
end
.........
end
Anybody can tell what is it "id" value? How can i get this value? I was looking for Amazon documentations about this MWS API but has found nothing.
I develop application and i want use this API for getting AmazonAuthToken.
Current implementations of active_fulfillment services use REXML. Has there been any discussions to moving the implementations to use Nokogiri or something more performant?
It should be reporting the available quantity not the total quantity, which includes things that haven't been received by the fulfillment centre yet.
<ListInventorySupplyResponse xmlns="http://mws.amazonaws.com/FulfillmentInventory/2010-10-01/">
<ListInventorySupplyResult>
<InventorySupplyList>
<member>
<SellerSKU>superawesomefancything</SellerSKU>
<ASIN>A000000000</ASIN>
<TotalSupplyQuantity>15</TotalSupplyQuantity>
<FNSKU>X123456789</FNSKU>
<Condition>NewItem</Condition>
<InStockSupplyQuantity>0</InStockSupplyQuantity>
<SupplyDetail/>
<EarliestAvailability>
<TimepointType>Unknown</TimepointType>
</EarliestAvailability>
</member>
</InventorySupplyList>
</ListInventorySupplyResult>
<ResponseMetadata>
<RequestId>adadada-adadadada-adadadada-adadada</RequestId>
</ResponseMetadata>
</ListInventorySupplyResponse>
In this example it should be reporting the inventory for superawesomefancything
to be 0
instead of 15
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.