Skip to content

Shopify

Getting Started with Shopify

Shopify modules allow you to monitor, create, update, delete, and search orders, products, product variants, product images, customers, articles, pages, refunds, inventory, abandoned checkouts, and transactions on your Shopify account.

Prerequisites

  • A Shopify account

In order to use Shopify with Ibexa Connect, it is necessary to have a Shopify account. If you do not have one, you can create a Shopify account at www.shopify.com/signup

Note

The module dialog fields that are displayed in bold (in the Ibexa Connect scenario, not in this documentation article) are mandatory!

Connecting Shopify to Ibexa Connect

To connect your Shopify account to Ibexa Connect, follow these steps:

1. Open the desired module, and Create a connection dialog via the Add button.

61d6b0ba0e363.png

2. Enter the connection name and myshopify.com subdomain

If the address is, for example, https://makedoc.myshopify.com/, then the Myshopify subdomain field is makedoc.

After you click the Continue button, Ibexa Connect will redirect you to the Shopify website, where you will be prompted to install the Ibexa Connect app.

3. Install the Ibexa Connect app by clicking on the Install unlisted app button.

61d6b0bb34b8f.png

The connection to your Shopify account is now established.

Creating Fulfillment Using Ibexa Connect

To create a fulfillment, you'll need to identify line items in an order and retrieve the line item's variant and inventory level.

Add the following modules to your scenario to create the fulfillment:

1. Get an Order - to retrieve all line items of the order that you want to create fulfillment for.

2. Get Product Variant - to find the specific variants that are associated with the inventory item that you want to fulfill. You can find the Inventory item ID in the module's output.

61d6b0bcb178a.png

  1. Search for Inventory Levels - to retrieve the inventory level for that item and the location where it's stocked.

You can see in the module's output that the variant is stocked at one location. The next step shows how to create a fulfillment from the 20748533856 location.

61d6b0bdd7c9d.png

4. Create a Fulfillment - to create the fulfillment.

61d6b0bf25a23.png

Orders

(Reference: help.shopify.com/en/api/reference)

Create an Order

Line items

Product ID

The ID of the product that the line item belongs to.

Variant ID

The ID of the product variant.

Title

The title of the product.

Quantity

The number of items that were purchased.

Price

The price of the item before discounts have been applied in the shop currency.

Sku

The item's SKU (stock keeping unit).

Tax lines

A list of tax line objects, each of which details a tax applied to the item.A list of tax line objects, each of which details a tax applied to the item.

  • Title: The name of the tax.

  • Price: The amount added to the order for this tax in the shop currency.

  • Rate: The tax rate applied to the order to calculate the tax price.

Gift card

Whether the item is a gift card or not. If enabled, then the item is not taxed or considered for shipping charges.

Grams

The weight of the item in grams.

Requires shipping

Select whether the item requires shipping.

Vendor

The name of the item's supplier.

Customer ID

Enter (map) the customer ID.

Email

The customer's email address.

Location

Select the physical location where the order was processed.

Billing Address

  • Address1: The street address of the billing address.

  • Address2: An optional additional field for the street address of the billing address.

  • City: The city, town, or village of the billing address.

  • Company: The company of the person associated with the billing address.

  • Country: The name of the country of the billing address.

  • Country_code: The two-letter code (ISO 3166-1 format) for the country of the billing address.

  • First_name: The first name of the person associated with the payment method.

  • Last_name: The last name of the person associated with the payment method.

  • Latitude: The latitude of the billing address.

  • Longitude: The longitude of the billing address.

  • Name: The full name of the person associated with the payment method.

  • Phone: The phone number for the billing address.

  • Province: The name of the region (province, state, prefecture, …) of the billing address.

  • Province_code: The two-letter abbreviation of the region of the billing address.

  • Zip: The postal code (zip, postcode, Eircode, …) of the billing address.

Shipping Address

  • Address1: The street address of the shipping address.

  • Address2: An optional additional field for the street address of the shipping address.

  • City: The city, town, or village of the shipping address.

  • Company: The company of the person associated with the shipping address.

  • Country: The name of the country of the shipping address.

  • Country_code: The two-letter code (ISO 3166-1 format) for the country of the shipping address.

  • First_name: The first name of the person associated with the shipping address.

  • Last_name: The last name of the person associated with the shipping address.

  • Latitude: The latitude of the shipping address.

  • Longitude: The longitude of the shipping address.

  • Name: The full name of the person associated with the payment method.

  • Phone: The phone number for the shipping address.

  • Province: The name of the region (province, state, prefecture, …) of the shipping address.

  • Province_code: The two-letter abbreviation of the region of the shipping address.

  • Zip: The postal code (zip, postcode, Eircode, …) of the shipping address.

