Shopify - A shop in minutes, a business for life.

02
Jul

julie

comments 4

In an effort to make things even more convenient, we’ve added two new columns to our CSV Order Exports: “Paid at” and “Fulfilled at”.

You’ll now be able to see when your orders have been paid and as well as when they’ve been fulfilled.


Just in case, here’s a quick reminder on how to export your orders.

18
Jun

edward

comments 6

We’re happy to announce the open source release of an official PHP adapter for the Shopify API. It’s got all the bells and whistles of its Ruby counterpart to help you create great applications for release in the Shopify App Store.

Forget having to write installation & authentication code yourself. Generating an installation link and redirecting the merchant to a screen asking for permission to access their shop’s data is now just these two lines:

$api = new Session('mystore.myshopify.com', '', 'YOUR_API_KEY', 'YOUR_SECRET');
header("Location: " $api->create_permission_url());

After the merchant gives your app permission to access their data, Shopify redirects the user to the return URL you set up for your app, along with their shop name, token and signature.

Finish authentication by passing the shop name, token, and signature into the Session:

$shop = $_GET['url'];
$token = $_GET['t'];
$api = new Session($shop, $token, 'YOUR_API_KEY', 'YOUR_SECRET');

That’s it! Now that your application’s been installed, you’re ready to make API calls to the merchant’s shop.

Here’s an example that prints the title of each product:

$storeProducts = $api->product->get();

foreach($storeProducts as $product) {
       echo $product['title'].'<br />';
}
You can also request a specific product by passing its product id to the product get() method:
$aProduct = $api->product->get(1234567);
echo $aProduct['title'];

To create a new product (if your application has write permissions), you can use the product create() method by passing fields you would like your new product to have:

$fields = array('title' => 'My New Product');
$api->product->create($fields);

To update a product (if your application has write permissions), you can use the product modify() method by passing the product id and the fields you would like to modify:

$fields = array('title' => 'My Updated Title');
$api->product->modify(1234567, $fields);

Download and try the new PHP API for yourself by going to its GitHub repository. Forks and feature requests are encouraged.

Give us, the Shopify Developers, a shout in the developer forums if you need a hand or want to pass on a compliment to William Lang, one of our newest developers and the man behind this library.

21
May

Daniel

comments 25

We have made some changes to the look of your store’s administrative area. Experience a friendlier and cleaner feel when managing your store.

A few of the bigger changes that you will notice right away are the removal of the blue sidebar and a new (more streamlined) order detail screen.

Other changes include:

  • All your Shopify Apps and the App Store can be accessed conveniently from anywhere
  • More Dashboard stats including recent orders & comments
  • Theme settings and template editor are now in separate sections
  • Better Gravatar support (now also for your customers on order screens)
  • Improved print stylesheet for orders
  • Uploaded (theme independent) files are now accessible either through the new editor interface or on your account screen
  • Search is now accessible from every screen for quick access to your products, orders & more

Compare:

We hope you’re gonna like this refresh; it’s just the beginning of a series of enhancements that will make Shopify even more of a joy to use.

07
May

Aurelien

comments 2

Last week we announced that making text bold, italic, blue would soon be a lot easier with the brand new editor.

Starting today, you will notice the following tool bar on top of text boxes where you write product descriptions and content.

You should be familiar with this editor as it’s similar to ones you may have seen in other solutions. Simply highlight text and click on the formating button on the tool bar and the formating will appear.

As we have seen last week, inserting images is a breeze. Today we will show you how to add a YouTube video.

Let’s insert this video review on the Lexus GS Series product page of the Shopify demo store.

First we need to get the YouTube code that will be inserted on the product page. Simply go to the YouTube video page and click on the Embed button under the video. A settings section will appear, copy the snippet code.

Now let’s go to the Lexus GS Series product page in the Shopify Admin. We are going to edit the description, place the cursor where we want the video to be inserted, click on the Insert button from the editing bar and select Video.

A small window will appear, simply paste the snippet code and click Insert.

Click on Update to save the change. The video is now in the product description. Have a look at the result (hopefully no one will remove it as everyone can play around in the demo store).

Thanks John for developing the new editor. We hope you enjoy it and share with us your feedback!

You can check our FAQ for answers to common questions regarding the editor.

30
Apr