Shipping Lines

Details of the shipping method used. Each object has the following properties:

  • Code: A reference to the shipping method.

  • Discounted_price: The price of the shipping method after discounts.

  • Discounted_price_set: The price of the shipping method after discounts in shop and presentment currencies.

  • Price: The price of this shipping method in the shop currency. Can't be negative.

  • Price_set: The price of the shipping method in shop and presentment currencies.

  • Source: The source of the shipping method.

  • Title: The title of the shipping method.

  • Tax_lines: A list of tax line objects, each of which details a tax applicable to this shipping line.

  • Carrier_identifier: A reference to the carrier service that provided the rate. Present when the rate was computed by a third-party carrier service.

  • Requested_fulfillment_service_id: A reference to the fulfillment service that is being requested for the shipping method. Present if the shipping method requires processing by a third party fulfillment service; null otherwise.

Financial Status

Select the status of payments associated with the order. Can only be set when the order is created.

  • Pending: The payments are pending. Payment might fail in this state. Check again to confirm that the payments have been paid successfully.

  • Authorized: The payments have been authorized.

  • Partially paid: The order has been partially paid.

  • Paid: The payments have been paid.

  • Partially refunded: The payments have been partially refunded.

  • Refunded: The payments have been refunded.

  • Voided: The payments have been voided.

Fulfillment status

The order's status in terms of fulfilled line items:

  • Fulfilled: Every line item in the order has been fulfilled.

  • Null: None of the line items in the order have been fulfilled.

  • Partial: At least one line item in the order has been fulfilled.

  • Restocked: Every line item in the order has been restocked, and the order canceled.

Discount codes

A list of discount codes to apply to the order:

  • Amount: The value of the discount to be deducted from the order total. The type field determines how this value is calculated. After an order is created, this field returns the calculated amount.

  • Code: The discount code.

  • Type: The type of discount. Default value: fixed_amount. Valid values:

    • Fixed amount: Applies amount as a unit of the store's currency. For example, if amount is 30, and the store's currency is USD, then 30 USD is deducted from the order total when the discount is applied.

    • Percentage: Applies a discount of the amount as a percentage of the order total.

    • Shipping: Applies a free shipping discount on orders that have a shipping rate less than or equal to the amount. For example, if the amount is 30, then the discount will give the customer free shipping for any shipping rate that is less than or equal to $30.

Tags

Tags attached to the order, formatted as a string of comma-separated values. Tags are additional short descriptors, commonly used for filtering and searching. Each individual tag is limited to 40 characters in length.

Note

An optional note that a shop owner can attach to the order.

Note attributes

Extra information that is added to the order. Appears in the Additional details section of an order details page. Each array entry must contain a hash with name and value keys.

Buyer accepts marketing

Select whether the customer consented to receive email updates from the shop.

Currency

The three-letter code (ISO 4217 format) for the shop currency. E.g., USD.

Inventory behavior

The behavior to use when updating inventory:

  • Bypass: Do not claim inventory.

  • Decrement_ignoring_policy: Ignore the product's inventory policy, and claim inventory.

  • Decrement_obeying_policy: Follow the product's inventory policy, and claim inventory, if possible.

Send receipt

Select whether or not to send an order confirmation to the customer.

Send fulfillment receipt

Select whether or not to send a shipping confirmation to the customer.

Update an Order

Updates a selected order.

Order ID Enter the ID of the order you want to update/change.

Please refer to the Create an Order section of this article for the Update an Order module fields description.

Delete an Order

Deletes a selected order.

Order ID Enter the ID of the order you want to delete.

Get an Order

Retrieves the order details.

Order ID Enter the ID of the order you want to retrieve information about.

Watch Orders

Retrieves order details when a new order is created.

Status

Filter orders by their status:

  • Open: Show only open orders.

  • Closed: Show only closed orders.

  • Canceled: Show only canceled orders.

  • Any: Show orders of any status.

Financial status

Filter orders by their financial status:

  • Authorized: Show only authorized orders.

  • Pending: Show only pending orders.

  • Paid: Show only paid orders.

  • Partially paid: Show only partially paid orders.

  • Refunded: Show only refunded orders.

  • Voided: Show only voided orders.

  • Partially refunded: Show only partially refunded orders.

  • Any: Show orders of any financial status.

  • Unpaid: Show authorized and partially paid orders.

Fulfillment status

Filter orders by their fulfillment status:

  • Shipped: Show orders that have been shipped.

  • Partial: Show partially shipped orders.

  • Unshipped: Show orders that have not yet been shipped

  • Any: Show orders of any fulfillment status.

Limit

The maximum number of orders Ibexa Connect will work with during one cycle.

Products

Create a Product

Title

The name of the product.

Product type

A categorization for the product used for filtering and searching products.

Body HTML

A description of the product. Supports HTML formatting.

Vendor

The name of the product's vendor.

Tags

A string of comma-separated tags that are used for filtering and search. A product can have up to 250 tags. Each tag can have up to 255 characters.

Published

Select whether the product is published or not.

Published at

The date and time (ISO 8601 format) when the product was published. Leave empty to have the product unpublished from the Online Store channel. Please check the list of supported date formats.

Published scope

Whether the product is published to the Point of Sale channel. Valid values:

  • web: The product is published to the Online Store channel, but not published to the Point of Sale channel.

  • global: The product is published to both the Online Store channel and the Point of Sale channel.

Handle

A unique, human-friendly string for the product. Automatically generated from the product's title. Used by the Liquid templating language to refer to objects.

Options

The custom product property names like Size, Color, and Material. You can add up to 3 options with up to 255 characters each.

Variants

A list of product variants, each representing a different version of the product.

To retrieve the presentment_prices property on a variant, include the request header 'X-Shopify-Api-Features': 'include-presentment-prices'.

Images

A list of product images, each one representing an image associated with the product.

Template suffix

The suffix of the Liquid template used for the product page. If this property is specified, then the product page uses a template called "product.suffix.liquid", where "suffix" is the value of this property. If this property is empty, then the product page uses the default template "product.liquid". (default: empty)

Metafields global title tag

The name of the product used for SEO purposes. Generally added to the <meta name='title'> tag.

Metafields global description tag

A description of the product used for SEO purposes. Generally added to the <meta name='description'> tag.

Update a Product

Product ID Enter the ID of the product you want to update/change.

Please refer to the Create a Product section of this article for the Update a Product module fields description.

Delete a Product

Product ID Enter the ID of the product you want to delete.

Get a Product

Retrieves details about a product.

Product ID Enter the ID of the product you want to retrieve the information about.

Search for Products

Title

Filter results by product title.

Vendor

Filter results by the product vendor.

Handle

Filter results by product handle.

Product type

Filter results by product type.

Status

Return products by their published status:

  • Published: Show only published products.

  • Unpublished: Show only unpublished products.

  • Any: Show all products.

Limit

The maximum number of products Ibexa Connect will work with during one cycle.

Create a Product Variant

A variant can be added to a Product Resource to represent one version of a product with several options. The Product Resource will have a variant for every possible combination of its options. Each product can have a maximum of three options and a maximum of 100 variants.

Product ID

Enter (map) the product ID.

Price

The price of the product variant.

Option

The custom properties that a shop owner uses to define product variants. You can define three options for a product: option1, option2, option3.

SKU

A unique identifier for the product variant in the shop. Required in order to connect to a FulfillmentService.

Barcode

Enter the barcode, UPC, or ISBN number for the product.

Fulfillment service

The fulfillment service associated with the product variant. It represents a third-party warehousing service that prepares and ships orders on behalf of the store owner. Each fulfillment service is associated with its own location. When you create a fulfillment service, a new location is automatically created and associated with it. Valid values: manual or the handle of a fulfillment service.

Inventory management

The fulfillment service that tracks the number of items in stock for the product variant. If you track the inventory yourself using the admin, then set the value to "shopify". Valid values: shopify or the handle of a fulfillment service that has inventory management enabled. Must be the same fulfillment service referenced by the fulfillment_service property.

Inventory policy

Select whether customers are allowed to place an order for the product variant when it's out of stock. Valid values:

  • deny: Customers are not allowed to place orders for the product variant if it's out of stock.

  • continue: Customers are allowed to place orders for the product variant if it's out of stock.