Aurelien

comments 21

Editing your product descriptions, submitting blog posts and writing your page content is about to get a lot easier. After a few months in Beta, our new Rich Text Editor (RTE) will be available to all stores.

To make text appear bold, italic, blue... highlight the words and click on the appropriate button on the RTE bar.

One of the coolest things about this RTE is how simple it is to add images, videos, tables and scripts.

When you click on “Insert” and select “Image”, you can browse in a new window all your product images. Saving you the hassle of searching images on your computer.

It will also resize images automatically, just pick the size you want from a drop down menu.

Start looking for the RTE next week in your store.

16
Dec

James

comments 3

Good news, shop owners! FedEx has joined UPS and USPS as the latest integrated shipping carrier in Shopify. This means that users with Business, Enterprise, or Premier plans can charge customers shipping based on estimates that come straight from FedEx. You just need to follow the instructions on our wiki to get some credentials from FedEx, then you enter them on the shipping preferences screen in your Shopify admin interface and you’re good to go.

We know a lot of people have been eager for this integration, so we’re really glad to be able to release it!

14
Dec

Caroline

comments 10

We’re excited to announce that we’ve just rolled out the ability to attach metadata to a shop’s resources using the Shopify API. This means Shopify app developers can now store additional information about products, collections, orders, blogs, pages… and the shop itself. We’re calling this feature metafields.

For the time being, you can only add these metafields and edit them using the Shopify API. Some time from now, we will make it possible for a shop owner to manage them from the admin interface.

The ability to use metafields in a Shopify theme has already been implemented. So you can output and use metafields in your Liquid templates (including email templates), provided you’ve added them using the API.

Our API documentation has been updated to show you how to add, edit and delete metafields. Check out the API Documentation page on MetaFields.

A metafield consists of a namespace, a key, a value, and a description (optional). Use the namespace to group different metafields in a logical way. You can also specify that it is either an integer or a piece of text (a “string”). In this way, you’ll end up with the right type when you use it in your Liquid.

Say you’ve added to a product a metafield with the following attributes:

  • description: Author of book
  • namespace: book
  • key: author
  • value: Kurt Vonnegut
  • value_type: string

You can output the value of this metafield in product.liquid with this Liquid tag:

{{ product.metafields.book.author }}

There is currently no limit imposed on how many metafields you can attach to any piece of content.

If you’re a Ruby on Rails developer, our shopify_api gem will get you started with adding metafields. Take a look at the Metafields module defined in shopify_api.rb.

Using the Metafields module, setting a metafield on a product is as easy as this:

product = ShopifyAPI::Product.find(product_id)
product.add_metafield(ShopifyAPI::Metafield.new({
   :description => 'Author of book',
   :namespace => 'book',
   :key => 'author',
   :value => 'Kurt Vonnegut',
   :value_type => 'string'
}))

Metafields can be used to further describe products, beyond the product description, type, vendor and tags. You can also use metafields to store a ‘teaser’ or ‘summary’ for a blog post.

App Store developers can also use metafields to share information between multiple applications.

The possibilities are limitless. We’re inviting you to share your ideas on how to use metafields with the rest of the Shopify’s community in our Community forums.

Update: Metafields can now be added to product variants as well.

11
Dec

James

comments 3

The release of theme settings a few months ago made Shopify themes a lot more flexible, giving shop owners the ability to easily customize the look of their shop in all sorts of ways. Now, in addition to giving the theme editor a cleaner and more functional interface, we are taking things further by introducing presets:

These work pretty much the way you’d expect. If you like the way your theme looks but you want to do some experimenting, just save your current settings as a preset and mess around with your colors and fonts all you like — you’ll have your original settings to go back to, and you can stash away your wild ideas for later. Here’s a screencast showing you how it all works:

You can start saving and loading presets for your settings-enabled theme right now. I’ve also added a couple of built-in presets to the Minimify theme, which you can take a look at if you load it up from the theme gallery.

A few technical points for designers

We no longer update the settings form itself (config/settings.html) when the form is used in the admin interface. Instead, the choices you make in that form are stored as JSON data in a new file at config/settings_data.json. If there’s no settings_data.json, Shopify will fall back to looking at the form’s default values in settings.html.