Grams

The weight of the product variant is in grams.

Compare at price

The original price of the item before an adjustment or a sale.

Presentment prices

A list of the variant's presentment prices and compare-at prices in each of the shop's enabled presentment currencies. Each price object has the following properties:

  • currency_code: The three-letter code (ISO 4217 format) for one of the shop's enabled presentment currencies.

  • amount: The variant's price or compare-at price in the presentment currency.

Requires the header 'X-Shopify-Api-Features': 'include-presentment-prices'.

Position

The order of the product variant in the list of product variants. The first position in the list is 1.

Image ID

The unique numeric identifier for a product's image. The image must be associated with the same product as the variant.

Taxable

Whether a tax is charged when the product variant is sold or not.

Tax code

This parameter applies only to the stores that have the Avalara AvaTax app installed. Specifies the Avalara tax code for the product variant.

Requires shipping

Whether a customer needs to provide a shipping address when placing an order for the product variant.

Weight

The weight of the product variant in the unit system specified with weight_unit.

Weight unit

The unit of measurement that applies to the product variant's weight. If you don't specify a value for weight_unit, then the shop's default unit of measurement is applied. Valid values: g, kg, oz, and lb.

Update a Product Variant

Product ID Enter the ID of the product whose variant you want to update/change.
Product Variant ID Enter the ID of the product variant you want to update/change.

Please refer to the Create a Product Variant section of this article for the Update a Product Variant module fields description.

Delete a Product Variant

Product ID Enter the ID of the product whose variant you want to delete.
Product Variant ID Enter the ID of the product variant you want to delete.

List Product Variants

Returns all variants.

Product ID Enter the ID of the product whose variant you want to retrieve.

Get a Product Variant

Returns a product variant's details.

Product Variant ID Enter the ID of the product variant you want to retrieve the information about.

Product Images

Upload a product image

Product ID The ID of the product associated with the image.
Data Map the image file data.
Alternate text Enter the alt tag content.
Position The order of the product image in the list. The first product image is at position 1 and is the "main" image for the product.

Delete a Product Image

Product ID The ID of the product associated with the image you want to delete.
Product image ID The ID of the product image you want to delete.

List Product Images

Returns all product images of the product.

Product ID The ID of the product whose images you want to retrieve.

Customers

Create a Customer

Creates a customer.

Required Permissions: write_customers

First name

The customer's first name.

Last name

The customer's last name.

Email

The unique email address of the customer. Attempting to assign the same email address to multiple customers returns an error.

Phone

The unique phone number (E.164 format) for this customer. Attempting to assign the same phone number to multiple customers returns an error. The property can be set using different formats, but each format must represent a number that can be dialed from anywhere in the world. The following formats are all valid:

  • 6135551212

  • +16135551212

  • (613)555-1212

  • +1 613-555-1212

Password

Create a password for the customer.

Addresses

A list of the ten most recently updated addresses for the customer. Each address has the following properties:

  • Address1: The customer's mailing address.

  • Address2: An additional field for the customer's mailing address.

  • City: The customer's city, town, or village.

  • Company: The customer's company.

  • Country: The customer's country.

  • Country_code: The two-letter country code corresponding to the customer's country.

  • Country_name: The customer's normalized country name.

  • Customer_id: A unique identifier for the customer.

  • Default: Whether this address is the default address for the customer.

  • First_name: The customer's first name.

  • ID: A unique identifier for the address.

  • Last_name: The customer's last name.

  • Name: The customer's first and last names.

  • Phone: The customer's phone number at this address.

  • Province: The customer's region name. Typically a province, a state, or a prefecture.

  • Province_code: The code for the region of the address, such as the province, state, or district. For example QC for Quebec, Canada.

  • Zip: The customer's postal code, also known as zip, postcode, Eircode, etc.

Verified email

Whether the customer has verified their email address.

Tax exempt

Whether the customer is exempt from paying taxes on their order. If enabled, then taxes won't be applied to an order at checkout. If disabled, then taxes will be applied at checkout.

Accepts marketing

Whether the customer has consented to receive marketing material via email.

Note

A note about the customer.

Tags

Tags that the shop owner has attached to the customer, formatted as a string of comma-separated values.

Send email welcome

If disabled, sending the welcome email will be skipped.

Currency