Since settings_data.json is part of the theme, it gets included when you export your theme as a zip archive. The JSON also includes your presets, so all of this is kept intact when you export and import themes. When you’re packaging up a theme, just create however many presets you want it to have and then load up whichever one you decide is the “default” before exporting as a zip file.

Because the data is stored in JSON now, it’s going to be easier for us to add theme settings support to Vision, so stay tuned for that.

08
Dec

julie

comments 8

We’re proud to announce we’ve added two great new features for product variants that we hope will make it easier and more convenient to sell digital goods or services to your customers.

Require a Shipping Address

If you’re selling a downloadable PDF book or registration to a conference, you may not require a shipping address from your customer. In this case, you can simply uncheck the “Require a Shipping Address” box for any such product variants.

Uncheck

If none of the items in an order require a shipping address, then the checkout process will not request any kind of shipping information, and no shipping rate will be added to the order total.

Charge Taxes

In some cases, you may not want to charge taxes for your product variants. By unchecking the “Charge Taxes” box on a product variant, taxes for this particular item won’t be included in the order’s total.

Taxable Checkbox on Product Variants

Bulk Products Importing

Both of these features have been added to Bulk Products Importing. See the wiki for formatting details.

26
Nov

edward

comments 0

The next developer meetup will take place on December 11th, 2009. More details to be announced at http://shopify.com/developer-meetup in the very near future.

These meetups are our way of sitting down with you the developer, hacking away on the Shopify platform and its API. We want to hear your questions, and see what sort of cool stuff you’ve got cooking.

If you came to the last meetup, thanks for all the questions and ideas! We’d like to send a particular shoutout to Marcus, CEO of Little Bird Electronics who showed off an idea for adding icons to Application Links – we loved it so much, it wasn’t long before it was integrated into Shopify. Take a look at it here.

We’re still working and thinking about your other ideas like searching through the API and creating discount codes through the API. We really want to make sure we get it right the first time it goes out, so if you have any ideas about how you’d like to see the API presented or work, now’s the time to let us know.

Looking forward to seeing you there,

The Shopify Team

05
Nov

Jesse

comments 9

We are proud to announce that Shopify now integrates with Google Product Search (formerly Google Base). Using this free service is a great way to increase product promotion and discovery. We recommend every eligible Shopify store to opt in to this service for optimal exposure.

Google Product Search

Google Product Search is part of Google Base, an online database provided by Google into which any user can add almost any type of content, such as products. Google Product Search functions as a comparison shopping engine allowing people to search for products and find results from many different online retailers, comparing descriptions, price, etc.

Listing your products on Google Product Search is a great way to get more exposure for your products and drive traffic to your shop.

Note: Google currently only allows integration with merchants operating in the US and operating in USD, or in the UK and operating in GBP, or in Germany and operating in Euros.

Check out the marketing tab in your shop admin to opt in to this integration.

16
Sep

john

comments 3

Just in time for tax season, we've added the ability to download your orders in CSV format for any given month or quarter.

From your Orders page, select the "Export Orders by Month or Quarter" link. By clicking on the relevant icon links, Shopify will create a zipped CSV file of all your orders for the given month or quarter and email it you. You can also select a specific month or quarter by selecting the 'Other' icon.

09
Sep

edward

comments 3

Shopify is having an App Developer meetup September 25th.

Come join us in IRC in the #shopify channel on irc.freenode.net at 2:00PM EST and talk with some of the API AppStore developers about how you can turn some ideas you’ve got floating around into a moneymaker sold on the AppStore.

For more about building Apps, see http://www.shopify.com/developers/

Unsure about IRC? Jump over to the web-client, choose a nick for yourself, and join the channel.

(Update: the title was mistakenly set to September 19th. Please disregard the old date.)
26
Aug

James

comments 11

Among all the people who use Shopify, there is a huge spectrum of background knowledge and expectations. Some sign up because they want to start selling something right away. Shopify is great for them because they can choose one of our beautiful themes and get going without any hassle.

Others are web designers who need to create the perfect theme to showcase their clients’ unique products. Shopify is great for them too because it gives them complete control over a theme’s code.

But what about people who just want to change some colors or add a custom logo to the site, but don’t know HTML or CSS? What if you’re a designer creating that perfect theme, but you want your client to be able to make some predictable changes in the future?