The three-letter code (ISO 4217 format) for the currency that the customer used when they paid for their last order. Defaults to the shop currency. Returns the shop currency for test orders.

Update a Customer

Updates a customer.

Required Permissions: write_customers

Customer ID Enter the ID of the customer you want to update/change.

Please refer to the Create a Customer section of this article for the descriptions of the Update a Product module fields.

Delete a Customer

Deletes a customer.

Required Permissions: write_customers

Customer ID Enter the ID of the customer you want to delete.

Get a Customer

Returns info about a customer.

Required Permissions: read_customers

Customer ID Enter the ID of the customer you want to retrieve information about.

Search for Customers

Searches for customers that match a supplied query, and returns customer details.

Required Permissions: read_customers

Query Enter the search query. See the Shopify Searching Your Store help page.
Limit Set the maximum number of customer details Ibexa Connect will return in one cycle.

Watch Customers

Triggers when a new customer is added.

Required Permissions: read_customers

Limit Set the maximum number of customers Ibexa Connect will return in one cycle.

List Customer Addresses

Retrieves all customer addresses.

Required Permissions: read_customers

Limit Set the maximum number of addresses Ibexa Connect will return in one cycle.

Caution

Sometimes it is necessary to extend existing permissions in order to work with other objects (orders, customers, products, etc.)

61d6b0c0b2d33.gif

Articles

Create an Article

Creates an article in the shop's blog.

Required Permissions: write_content

Blog

Select the blog you want to create an article for.

Title

Enter the title of the article.

Body HTML

The text of the body of the article, complete with HTML markup. E.g.,

 <p>Welcome to my new blog!</p>         

Template suffix

The name of the template an article is using if it's using an alternate template. If an article is using the default article.liquid template, then leave this empty.

Summary HTML

A summary of the article, complete with HTML markup. The summary issued by the online store theme displays the article on other pages, such as the home page or the main blog page.

Author

The name of the author of the article.

Handle

A human-friendly unique string for the article that's automatically generated from the article's title. The handle is used in the article's URL.

Article is published

Enable if the article should be visible.

Published at

The date and time (ISO 8601 format) when the article was published. Please see the list of supported date formats.

Tags

A comma-separated list of tags. Tags are additional short descriptors formatted as a string of comma-separated values.

Image

An image associated with the article:

  • Data: Map (or enter) image data.

  • Alt: Alternative text that describes the image.

Update an Article

Updates an article specified by the ID.

Required Permissions: write_content

Blog Select the blog you want to update the article on.
Article ID Map the article ID you want to update.

Please refer to the Create an Article section of this article for the descriptions of the Update an Article module fields.

Delete an Article

Deletes an article.

Required Permissions: write_content

Blog Select the blog you want to delete the article from.
Article ID Map the article you want to delete.

Get an Article

Retrieves an article's details.

Required Permissions: read_content

Blog Select the blog that contains the article.
Article ID Map the article you want to retrieve information about.

Search for Article

Searches for the article based on the entered filter.

Required Permissions: read_content

Blog Select the blog that contains the article.
Tag Filter articles by a specific tag.
Author Filter the article search by the author of the article.
Handle Filter articles by a specific handle.
Status Filter articles by a given published status.
Limit Set the maximum number of search results Ibexa Connect will return in one cycle.

Watch Articles

Triggers when a new article is added to a blog.

Required Permissions: read_content

Blog Select the blog that contains the article.
Tag Filter articles by a specific tag.
Author Filter the article search by the author of the article.
Status Filter articles by a given published status.
Limit Maximum number of articles Ibexa Connect will work with during one cycle.

Pages

Create a Page

Creates a page.

Title Enter the page's title.
Body HTML The text content of the page, complete with HTML markup.
Author The name of the person who created the page.
Handle A unique, human-friendly string for the page, generated automatically from its title. In online store themes, the Liquid templating language refers to a page by its handle.
Template suffix The suffix of the Liquid template being used. For example, if the value is contact, then the page is using the page.contact.liquid template. If the value is an empty string, then the page is using the default page.liquid template.
Page is published If enabled, the created page will be published.

Update a Page

Updates a page.

Page ID Enter (map) the page ID of the page you want to update.

Please refer to the Create a Page section of this article for the Update a Page module fields description.

Delete a Page

Deletes a page.

Page ID Enter (map) the page ID of the page you want to delete.

Get a Page

Page ID Enter (map) the page you want to retrieve information about.

Search for Pages

Searches for pages based on an entered filter.

Title The page's title.
Handle A unique, human-friendly string for the page, generated automatically from its title. In online store themes, the Liquid templating language refers to a page by its handle.
Status Filter pages with a given published status.
Limit Set the maximum number of search results Ibexa Connect will return in one cycle.

Watch Pages

Triggers when a new page is added.

Status Restrict returned pages with a given published status.
Limit Set the maximum number of pages Ibexa Connect will work with during one cycle.

Refunds

Get a Refund

Retrieves a specific refund.

Order ID Enter the order ID of the order that the refund is associated with.
Refund ID Enter the ID of the refund that the order adjustment is associated with.

Search for Refunds

Order ID Enter the order ID of the order that the refund is associated with.
In shop currency If enabled, amounts in the shop currency for the underlying transaction will be displayed.
Limit Set the maximum number of refunds Ibexa Connect will work with during one cycle.

Inventory and Fulfillments

For more information about inventory and fulfillments, please refer to the Shopify API documentation – Managing Fulfillments article.

Search for Inventory Levels

Searches for inventory levels.

Required Permissions: read_inventory

Inventory item IDs The ID of the inventory item that the inventory level belongs to.
Location IDs Select the location that the inventory level belongs to.
Limit Set the maximum number of search results returned by Ibexa Connect in one cycle.

Create a Fulfillment

Creates a fulfillment.

Required Permissions: write_orders

Prerequisites: Creating a Fulfillment Using Ibexa Connect

Before you create a fulfillment, it's helpful to understand some of the different fulfillment-related resources:

  • Order: Contains information about an order, including an array of the line items that were purchased. Line items contain important fulfillment information, such as the associated variant, the quantity purchased, and the fulfillment status.

  • Location: Represents a geographical location where a line item can be fulfilled from. A fulfillment service always has its own location, and variants managed by the fulfillment service should always be fulfilled from that location.

  • Fulfillment: Represents a shipment of one or more items in an order. It includes the line item that the fulfillment applies to, its tracking information, and the location of the fulfillment.

  • FulfillmentService: Represents a third-party warehousing service that prepares and ships orders on behalf of the store owner. Each fulfillment service is associated with its own location. When you create a fulfillment service, a new location is automatically created and associated with it.

Order ID

Map the order ID of the order you want to fulfill.

Location

Select the location that the fulfillment should be processed for.

Tracking number

Tracking number provided by the shipping company.

Tracking company

The name of the tracking company.

When creating a fulfillment for a supported carrier, enter the tracking company name exactly as written in the list below.

  • 4PX

  • APC

  • Amazon Logistics UK

  • Amazon Logistics US

  • Australia Post

  • Bluedart

  • Canada Post

  • China Post

  • Correios

  • DHL Express

  • DHL eCommerce

  • DHL eCommerce Asia

  • DPD

  • DPD Local

  • DPD UK

  • Delhivery

  • Eagle

  • FSC

  • FedEx

  • FedEx UK

  • GLS

  • Globegistics

  • Japan Post (EN)

  • Japan Post (JA)

  • La Poste

  • New Zealand Post

  • Newgistics

  • PostNL

  • PostNord

  • Purolator

  • Royal Mail

  • SF Express

  • Sagawa (EN)

  • Sagawa (JA)

  • Singapore Post

  • TNT

  • UPS

  • USPS

  • Whistl

  • Yamato (EN)

  • Yamato (JA)

Line items IDs

Enter the ID of the line items that were purchased.

Tracking URLs

The URLs of the tracking pages for the fulfillment.

Notify customer

Select whether the customer should be notified. If enabled, then an email will be sent when the fulfillment is created or updated.

Variant inventory management

The name of the inventory management service. E.g., shopify

Shipment status

The current shipment status of the fulfillment. The values are as follows:

  • Label Printed: A label for the shipment was purchased and printed.

  • Label Purchased: A label for the shipment was purchased, but not printed.

  • Attempted Delivery: Delivery of the shipment was attempted, but unable to be completed.

  • Ready for Pickup: The shipment is ready for pickup at a shipping depot.

  • Confirmed: The carrier is aware of the shipment but hasn't received it yet.

  • In Transit: The shipment is being transported between shipping facilities on the way to its destination.

  • Out for Delivery: The shipment is being delivered to its final destination.

  • Delivered: The shipment was successfully delivered.

  • Failure: Something went wrong when pulling tracking information for the shipment, such as an invalid tracking number, or the shipment was canceled.