This has been an issue with Shopify for a while, and we’re pleased today to announce new features which will empower both shop owners and designers in some really exciting ways.

The theme settings form

We have been thinking about the problem of theme customization for a long time, and we’ve looked at a lot of other products to see how they’ve tackled it. Eventually we realized that the best way forward was to let theme authors use their existing HTML and Liquid knowledge to make their themes as customizable as they wish, in the way that makes the most sense for that particular theme.

A designer can now include a file called settings.html in a theme. The HTML in this file contains form inputs (text fields, drop-down menus, checkboxes, and so forth) which are wrapped up in a form and shown at the top of the theme editor screen. Shopify juggles the HTML a bit before showing it to the user, and this makes it easy for dynamic controls like color pickers to be included by the theme author with nothing more than the addition of a CSS class on a text field.

The names given by the theme author to each form input correspond directly to properties on the new settings object exposed in each of the theme’s layouts and templates. Those properties contain the user-specified values entered in the form and can be used to customize the templates in whatever ways the theme author can dream up. We updated all of the standard themes available in each shop’s theme gallery to support customization in this way, and they allow the user to change fonts and colors, add site logos, and more.

There’s a lot of potential here beyond what we’ve already done with the standard themes, and we can’t wait to see what the Shopify design community comes up with.

Liquid assets

People have wanted this one for a while, and it’s finally here: now you can generate your CSS files using Liquid. Just put a .css.liquid extension on any file in your theme’s assets folder and Shopify will generate a corresponding .css file for you to reference in your layout.

The generated file is only updated when either its source .liquid file or the theme’s settings are saved, so settings is the only Liquid variable available within these files (all the usual tags and filters can still be used though).

Not only does this dovetail nicely with the new settings forms, it also provides theme authors with an easy and powerful way to write CSS that doesn’t become a headache to maintain.

Snippets

Another new feature which goes well with theme customization is snippets. Snippets are like mini-templates which can be included at any point within another template, or even another snippet. They live in their own folder within the theme and can be managed straight from the theme editor. Snippets are great for keeping a theme’s code organized, especially when you want the user to be able to change whole chunks of a page through the theme settings form.

As an example, a theme author might create a number of snippets to go in the shop’s sidebar, such as a product collection or blog feed, an “about us” blurb, and a notification of seasonal sale prices. They could then be easily swapped in and out with a few drop-down menus in the settings form.

Alternate layouts

One layout not flexible enough for you? Now you can create alternate layouts in the theme editor which can be associated with different templates by using the layout tag within that template. If your multiple layouts have a lot in common, you can use snippets to keep from repeating yourself.

Alternate templates

Sometimes one of your products or collections is just so exceptional that it deserves a style all its own. Or maybe your blogs and pages communicate such diverse messages that each should have its own look and feel. This kind of thing used to be a hassle for theme designers, but now it’s easy because you can create alternate versions of your templates to be used in specific circumstances.

Just as with alternate layouts, you can create these template variants from the theme editor. And when editing a product, collection, blog, or page, you’ll find a drop-down menu in the sidebar to select which template it will use.

One more thing…

Being able to generate stylesheets from Liquid is a huge win, but CSS files aren’t the only theme assets you can generate with Liquid. Check this out:

I think you’ll agree that with these improvements to Shopify’s theme system, web designers have an incredibly powerful creative platform at their disposal. More information on how to use these new tools can be found on our wiki:

17
Jul

edward

comments 1

After listening to early adopters of the Shopify API in the Developer Forums, we’ve rolled out the ability to issue count requests on resources like Order and Product.

The count requests look like and take the same conditions and parameters you’d give to the existing find request you’re used to – they just return a count of how many orders, products or other resource you’re querying for.

Here’s an example of how to ask how many orders have yet to be shipped:


  http://snowdevil.myshopify.com/admin/orders/count?fulfillment_status=unshipped
We’ve also added counting to the ShopifyAPI library that comes with the shopify_app plugin, so you can now write

  ShopifyAPI::Order.count(:status => "unshipped")
and you’ll get back just what you expect.

Check out the updated docs in http://api.shopify.com and the open-source shopify_app plugin at Github.

browse archives »
Made in Canada

Shopify is being developed in the very heart of Canada's capital Ottawa