Create a Fulfillment Service

Creates a fulfillment service.

Required Permissions: write_fulfillments

Name The name of the fulfillment service as seen by merchants and their customers.
Callback URL URL of the fulfillment service. States the URL endpoint that Shopify needs in order to retrieve inventory and tracking updates.
Inventory management Enable if the fulfillment service tracks product inventory and provides updates to Shopify.
Tracking support Enable if the fulfillment service provides tracking numbers for packages.
Location Select the location tied to the fulfillment service.
Required shipping method Enable this option if the fulfillment service requires products to be physically shipped.
Format Select whether the API output format is JSON or XML.

Update a Fulfillment Service

Updates a fulfillment service.

Required Permissions: write_fulfillments

Fulfillment service ID Enter (map) the ID of the fulfillment service.

Please refer to the Create a Fulfillment Service section of this article for the descriptions of the Update a Fulfillment Service module fields.

Delete a Fulfillment Service

Deletes a fulfillment service.

Required Permissions: write_fulfillments

Fulfillment service ID Enter (map) the ID of the fulfillment service you want to delete.

Abandoned Checkouts

A checkout is considered abandoned when a customer has entered billing and shipping information but hasn't completed the purchase.

Required Permissions: read_checkouts, read_orders

Search for Abandoned Checkouts

Status

Select to show only checkouts with a given status (default: open):

  • Open: Show only open abandoned checkouts.

  • Closed: Show only closed abandoned checkouts.

Limit

Set the maximum number of search results returned by Ibexa Connect in one cycle.

Watch Abandoned Checkouts

Triggers when a new abandoned checkout is added.

Required Permissions: read_checkouts, read_orders

Status

Select the status of the abandoned checkout that triggers this module:

  • Open: Show only open abandoned checkouts.

  • Closed: Show only closed abandoned checkouts.

Limit

Set the maximum number of abandoned checkouts returned by Ibexa Connect in one cycle.

Transactions

Transactions are created for every order that results in an exchange of money.

Create a Transaction

Order ID

Map the order you want to create a transaction for.

Kind of transaction

Select the transaction's type. The valid values are as follows:

  • Authorization: Money that the customer has agreed to pay. The authorization period can be between 7 and 30 days (depending on your payment service) while a store waits for a payment to be captured.

  • Capture: A transfer of money that was reserved during the authorization of a shop.

  • Sale: The authorization and capture of a payment performed in one single step.

  • Void: The cancellation of a pending authorization or capture.

  • Refund: The partial or full return of captured money to the customer.

Amount

The amount of money included in the transaction. If you don't provide a value, then it defaults to the total cost of the order (even if a previous transaction has been made towards it).

Currency

The three-letter code (ISO 4217 format) for the currency used for the payment.

Authorization

The authorization code associated with the transaction.

Gateway

The name of the gateway the transaction was issued through. A list of gateways can be found on Shopify's payment gateways page.

Parent ID

The ID of an associated transaction.

  • For capture transactions, the parent needs to be an authorization transaction.

  • For void transactions, the parent needs to be an authorization transaction.

  • For refund transactions, the parent needs to be a capture or sale transaction.

Test transaction

Specify whether the transaction is a test transaction.

Processed at

The date and time (ISO 8601 format) when a transaction was processed. This value is the date that's used in the analytic reports. By default, it matches the created_at value. If you're importing transactions from an app or another platform, then you can set processed_at to a date and time in the past to match when the original transaction was processed. List of supported date formats.

Other

Make an API Call

Performs a custom API call.

Connection

Select whether you want to make an API call using your private or public app.

URL

Enter a path relative to https://{DOMAIN}.myshopify.com/admin/. E.g., products.json.

For the list of available endpoints, refer to the Shopify REST API Documentation.

Method

Select the HTTP method you want to use:

  • GET to retrieve the entry information.

  • POST to create a new entry.

  • PUT to update/replace the existing entry.

  • PATCH to make a partial entry update.

  • DELETE to delete the entry.

Headers

Enter the desired request headers. You don't have to add authorization headers; we've already done that for you.

Query String

Enter the request query string.

Body

Enter the body content for your API call.

Example of Use - List Products

The following API call returns all products in your Shopify account:

URL:

products.json

Method:

GET

61d6b0c51c68b.png

The result can be found in the module's Output under Bundle > Body > products. In our example, 5 products were returned:

61d6b0c64dd86.png

Private App Connection

To establish a private app connection, you need to create a private app to obtain the API Key and Password.

1. Log in to your Shopify administration (https://{yourShopifyDomain}.myshopify.com/admin).

2. Navigate to Apps > Manage private apps.

61d6b0c7a680d.gif

3. Click the Create new private app button (61d6b0ca33a38.png).

4. Fill in the required fields, click Save and Create App.

61d6b0cb6fd7b.gif

5. Find the generated API Key and Password in the Admin API section.

61d6b0cf6eeb4.png

6. Go to Ibexa Connect, and open the Make an API Call module's Create a connection dialog for the Shopify private app.

7. Enter the Domain (if your Shopify online store address is, for example, xyz.myshopify.com, enter only "xyz".) and API Key and Password provided in step 5 to the respective fields, and click the Continue button to establish the connection.

The connection has been established. You can proceed with setting up the Make an API Call module for the private app.

Public App Connection

Use this to connect your Public App created in your Partner Dashboard.

To create an app:

  1. From your Partner Dashboard, click Apps > Create app.

  2. Provide an app name, URL, and Redirect URLs.

  3. Click Create app. You are directed to your app's overview page, where you can view the API key and API secret that you will need for the module's connection configuration.

Connection Type

Shopify (public apps).

Domain

Enter the name of your Shopify domain. If your Shopify store address is https://mystore.myshopify.com, enter "mystore".

Client ID

Enter the API key for the app, as defined in the Partner Dashboard.

Client Secret

Enter the API secret key for the app, as defined in the Partner Dashboard.

Scope

Specify needed scopes. If you requested both the read and write access scopes for a resource, then enter only for the write access scope. The read access scope is omitted because it’s implied by the write access scope. For example, if your request included scope=read_orders,write_orders, then check only for the write_orders scope.

See the list of admin scopes.

New Event

Triggers when a specified event is performed.

Webhook name Enter the name for the webhook.
Event Select the event that triggers the module.

If you receive an error, it is probably due to a scope issue.

Adding a New Scope

1. Open Create a connection dialog.

2. Click on the S*how advanced settings* dialog.

3. Add a new scope. Find the corresponding scope on the List of the API Access Scopes.

E.g., read_orders for orders/paid or orders/create events*.*

61d6b0d12da9f.gif

Common Issues

Errors: [API] This action requires merchant approval for \<XXXX_XXXX> scope

You need to create a new connection with a required scope.

Unfortunately, when you create a new connection, all previously used scopes are removed from your account, and only scopes added in the latest connection are used for all your connections (including the previously created connections).

Include all needed scopes in the new connection. and API secret that you will need for the module's connection configuration.

Connection Type

Shopify (public apps).

Domain

Enter the name of your Shopify domain. If your Shopify store address is https://mystore.myshopify.com, enter "mystore".

Client ID

Enter the API key for the app, as defined in the Partner Dashboard.

Client Secret

Enter the API secret key for the app, as defined in the Partner Dashboard.

Scope

Specify needed scopes. If you requested both the read and write access scopes for a resource, then enter only for the write access scope. The read access scope is omitted because it’s implied by the write access scope. For example, if your request included scope=read_orders,write_orders, then check only for the write_orders scope.

See the list of admin scopes.

New Event

Triggers when a specified event is performed.

Webhook name Enter the name for the webhook.
Event Select the event that triggers the module.

If you receive an error, it is probably due to a scope issue.

Adding a New Scope

1. Open Create a connection dialog.

2. Click on the S*how advanced settings* dialog.

3. Add a new scope. Find the corresponding scope on the List of the API Access Scopes.

E.g., read_orders for orders/paid or orders/create events*.*

61d6b0d12da9f.gif

Common Issues

Errors: [API] This action requires merchant approval for \<XXXX_XXXX> scope

You need to create a new connection with a required scope.

Unfortunately, when you create a new connection, all previously used scopes are removed from your account, and only scopes added in the latest connection are used for all your connections (including the previously created connections).

Include all needed scopes in the new connection.