{"version":3,"file":"GuideSearch.D42JAjGS.mjs","names":["_Fragment","React.useState","React.useId","React.useMemo"],"sources":["https:/framerusercontent.com/modules/PArwHmqPpaC7IMOAfky5/EHnETwUIM2Z08xxi8Fts/GuideSearch.js"],"sourcesContent":["// Guide search: an inline search bar for the User Guide (/guide and its category pages).\n// Results appear while typing; with no result it offers a link to contact.\n// The index below is generated from website-content main (live guide articles only) and is\n// replaced on every Guide publication. Do not edit it by hand.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";const INDEX=[{\"t\":\"Create your Dropday account\",\"u\":\"/guide/create-your-account\",\"c\":\"Account, team & billing\",\"cu\":\"/guide/account-team-and-billing\",\"s\":\"Create an account to start your free trial. You need a work email address, but no credit card.\",\"h\":[\"Using Shopify?\"],\"k\":[\"create dropday account\",\"sign up\",\"free trial\",\"How do I sign up for Dropday?\",\"Do I need a credit card to start the trial?\",\"When does my trial start?\"],\"b\":\"Create an account to start your free trial. You need a work email address, but no credit card. 1. On the Dropday website, click Start free trial. 2. Enter your first name, last name and work email address. Use an email address that isn't linked to a Dropday account yet. 3. Choose a password of at least 8 characters and submit the form. By submitting it, you agree to the terms of service. Dropday opens your dashboard and your trial starts right away. You don't need to confirm your email address first. You can also create your account by installing the Dropday app in Shopify: the app asks for your store's details and creates the account. If you already have an account, you link your store by logging in with your Dropday email and password. Connect Shopify walks you through it. Next, connect your webshop.\"},{\"t\":\"Get started with Dropday\",\"u\":\"/guide/get-started\",\"c\":\"Getting started\",\"cu\":\"/guide/getting-started\",\"s\":\"Dropday sends the orders from your webshop to your suppliers. Your rules decide which supplier gets each order line, and each supplier receives its order lines through the delivery methods you set up.\",\"h\":[\"Set up Dropday in five steps\"],\"k\":[\"how to set up dropday\",\"setup steps\",\"start with dropday\",\"What do I need to set up before Dropday sends orders to my suppliers?\",\"In which order do I set Dropday up?\"],\"b\":\"Dropday sends the orders from your webshop to your suppliers. Your rules decide which supplier gets each order line, and each supplier receives its order lines through the delivery methods you set up. 1. Create an account to start your free trial. On Shopify, installing the Dropday app creates your account instead, as Connect Shopify explains. 2. Connect your webshop so its orders reach Dropday. 3. Add a supplier and choose how to send its orders. 4. Create a rule that assigns order lines to that supplier. 5. Test your setup with a test order before real orders come in. Once you go live, Dropday sends the order lines of each incoming order to the matching suppliers through their active delivery methods. Order lines that match no rule aren't sent, and a supplier set to hold orders for review waits for your approval. An order line was not sent to a supplier explains every case in which a line isn't sent. Start by creating your account.\"},{\"t\":\"Test your setup before going live\",\"u\":\"/guide/test-before-going-live\",\"c\":\"Getting started\",\"cu\":\"/guide/getting-started\",\"s\":\"Send a test order to check that each order line goes to the right supplier and, for suppliers you send orders to by email, what they receive. Suppliers that use FTP Upload or API Call don't receive test orders, so this test doesn't check their delivery.\",\"h\":[\"Before you send a test order\",\"Send the test order\",\"Suppliers that use FTP or an API\",\"Other ways to test\",\"Go live\"],\"k\":[\"test order\",\"test dropday before going live\",\"send test order to supplier\",\"How do I test Dropday without sending real orders?\",\"Does my supplier receive test orders?\",\"How do I see the email my supplier gets?\"],\"b\":\"Send a test order to check that each order line goes to the right supplier and, for suppliers you send orders to by email, what they receive. Suppliers that use FTP Upload or API Call don't receive test orders, so this test doesn't check their delivery. Test before your webshop sends real orders: once you go live, Dropday sends matched order lines to your suppliers through their active delivery methods without waiting for you. A supplier that holds its orders for review waits for your approval, and An order line was not sent to a supplier explains when a line isn't sent at all. You need a connected webshop, a supplier with a delivery method and at least one rule. 1. Make sure your webshop sends test orders: in WooCommerce, PrestaShop and Shopware, keep live mode off; in Magento, keep Test Mode on. On Shopify or Wix, or when you send orders through the API, see Other ways to test. 2. Decide who receives the test email. A supplier you send orders to by email gets the test at its real address, with \\\"TEST EMAIL:\\\" at the start of the subject. This is intended, so the supplier can check your orders too. To keep the test to yourself, set your own email address as the supplier's recipient for now. There's no preview of which rule an order line will get: rules run when an order comes in, so a test order is how you check them. 1. Place an order in your webshop. 2. In Dropday, go to Orders, open the order and expand each product. 3. Check that Rule and Supplier show the rule and supplier you expect. 4. If a product shows No rule, that order line isn't sent. Add or change a rule, then place a new test order: the order you already placed isn't checked again. 5. If you changed a supplier's recipient for the test, change it back. Your test order shows which supplier each order line goes to, but FTP Upload and API Call don't send test orders, and Dropday creates no order file for a test order. You can check the connection from the delivery method's settings: testing an FTP connection writes a test file, and you can test an API call. That shows the connection or that single call works, not that an order arrives correctly. - Shopify: install Dropday on a Shopify development store and test there before your store goes live. - Wix: the Wix app has no test mode. - Dropday API: send the order with the test flag. 1. Complete your company details: in the sidebar, under Workspace, open Company Details, fill in Company name, Address line 1, Postal code, City and Country, and click Save. Until these are filled in, Dropday handles your orders as test orders. Billing in the sidebar is for your subscription, not for these details. 2. Switch your plugin to live mode. In WooCommerce, use the plugin's settings page in WordPress; in PrestaShop, the module's configuration page; in Magento, turn Test Mode off under Stores Configuration Dropday Order Automation; in Shopware, the plugin's settings. 3. Unless your account is billed through Shopify, make sure your subscription is active when the trial ends. Orders that arrive without one are blocked and not sent; once your subscription is active again, you can process them from the dashboard. You're ready to receive orders. Follow them in your order list.\"},{\"t\":\"Find and read your orders\",\"u\":\"/guide/order-overview\",\"c\":\"Orders\",\"cu\":\"/guide/orders\",\"s\":\"Find an order in Dropday and see, for each order line, which supplier it went to, whether it was sent and whether it was shipped.\",\"h\":[\"Find an order\",\"Read an order\",\"What you can do from the order\",\"Read orders through the API\"],\"k\":[\"order overview\",\"find an order\",\"order details\",\"Where do I see my orders in Dropday?\",\"How do I see which supplier an order line went to?\"],\"b\":\"Find an order in Dropday and see, for each order line, which supplier it went to, whether it was sent and whether it was shipped. Go to Orders. The list shows your orders, and you can filter it. Orders come in from your webshop or through the Dropday API; you can't create an order by hand in the dashboard. How orders reach Dropday explains when an order arrives. Open the order and expand a product. Its status block shows: - Rule: a link to the rule that matched the order line, or No rule; - Supplier: a link to the supplier the line is assigned to, or No supplier; - Status: what happened to the line, for example Forwarded, Pending for review or No rule. Under Supplier orders, each supplier on the order has its own supplier order. Click a supplier's name to open it. When the supplier has marked the order as shipped, the order shows that it was shipped and when, with a clickable tracking link if the supplier entered one. The order lines then have the status Shipped. Shipment confirmations and tracking explains how a supplier reports a shipment. Order and order line statuses explains each status. - The order is held for review: while the supplier order waits for your approval, you can edit, remove or add its order lines and change the shipping address, then approve or decline it. Once you approve or decline it, the shipping address can no longer be changed. Send orders automatically or after review explains the setting. - The order was already sent to the supplier: you can resend it. - An order line wasn't sent: An order line was not sent to a supplier explains why and what you can do. A developer can read the same orders through the Dropday API: GET orders lists them with filters, and GET orders/{reference} returns one order with its order lines, the supplier each line went to and the line's status history. Next, see which order details and extra product fields your webshop sends with an order.\"},{\"t\":\"Order and order line statuses\",\"u\":\"/guide/the-status-of-your-order\",\"c\":\"Orders\",\"cu\":\"/guide/orders\",\"s\":\"Each order line in Dropday has a status that shows where it is: waiting to be matched, held for your review, sent to its supplier, or shipped. Read what each status means and what you can do.\",\"h\":[\"Where you see the status\",\"What the statuses mean\",\"Before the line is sent\",\"After a send\",\"After shipment\",\"Only in the event log\",\"What you can do\"],\"k\":[\"order status\",\"order line status\",\"no rule status\",\"partially forwarded\",\"order line failed\",\"What does the status of an order line mean in Dropday?\",\"What does Partially forwarded mean?\"],\"b\":\"Each order line in Dropday has a status that shows where it is: waiting to be matched, held for your review, sent to its supplier, or shipped. Read what each status means and what you can do. Open the order under Orders and expand a product. The line's status badge and its Status field use the labels below, and the order's event log uses the same labels for each entry. Find and read your orders explains the order page. Through the Dropday API, GET orders/{reference} returns each order line with its status history. - Pending: the order was received, and the line hasn't been matched to a rule or sent yet. - Ruled: the line matched a rule. The status usually moves on to the result of the send. - No rule: the line matched none of your rules and isn't sent to any supplier. The label also appears on the order in the orders list. - Pending for review: the line's supplier holds orders for review, and the line waits until you approve it. - Declined: the line was held for review and you clicked Decline order. It isn't sent. - Deleted: you deleted the line while it was pending review. - Forwarded: the line was sent. That covers a sent email, a successful API call or FTP upload, and a supplier who is connected to the Supplier Portal. When every send action succeeds, the status stays Forwarded. - Partially forwarded: at least one send action for the line succeeded and another didn't, for example when the supplier has both an email and an API Call and only one of them succeeds. With an API Call that runs per product, it also means this product's call succeeded while the call for another product failed; that other product shows Failed. - Failed: a send action didn't succeed. The API call or the FTP upload failed, your own email account failed to send, or the Supplier Portal action ran while the supplier isn't connected. An email that never leaves Dropday is logged as Fail. - skipped: an API Call wasn't made because its condition wasn't met. Dropday treats the call as handled, and the supplier's other actions can still run. - Shipped: the supplier marked the order as shipped. This status replaces the previous one on the badge. - Edited: appears only in the event log. The badge keeps the previous status. - approved and resent: appear when you approve or resend a line. The badge then follows the result of the send. Completed and Partially completed are the old names for Forwarded and Partially forwarded. - A line wasn't sent: An order line was not sent to a supplier explains each cause and what you can do. - A line waits for review: approve or decline it on the order. Send orders automatically or after review explains the setting. - A send action failed, or a sent order must go again: resend it to the supplier. Dropday then runs the supplier's current delivery methods again for the order's lines.\"},{\"t\":\"Order details and extra product fields\",\"u\":\"/guide/product-details-in-your-orders\",\"c\":\"Orders\",\"cu\":\"/guide/orders\",\"s\":\"See which order details and extra product fields your webshop sends to Dropday, and how to show them to your supplier. What arrives depends on your webshop platform, and a field only reaches your supplier once you add it to what they receive.\",\"h\":[\"What an order can carry\",\"What each platform sends\",\"Show a field to your supplier\",\"Cost price and the supplier's own SKU\"],\"k\":[\"custom fields order\",\"personalisation supplier\",\"shipping method delivery date supplier\",\"line item properties\",\"Does Dropday pass personalisation or engraving text to my supplier?\",\"Which order details does my webshop send to Dropday?\",\"How do I show a custom field to my supplier?\"],\"b\":\"See which order details and extra product fields your webshop sends to Dropday, and how to show them to your supplier. What arrives depends on your webshop platform, and a field only reaches your supplier once you add it to what they receive. Besides the products and the shipping address, an order in Dropday can carry: - a shipping name, shipping description and shipping cost; - a shipping note and a delivery date; - custom fields with simple values, on the order and on each order line, and labels on products. There is no field for a delivery time or time slot; only a delivery date exists. - Shopify: - it sends the shipping method the customer chose and the customer's order note as the shipping note; - it sends line item properties as custom fields per order line, which is where most personalisation apps store their data, such as engraving text or an uploaded image. Hidden properties, whose name starts with an underscore, are sent too. - it doesn't send a delivery date, product or variant metafields, or cart and note attributes. The selected variant, such as a size or colour, is only part of the product name. - WooCommerce: - it sends the shipping method, the customer note as the shipping note, and a delivery date read from known delivery-date plugins, with configurable meta keys; - it sends the product meta fields you list in the plugin settings, for example a supplier code; Connect WooCommerce shows where; - it doesn't send a time slot, checkout fields, order meta, or personalisation that an app stores on the order line. - PrestaShop: the carrier and its delivery time, the customer's non-private messages, and the product customizations per order line. Other custom product data isn't sent. - Shopware: the shipping method, its description and the earliest delivery date, the customer's note, and the product options of each order line. Other custom product data isn't sent. - Wix: the shipping cost, the customer's note and the selected options per order line. The shipping method and other custom product data aren't sent. - Magento: no shipping information, no customer notes, no product options and no custom product data. - Dropday API: your own system can send custom fields per order and per product. Connect another platform through the API shows how. Dropday stores these details on the order and its order lines, but a supplier only sees a field you add to what they receive. A field you don't configure anywhere stays hidden from the supplier. - Supplier email: add a column for the field to the product table of the email. Send orders by email explains the email settings. - Packing slip, supplier order page and Supplier Portal: add a rule per field in the packing slip settings, for example custom.gravering: \\\"Gravering\\\". The field then appears as a column at the products. Packing slips explains the settings. - FTP and API Call: include the field in the content of the file or message yourself. Order files and field mapping and Send orders to a supplier's API explain how. - Cost price: supplier emails and order files can show the cost price per product when the webshop sends it. Shopify, WooCommerce, PrestaShop and Shopware send it; Magento and Wix don't, and Dropday doesn't take it from the supplier's product feed. - Supplier's own SKU: Dropday has no separate field for it; supplier orders show your own SKU and EAN. The supplier's SKU can only appear when it arrives with the order as extra product information: with WooCommerce by listing the product field in the plugin settings, or when you send orders through the Dropday API.\"},{\"t\":\"Orders with several suppliers\",\"u\":\"/guide/split-orders-up\",\"c\":\"Orders\",\"cu\":\"/guide/orders\",\"s\":\"When an order has products for different suppliers, Dropday splits it: each supplier gets a supplier order with only its own order lines.\",\"h\":[\"How an order is split\",\"Everything after the split works per supplier\"],\"k\":[\"split order between suppliers\",\"order several suppliers\",\"one order multiple suppliers\",\"Can one order go to several suppliers?\",\"Does each supplier see the whole order?\"],\"b\":\"When an order has products for different suppliers, Dropday splits it: each supplier gets a supplier order with only its own order lines. Your rules choose a supplier for each order line. A whole line goes to one supplier, as it was sold; How rules decide the supplier explains how a rule is chosen. Each supplier receives a supplier order with only the products of that order that are assigned to it. On the order in Dropday, each supplier has its own supplier order under Supplier orders. - Review: holding orders for review is a setting per supplier. The lines for suppliers that don't hold orders are sent, and only the lines for a supplier that holds orders wait for you. - Resend: Resend order sends only the lines of the supplier order you opened. - Shipping: each supplier marks its own shipment. - Webhooks: you get one supplierorder.created and one supplierorder.shipped event per supplier, and each event carries only the order lines of that supplier order. To see how an order was split, open it under Orders.\"},{\"t\":\"Resend an order to a supplier\",\"u\":\"/guide/resend-an-order\",\"c\":\"Orders\",\"cu\":\"/guide/orders\",\"s\":\"Send an order to a supplier again from the order in Dropday, for example when the supplier didn't receive it or asks for it again.\",\"h\":[\"When you can resend an order\",\"Resend the order\",\"What the supplier receives\"],\"k\":[\"resend order to supplier\",\"send supplier order again\",\"How do I send an order to a supplier again?\",\"What happens to the order the supplier already received?\",\"Why can I not resend this order?\"],\"b\":\"Send an order to a supplier again from the order in Dropday, for example when the supplier didn't receive it or asks for it again. You can resend an order that Dropday already sent to the supplier. Resending isn't available for: - test orders; - orders still held for review. Approve the order instead: approving sends it through the supplier's delivery methods; - orders with declined order lines. Resending also doesn't help an order line that never reached the supplier. It sends only the order lines already assigned to that supplier, and Dropday doesn't apply your rules again, so order lines without a rule stay out. An order line that was skipped because its supplier had no active delivery method can't be sent afterwards either, not even after you add a delivery method. If an order line didn't reach a supplier, find out why before you change anything. 1. Go to Orders and open the order. You can filter the order list to find it. 2. Under Supplier orders, click the supplier's name. This opens that supplier's order, with the order lines assigned to it: these are the lines a resend sends again. 3. Check the supplier's delivery methods. Dropday uses the delivery methods the supplier has when you resend, not the ones it had at the first send. 4. At the bottom of the products, click Resend order. Each supplier under Supplier orders is a separate order, so Resend order only sends the lines of the supplier whose order you opened. To resend to another supplier of the same order, open that supplier's order. Dropday sends the supplier's order lines again through each of the supplier's current delivery methods. The new send replaces the earlier send to that supplier for this order. If the supplier opens the order link from an earlier email, they see a page saying that send has been replaced, instead of the order. A resend sends the same order lines a second time. If the supplier may already have received the earlier send, let them know that the new one replaces it, so the order isn't handled twice.\"},{\"t\":\"Send tracking back to your webshop\",\"u\":\"/guide/tracking-to-webshop\",\"c\":\"Orders\",\"cu\":\"/guide/orders\",\"s\":\"When a supplier marks an order as shipped, Dropday sends a webhook with the tracking. An integration of your own can use it to add the tracking to the order in your webshop.\",\"h\":[\"What you need\",\"What the webhook gives your integration\",\"Set it up\"],\"k\":[\"tracking to webshop\",\"update webshop order shipped\",\"fulfilment shopify tracking\",\"Does Dropday update my webshop when the supplier ships an order?\",\"How can I get the tracking code into my webshop?\"],\"b\":\"When a supplier marks an order as shipped, Dropday sends a webhook with the tracking. An integration of your own can use it to add the tracking to the order in your webshop. An integration of your own that receives the webhook and updates your webshop, for example a small workflow in n8n or Zapier, or your own endpoint. Dropday's webshop plugins and apps don't write the tracking back themselves. When a supplier marks an order as shipped, Dropday sends a supplierorder.shipped event. In its data, your integration finds: - the tracking code and link in trackingcode and trackingurl, and the shipment time in shippedat; - the supplier in supplierid and suppliername; - the order under order, with your webshop's order ID in order.externalid. An order with several suppliers gives one such event per supplier shipment. For the order status, a supplierorder.created event works the same way: Dropday sends it when an order is forwarded to a supplier, including after you approve a held order, and your integration can use it to update the order status in your webshop. 1. Under Settings → Webhooks, add a webhook with the URL of your integration and subscribe it to supplierorder.shipped. 2. In your integration, use data.order.externalid from the event to find the order in your webshop, and add the tracking or fulfilment to it with data.trackingcode and data.trackingurl. Set up order and tracking webhooks explains the webhook settings, all events with an example of the full event, and how failed deliveries are retried.\"},{\"t\":\"Set up order and tracking webhooks\",\"u\":\"/guide/order-webhooks\",\"c\":\"Orders\",\"cu\":\"/guide/orders\",\"s\":\"Set up a webhook so that Dropday tells your own system when an order is forwarded to a supplier, opened by the supplier or shipped.\",\"h\":[\"Add a webhook\",\"Events\",\"What Dropday sends\",\"Verify the signature\",\"Manage webhooks and deliveries\",\"No event for a failed send\"],\"k\":[\"webhook\",\"supplier_order.shipped\",\"webhook signature\",\"webhook payload\",\"Which webhook events does Dropday send?\",\"How do I know when an order was sent to a supplier?\",\"What happens when my endpoint is down?\",\"What does a Dropday webhook contain?\"],\"b\":\"Set up a webhook so that Dropday tells your own system when an order is forwarded to a supplier, opened by the supplier or shipped. You need a user who can manage the account. 1. Go to Settings → Webhooks. 2. Add a webhook: give it a name, a description and the URL of your endpoint. 3. Choose one or more events to subscribe to. - supplierorder.created: an order was forwarded to a supplier. It includes the supplier and the time it was forwarded (forwardedat). - supplierorder.opened: the supplier opened the order for the first time. It includes the time it was opened (openedat). - supplierorder.shipped: the supplier marked the order as shipped. It includes the shipment time (shippedat), the tracking code (trackingcode) and tracking link (trackingurl), the supplier and the order data. - products.updated: a product feed finished importing. Follow product feed updates with a webhook and the API shows what it contains. A supplier order event carries the order with only the order lines of that supplier order. Orders with several suppliers explains the split. Dropday sends each event to every active webhook of your account that is subscribed to it, as a JSON POST. The body is an envelope with id, event, createdat and data, and data holds the content of the event. For the three supplier order events, data has the same shape: - every event has supplierorderid, supplierid, suppliername and order; - each event adds its own fields at the top of data: forwardedat for supplierorder.created, openedat for supplierorder.opened, and shippedat, trackingcode and trackingurl for supplierorder.shipped. The times are in ISO 8601; - order has id, externalid (your webshop's order ID), reference, source, test, blocked, total, shippingaddress, shipping, custom, orderlines, createdat, updatedat and finalizedat; - shippingaddress has email, firstname, lastname, companyname, phone, address1, address2, city, postcode, state, country and countryiso, and shipping has cost, name, description, note and deliverydate; - each line in orderlines has id, externalid, ean13, reference, name, quantity, brand, category, labels, stockquantity, supplier, price, purchaseprice, height, width, length, weight, imageurl and custom. quantity is the quantity on this supplier order, and supplier is the name of the product's supplier. The example below shows where these fields sit in a supplierorder.shipped event with one order line. The values are placeholders: Dropday fills in the real values of the order, and your endpoint receives the whole body. Each request has an X-Dropday-Event header and an X-Dropday-Signature header. X-Dropday-Signature is the HMAC-SHA256 of the raw request body, keyed with the webhook's secret, as a lowercase hexadecimal string. It has no prefix such as sha256= and is not base64. To verify a delivery, compute the HMAC-SHA256 of the raw request body with the webhook's secret and compare the 64-character hex string with the header. Use the exact bytes Dropday sent, not a body you parsed and encoded again. In PHP, the computation is: Here $rawBody is the raw request body and $webhookSecret is the webhook's secret. The delivery is from Dropday when $expected is the same as the value of the X-Dropday-Signature header. You can switch a webhook on or off, rotate its signing secret, and view, filter and retry individual deliveries. When a delivery fails, because your endpoint gives no successful response within 10 seconds or returns an error, Dropday retries it automatically. It makes up to 5 attempts, waiting 1 minute, 5 minutes, 15 minutes and 1 hour between them. There is no webhook event for a failed send to a supplier. A failed send is recorded on the order lines: through the Dropday API, GET orders/{reference} returns each order line with its status history, where failed attempts show as failed.\"},{\"t\":\"Shipment confirmations and tracking\",\"u\":\"/guide/shipment-and-tracking\",\"c\":\"Orders\",\"cu\":\"/guide/orders\",\"s\":\"Your supplier reports in Dropday that an order was shipped, with a tracking code or link if they have one. You then see the shipment and the tracking link on the order.\",\"h\":[\"How a supplier reports a shipment\",\"What you see in Dropday\",\"Good to know\",\"Pass the tracking on to your webshop\"],\"k\":[\"tracking code supplier\",\"order shipped\",\"supplier shipment confirmation\",\"How does my supplier tell Dropday an order was shipped?\",\"Where do I see the tracking link of an order?\",\"Can a supplier reject an order or report a backorder?\"],\"b\":\"Your supplier reports in Dropday that an order was shipped, with a tracking code or link if they have one. You then see the shipment and the tracking link on the order. Once the package has been shipped, the supplier sets the order to shipped in Dropday, in one of two places: - the order page they reach through the personal link in the supplier email; - the order page in the Supplier Portal. Invite a supplier to the Supplier Portal explains how a supplier gets access. A tracking code isn't required: the supplier can mark an order as shipped without one. When the supplier enters a carrier's tracking link, Dropday derives the tracking code from it as well as it can; when they enter only a tracking code, Dropday creates a tracking link from it. When an order went to several suppliers, each supplier reports its own shipment. Orders with several suppliers explains the split. On the order, you see that the supplier shipped it and when, with a clickable tracking link if one was entered. The order lines get the status Shipped. Find and read your orders explains the order page. Dropday also records when the supplier opens the order for the first time, which works as a kind of acknowledgement. - A supplier reports the shipment, with or without tracking. Accept, reject or backorder statuses aren't part of it. - The tracking is what the supplier enters: Dropday doesn't create shipping labels or fetch the tracking status from the carrier. To get the tracking into the order in your webshop, an integration of your own can take it from a Dropday webhook and add it there. Send tracking back to your webshop explains how.\"},{\"t\":\"Follow product feed updates with a webhook and the API\",\"u\":\"/guide/product-webhooks\",\"c\":\"Product data\",\"cu\":\"/guide/product-data\",\"s\":\"Subscribe a webhook to products.updated. Dropday then notifies your endpoint after each product feed import, and your system reads the updated products through the Dropday API.\",\"h\":[\"Add a webhook for products.updated\",\"What the event contains\",\"Read the updated products\"],\"k\":[\"products.updated webhook\",\"product api\",\"api products\",\"product feed webhook\",\"update webshop stock\",\"How do I know when a product feed has been imported?\",\"What does the products.updated webhook contain?\",\"How do I read the updated products through the Dropday API?\",\"How do I get supplier stock levels into my webshop?\"],\"b\":\"Subscribe a webhook to products.updated. Dropday then notifies your endpoint after each product feed import, and your system reads the updated products through the Dropday API. Dropday's webshop connections don't write imported stock levels or purchase prices back to your webshop. Updating your webshop from a feed is an integration you build: it subscribes to products.updated, reads the products from the Dropday API and writes the stock or purchase price in your shop. You need a user who can manage the account, and a product feed in Dropday. 1. Go to Settings → Webhooks. 2. Add a webhook: give it a name, a description and the URL of your endpoint. 3. Subscribe it to the products.updated event. If you had entered a webhook URL in the earlier single webhook URL setting, Dropday has moved it into a webhook subscribed to products.updated. After each product feed import, Dropday sends products.updated to every active webhook that is subscribed to it, as a JSON POST. The body is an envelope with id, event, createdat and data. In data, the event carries productfeedid, accountid and updatedat, not the product data itself. The example below shows where these fields sit. The values are placeholders: Dropday fills in the real values of the import. Each request has an X-Dropday-Event header and an X-Dropday-Signature header. The signature is the lowercase hexadecimal HMAC-SHA256 of the raw request body, keyed with the webhook's secret. Set up order and tracking webhooks shows how to verify it. When a delivery fails, because your endpoint gives no successful response within 10 seconds or returns an error, Dropday retries it automatically. It makes up to 5 attempts, waiting 1 minute, 5 minutes, 15 minutes and 1 hour between attempts. The event doesn't contain the products. Two endpoints of the Dropday API return imported products, and both only read data: - GET https://dropday.io/api/v1/products/new lists the active products that were updated in the last 24 hours; - GET https://dropday.io/api/v1/products lists all active imported products of your account, 100 per page. Both use the same headers as the order API: api-key with your API key and account-id with your Account ID. A missing or wrong pair returns HTTP status 403. To find your API key and Account ID, go to Store Integration and choose the DropdayAPI tile on the screen Choose your e-commerce platform. Under Developers information, that page lists API-key and Account-ID, each with a Copy button. This request reads the products updated in the last 24 hours. Replace YOURAPIKEY and YOURACCOUNTID with your own values: The response has a data array with one entry per product. Each product has id, projectid, productfeedid, sku, ean13, name, purchaseprice, stockquantity, active (always 1 in these responses), createdat and updatedat. The example shows one product in that array, with placeholder values; other parts of the response are not shown. Your integration then writes stockquantity or purchaseprice to the matching product in your shop. The Dropday API documentation is published at docs.dropday.io.\"},{\"t\":\"Import a supplier product feed\",\"u\":\"/guide/import-a-product-feed\",\"c\":\"Product data\",\"cu\":\"/guide/product-data\",\"s\":\"Add your supplier's product feed to Dropday. Dropday then updates the supplier's stock levels and purchase prices every day.\",\"h\":[\"What you need\",\"Add the feed\",\"Map the fields\",\"When Dropday imports the feed\",\"What the import updates\",\"If the import fails\"],\"k\":[\"product feed\",\"supplier feed\",\"stock feed\",\"xml feed\",\"How do I import my supplier's product feed into Dropday?\",\"Which feed formats and sources can I use?\",\"How often does Dropday import a product feed?\",\"Which product fields does Dropday read from a feed?\",\"How do I start an import by hand?\"],\"b\":\"Add your supplier's product feed to Dropday. Dropday then updates the supplier's stock levels and purchase prices every day. Dropday downloads the feed from its URL and takes five product fields from it: SKU, EAN-13, name, stock quantity and purchase price. The URL of your supplier's product feed. You can set up a feed yourself when it is an XML feed at a URL that needs no login. The setup also offers a Google Sheet, FTP/SFTP and a file upload as sources, and CSV and JSON as formats. If you choose one of these, or your feed needs a login, Dropday sends your setup as a request to the Dropday team and shows it as waiting for approval. 1. In the sidebar, go to Products → Products and click Add product feed. 2. On the Import products page, choose the Feed URL tile. 3. Enter a Feed name and the Feed url (.XML). Leave Format on XML and Authentication on None. 4. Click Save. Dropday fetches the XML, but doesn't import the products yet. The feed isn't linked to a supplier: its name is only a label. In the Map your fields step, pair each Dropday field with a field from the XML: - SKU and Name are required; - EAN-13, Stock and Purchase price are optional. Choose one field as the unique ID; SKU is selected at first. Then click Import. Dropday saves the mapping, queues the first import and takes you back to Product feeds. For example, a supplier's feed could describe each product like this. The feed is illustrative: your supplier's feed has its own structure and field names. With this feed, you pair SKU with code, Name with title, EAN-13 with barcode, Stock with qty and Purchase price with cost. Dropday imports every feed again each day at 00:00. To import a feed now, open Product feeds, click View on the feed and then Trigger synchronisation manually under Update products. Each import updates the stock levels and purchase prices of the products in the feed, matched on SKU or EAN. Dropday doesn't manage variants as such: each row in the feed is a separate product, matched by its own SKU or EAN. Dropday doesn't create new products, and it doesn't sync retail prices, descriptions or images. Your webshop connection doesn't write the imported values back to your webshop either. Next, find out what Dropday does with the imported stock levels and purchase prices. Dropday rejects a feed that is not valid XML and reports the parse error. Once the feed is valid XML again, start the import by hand or wait for the next daily import.\"},{\"t\":\"Stock and purchase prices from product feeds\",\"u\":\"/guide/stock-and-prices\",\"c\":\"Product data\",\"cu\":\"/guide/product-data\",\"s\":\"Find out which product data Dropday updates from your suppliers' product feeds, and how the updated stock levels and purchase prices can reach your webshop.\",\"h\":[\"What Dropday updates\",\"Get the values into your webshop\",\"No purchasing for your own stock\",\"Purchase prices on supplier orders\"],\"k\":[\"supplier stock levels\",\"purchase prices\",\"stock sync\",\"product variants\",\"Which product data does Dropday update from a supplier feed?\",\"Does Dropday update stock in my webshop?\",\"Does Dropday update prices, descriptions or images?\",\"How does Dropday handle variants in a feed?\",\"Can Dropday order stock for my own warehouse?\"],\"b\":\"Find out which product data Dropday updates from your suppliers' product feeds, and how the updated stock levels and purchase prices can reach your webshop. After you import a supplier's product feed, Dropday updates the stock levels and purchase prices of its products every day. Products are matched on SKU or EAN. - Variants: Dropday doesn't manage variants as such. Each row in the feed is handled as a separate product, matched by SKU or EAN. - What is not updated: Dropday doesn't create new products, and it doesn't sync retail prices, descriptions or images. Dropday stores the imported products in your account. Its webshop connections (the Shopify app and the WooCommerce, PrestaShop, Shopware, Magento and Wix plugins) don't write the stock levels or purchase prices back into your webshop. Updating your webshop from a feed is an integration you build: it subscribes to the products.updated webhook, reads the products from the Dropday API and writes the stock or purchase price in your shop. - The products.updated event is sent after each product feed import. It says which feed was imported, not the product data itself. - GET https://dropday.io/api/v1/products lists your account's active imported products, 100 per page, and GET https://dropday.io/api/v1/products/new lists the active products updated in the last 24 hours. Both only read data. Follow product feed updates with a webhook and the API shows how to set this up. Dropday only forwards customer orders to suppliers. It has no purchase orders or purchase advice to restock your own warehouse, no minimum stock levels, no reorder overview and no receiving of goods. Supplier emails and order files can show a product's cost price when your webshop sends it with the order. Dropday doesn't fill in the cost price from the supplier's product feed, and Magento and Wix don't send a cost price. Order details and extra product fields shows which cost price each webshop platform sends.\"},{\"t\":\"Create your first rule\",\"u\":\"/guide/create-your-first-rule\",\"c\":\"Rules\",\"cu\":\"/guide/rules\",\"s\":\"Create a rule to decide which supplier receives an order line. For example, send all products of one brand to the supplier that stocks them. You need at least one supplier first.\",\"h\":[\"Result\",\"Put your rules in order\",\"Order lines that match no rule\",\"Refine a rule\"],\"k\":[\"supplier rule\",\"route order lines to supplier\",\"rule conditions\",\"How do I send products to the right supplier?\",\"Which order details can a rule check?\",\"In which order are rules checked?\"],\"b\":\"Create a rule to decide which supplier receives an order line. For example, send all products of one brand to the supplier that stocks them. You need at least one supplier first. 1. In the sidebar, under Automations, click Rules, then New rule. 2. Choose a field, an operator and a value: for example Brand, Is and the brand name. 3. Choose the supplier for the matching order lines, and save. The rule is added at the bottom of the Rules list, named Rule. From then on, order lines that match it go to the supplier you chose, unless a rule higher in the list matches first. Dropday checks your rules from top to bottom, and the first rule that matches decides the supplier of each order line. Put specific rules above general ones by dragging a rule by its grip handle on the Rules list; the new order is saved right away. An order line that matches no rule shows No rule and isn't sent to any supplier. Rules run when an order comes in, so a new or changed rule doesn't apply to order lines that already arrived. Check a new or changed rule with a new test order instead, as described in Test your setup. If this happened to a real order, An order line was not sent to a supplier explains your options. Open a rule from the Rules list to rename it, add conditions or set a purchase-price threshold. How rules decide the supplier lists all fields and operators. Next, test your setup with a test order.\"},{\"t\":\"How rules decide the supplier\",\"u\":\"/guide/getting-started-with-rules\",\"c\":\"Rules\",\"cu\":\"/guide/rules\",\"s\":\"Your rules decide which supplier receives each order line. Learn in which order Dropday checks them, when a rule applies, what happens to order lines that match no rule, and which fields and operators a condition can use.\",\"h\":[\"How Dropday checks your rules\",\"When a rule matches\",\"Purchase-price threshold\",\"One supplier per order line\",\"Order lines that match no rule\",\"Fields and operators\",\"What rules can't do\"],\"k\":[\"how dropday rules work\",\"rule order first match\",\"rule condition fields\",\"In which order does Dropday check my rules?\",\"Can one order line go to two suppliers?\",\"What happens to an order line that matches no rule?\",\"Which fields and operators can a rule condition use?\"],\"b\":\"Your rules decide which supplier receives each order line. Learn in which order Dropday checks them, when a rule applies, what happens to order lines that match no rule, and which fields and operators a condition can use. When an order comes in, Dropday checks your rules for each order line, from the top of the Rules list to the bottom. This also happens for test orders. The first rule that matches an order line decides its supplier, and Dropday doesn't check the rules below it for that line. Put specific rules above general ones, and change the order by dragging rules on the Rules list. A rule checks one or more conditions. Each condition compares a field of the order or the order line with a value, using an operator: for example Brand, Is and a brand name. A rule with several conditions matches when it Meets one of these conditions or when it Meets all conditions, depending on what you chose for that rule. A rule can have a purchase-price threshold. The rule then only applies when the order lines that match it together meet that threshold. If they don't, Dropday tries the next rule. Each order line goes to exactly one supplier, so one order line can't be sent to two suppliers at once. The whole line goes to that supplier as it was sold, with the same product and quantity. An order with several products can still go to several suppliers, because each order line gets its own supplier. If two parties need the same order, set both up under one supplier: a supplier can have several delivery methods that all run, and a second party can get a copy of the order email through the email's BCC field. The Supplier Portal and the shipping status then treat them as one supplier. After a rule matches, Dropday sends the order line through the supplier's active delivery methods. A supplier that holds orders for review waits for your approval, and An order line was not sent to a supplier explains the other cases in which a line isn't sent. An order line that matches no rule shows No rule and isn't sent to any supplier. To see what happened to a line, go to Orders, open the order and expand the product: Rule and Supplier show the rule and supplier it got. Dropday doesn't check an order line again later. Adding or changing a rule doesn't affect order lines that already came in, and there's no button to apply the rules again. If this happened to a real order, An order line was not sent to a supplier explains your options. A new rule and a rule you edit offer the same fields. The list first shows six product fields; Show more shows the rest. - Product fields shown first: Supplier, Reference (SKU), Name, Brand, Category and Labels. - More product fields: External ID, EAN-13, Quantity, Stock Quantity, Price and Purchase Price, and technical fields for the order line's supplier, height, width, length, weight and last edit. - Order fields: External ID, Order Source (Store Name), Test, Total Paid, Shipping Costs, Shipping Carrier Name, Shipping Method Description, Shipping Note, Requested Delivery Date, Email Address, the delivery address (first name, last name, company name, address lines 1 and 2, postcode, city name, state, country and phone number), and technical fields for whether the order is blocked, its country code, when it was finalised and its last edit. Each condition can use these operators: Begins with, Ends with, Is, Is not, Contains, Does not contain, Greater than, Smaller than, In list and Is empty. - Choose a supplier by hand: the supplier of an order line is decided by your rules. You can't move an order or order line to another supplier after the order came in. - Preview a rule: there's no preview of which rule and supplier an order line will get before the order is in Dropday. Check your rules with a test order instead. - Split bundles or multipacks: Dropday can't split a bundle into separate items, multiply quantities (for example 1 \\xd7 \\\"6-pack\\\" into 6 single items) or send parts of a bundle to different suppliers. To handle a bundl\"},{\"t\":\"Add a supplier\",\"u\":\"/guide/add-a-supplier\",\"c\":\"Suppliers\",\"cu\":\"/guide/suppliers\",\"s\":\"Add a supplier and choose how to send its orders: by email, as a file on the supplier's server, through its API, or in the Dropday Supplier Portal.\",\"h\":[\"Choose a delivery method\",\"Approve orders before they're sent (optional)\",\"Result\"],\"k\":[\"add supplier dropday\",\"new supplier\",\"supplier delivery method\",\"How do I add a supplier?\",\"How will my supplier receive orders?\"],\"b\":\"Add a supplier and choose how to send its orders: by email, as a file on the supplier's server, through its API, or in the Dropday Supplier Portal. 1. In the sidebar, click Suppliers, then New supplier. 2. Enter the supplier's name (the only required field) and save. 3. Click Add action, choose a delivery method, fill in its settings and save. - Send Email: enter the supplier's email address. You can preview the email. - FTP Upload: choose FTP, FTPS or SFTP and enter the supplier's server details. You can test the connection, and Dropday shows the IP addresses your supplier may need to allow. - API Call: enter the method, URL, headers and body of the request to the supplier's API, and test it from the settings. Send orders to a supplier's API covers the options. - Add to Supplier Portal: the supplier finds its orders in the Supplier Portal. This only counts as sent once the supplier has a portal account, so invite the supplier from its page. You can add more than one delivery method; Dropday uses every active one. To check this supplier's orders yourself first, turn on Hold order for review. Send orders automatically or after review explains how approval works. Once a rule assigns order lines to this supplier, Dropday sends them through each active delivery method when the order comes in, unless you turned on Hold order for review. A supplier without an active delivery method receives nothing. An order line was not sent to a supplier explains the other cases in which a line isn't sent. Next, create a rule that assigns order lines to this supplier.\"},{\"t\":\"Connect an email account\",\"u\":\"/guide/email-accounts\",\"c\":\"Suppliers\",\"cu\":\"/guide/suppliers\",\"s\":\"Connect your Gmail, SMTP or Brevo account so that the order emails to a supplier are sent through it instead of through Dropday's own mail service.\",\"h\":[\"Connect your account\",\"Use the account for a supplier\",\"What changes for your emails\"],\"k\":[\"send supplier emails from own email account\",\"gmail\",\"smtp\",\"brevo\",\"Can supplier order emails be sent from my own email account?\",\"What happens if my email account fails to send?\"],\"b\":'Connect your Gmail, SMTP or Brevo account so that the order emails to a supplier are sent through it instead of through Dropday\\'s own mail service. 1. In the sidebar, under Preferences, click Email Accounts. 2. Click Connect New Account. 3. Under \"Choose your email provider\", choose Gmail, SMTP or Brevo, and connect the account: - Gmail: sign in to your Google account and give Dropday access. - SMTP: in \"Add SMTP Email Account\", fill in your mail server\\'s settings, choose the encryption (TLS, SSL or none) and click Save Account. - Brevo: in \"Add Brevo Email Account\", fill in your Brevo settings and click Save Account. In the supplier\\'s Send Email action, choose the account in Send from. It starts at System email (orders@dropday.io); a connected account appears there by its name and email address. Save the action. If the supplier doesn\\'t have Send Email yet, Send orders by email shows how to set it up. - The \"sent on behalf of\" footer becomes a short \"Email sent using Dropday\" line. - With a Gmail account, the email normally also appears in that account\\'s Sent folder. - If sending through your account fails, Dropday logs the failure and sends the email through its own mail service instead. Next, send a test order to check the email: test orders are emailed too, with \"TEST EMAIL:\" at the start of the subject.'},{\"t\":\"Invite a supplier to the Supplier Portal\",\"u\":\"/guide/invite-to-supplier-portal\",\"c\":\"Suppliers\",\"cu\":\"/guide/suppliers\",\"s\":\"Invite a supplier, such as a wholesaler or a fulfilment partner, to the Supplier Portal. It then logs in to Dropday to see the orders you send it and mark them as shipped.\",\"h\":[\"Invite the supplier\",\"Until the supplier accepts\",\"What the supplier does\",\"Result\"],\"k\":[\"supplier portal invite\",\"give supplier access to orders\",\"fulfilment partner access dropday\",\"How do I give my supplier or 3PL access to the orders meant for them?\",\"Which order details does my supplier see in the portal?\",\"Can my supplier export its orders?\"],\"b\":\"Invite a supplier, such as a wholesaler or a fulfilment partner, to the Supplier Portal. It then logs in to Dropday to see the orders you send it and mark them as shipped. In the portal, the supplier sees the orders and order lines sent to it, can filter them and can export them as a CSV file with the order ID, order date, products and shipping address. You need a supplier in Dropday and the email address of the person who should get access. 1. In the sidebar, click Suppliers and open the supplier's page. 2. Decide which order line details the supplier sees. If the supplier has no Add to Supplier Portal action yet, click Add action, choose Add to Supplier Portal, select the details and save. A new action shows quantity, name, reference and purchase price, so remove the purchase price if the supplier shouldn't see it. 3. Click Invite supplier. In \\\"Invite to the Supplier Portal\\\", fill in Email and click Send invite. While an invitation is waiting for the supplier, the button reads Portal invite pending. Sending the invitation adds an active Add to Supplier Portal action to the supplier if it doesn't have one yet, with the default details. You can change the details on that action later. You can also invite a supplier from the Team page. The Add to Supplier Portal action only delivers once the supplier has a portal account. Until then, order lines are logged as failed for this action, with \\\"Supplier is not connected to the Supplier Portal yet\\\". If the supplier should keep receiving orders in the meantime, keep another delivery method active, such as Send Email: Dropday uses every active delivery method. You can resend or revoke the invitation. An invitation that has expired, was revoked or was already accepted no longer works, so resend it if the supplier's link has stopped working. The supplier opens the link in the invitation email and creates a login, or logs in if it already has one. A supplier that receives your orders by email can also get access itself: the order page it opens from the email has a Get access button. Once the supplier has joined, your supplier list shows a badge for it, and its portal members appear on your Team page. From then on, order lines that a rule assigns to this supplier appear in its portal when the order comes in, unless the supplier holds orders for review. Next, create a rule that assigns order lines to this supplier, if you haven't yet.\"},{\"t\":\"Order files and field mapping\",\"u\":\"/guide/order-files\",\"c\":\"Suppliers\",\"cu\":\"/guide/suppliers\",\"s\":\"Create a CSV order file and attach it to the email your supplier receives, so the supplier gets each order in a file it can process. You choose the columns, and Dropday fills in one row per order line.\",\"h\":[\"Create an order file\",\"Attach an existing order file\",\"What your supplier receives\"],\"k\":[\"csv order file for supplier\",\"attach csv to supplier email\",\"order file columns\",\"How do I send my supplier a CSV file with each order?\",\"Which columns can an order file contain?\",\"Can I attach an order file and a packing slip to the same email?\"],\"b\":\"Create a CSV order file and attach it to the email your supplier receives, so the supplier gets each order in a file it can process. You choose the columns, and Dropday fills in one row per order line. An order file travels as an attachment to the order email, so the supplier needs a Send Email action. If your supplier collects files from its own server instead, send orders by FTP: Dropday sets up that file for you. You create an order file from the supplier's email that should carry it. 1. In the supplier's Send Email action, under Attachments, click Add file, then Create new CSV file. Dropday creates the file and attaches it to this email. 2. Click the new CSV chip to open the order file editor. 3. Check the columns. A new order file starts with default columns: order ID, SKU, quantity, unit price, and name and address fields. 4. Add or change columns until they match what your supplier needs. For each column, set a header and what it contains: a fixed value, an order, order line or supplier field, or a template expression. For example, a column with the header SKU that contains the order line's SKU. 5. Set the file name. It can contain order placeholders and always ends in .csv. 6. Check the result in the preview, then save the order file. To use an order file you already made, open the supplier's Send Email action, click Add file under Attachments and choose the CSV file. An email can carry up to five attachments, each a packing slip or one of your order files. Each order email to this supplier carries the CSV file: a header row with your column headers, then one row for each of the order's lines for this supplier. Next, set the recipients, subject and body of the email in Send orders by email.\"},{\"t\":\"Packing slips\",\"u\":\"/guide/packing-slips\",\"c\":\"Suppliers\",\"cu\":\"/guide/suppliers\",\"s\":\"Add a packing slip to the order email your supplier receives. Dropday creates the packing slip as a PDF from your settings, and you choose what's on it and its language.\",\"h\":[\"Set up your packing slip\",\"Change what's on the packing slip\",\"Attach it to a supplier's email\",\"What you can't change\"],\"k\":[\"packing slip\",\"packing slip supplier email\",\"packing slip language logo\",\"How do I add a packing slip to the supplier email?\",\"Can I put my logo on the packing slip?\",\"Which languages can the packing slip use?\"],\"b\":\"Add a packing slip to the order email your supplier receives. Dropday creates the packing slip as a PDF from your settings, and you choose what's on it and its language. 1. In the sidebar, under Preferences, open the Packing Slip screen. These settings apply to your whole account, not to one supplier's email. 2. Choose the language: English, Dutch, French, German or Spanish. 3. Add your logo. 4. Check the preview. In the packing slip settings, you can also: - add extra fields and order-line properties; - add a footer text; - change the wording of each text on the packing slip; - set the file name of the PDF. In the supplier's Send Email action, under Attachments, click Add file and choose the row ending in Packing slip. For each supplier's email, you only choose whether to attach it. An email can carry up to five attachments, each a packing slip or one of your order files. - You can't send your own packing slip, such as one from your webshop, instead of Dropday's. - The date is always shown as yyyy-mm-dd. - The country name is always in English, also on a packing slip in another language. - The address is shown in the form that is usual in the destination country. Next, send a test order to see the email your supplier receives: test orders are emailed too, with \\\"TEST EMAIL:\\\" at the start of the subject.\"},{\"t\":\"Send EDIFACT order files\",\"u\":\"/guide/send-edifact-files\",\"c\":\"Suppliers\",\"cu\":\"/guide/suppliers\",\"s\":\"Send your orders to a trading partner as EDIFACT ORDERS messages: Dropday puts each order as a file in your partner's format on the partner's server, over FTP, FTPS or SFTP. This covers the orders you send, not messages your partner sends back.\",\"h\":[\"Connect to your partner's server\",\"Have Dropday set up the EDIFACT template\",\"What is sent and what isn't\"],\"k\":[\"send edifact orders to supplier\",\"edifact orders file ftp\",\"edifact\",\"Can Dropday send my orders to a trading partner in EDIFACT?\",\"Does Dropday import order responses, despatch advice or invoices?\"],\"b\":\"Send your orders to a trading partner as EDIFACT ORDERS messages: Dropday puts each order as a file in your partner's format on the partner's server, over FTP, FTPS or SFTP. This covers the orders you send, not messages your partner sends back. You send EDIFACT files with the FTP Upload delivery method. Dropday builds the file from a template that follows the format your partner requires, and sets up that template for you. You need a supplier for the trading partner and the partner's server details. 1. On the supplier's page, click Add action and choose FTP Upload. 2. Choose the protocol your partner uses: FTP, FTPS (implicit SSL) or SFTP. Enter the server details and save. 3. In the FTP Upload settings, test the connection, and give your partner the IP addresses Dropday shows there if the server only accepts known addresses. Send orders by FTP, FTPS or SFTP explains these settings and how the file is named. Dropday sets the content, file name and character encoding of the file; you can't change them in your settings. You don't enter a template, message specification or partner identifiers in the dashboard. Dropday builds the template from a sample file you upload, so everything it has to copy into your files, such as the message layout and your partner's identifiers, must be in that sample. 1. Ask your trading partner for a sample EDIFACT ORDERS message that contains their identifiers. 2. Save the sample as a .txt file. The upload only accepts .xml, .csv, .txt and .json files, so an .edi file is rejected. 3. On the supplier's FTP Upload action, click Choose file under Upload sample file and select the sample. Before you send orders to this partner, check that the FTP Upload settings say the file is approved by a Dropday employee. - Orders, one file at a time: when an order comes in with order lines a rule assigns to this partner, Dropday puts one file with those lines on the server, unless you turned on Hold order for review for this supplier. Orders aren't collected into batches or sent at a fixed time. - No messages back: this is outbound only. Dropday doesn't import order responses, despatch advice or invoices from your partner automatically, and doesn't read files from the partner's server. - No test files: FTP Upload doesn't send test orders, and Dropday creates no file for a test order, so your partner receives the first file with a real order. To see a file first, ask Dropday for an example. Next, create a rule that assigns order lines to this trading partner.\"},{\"t\":\"Send orders automatically or after review\",\"u\":\"/guide/automatic-or-reviewed-sending\",\"c\":\"Suppliers\",\"cu\":\"/guide/suppliers\",\"s\":\"Choose for each supplier whether Dropday sends its orders as soon as they come in, or holds them until you approve them.\",\"h\":[\"Decide how each supplier gets its orders\",\"Turn review on or off for a supplier\",\"What happens when you turn review on or off\",\"Approve or decline held orders\",\"Sending at a set time\"],\"k\":[\"hold supplier orders for review\",\"approve orders before sending to supplier\",\"send supplier orders at a set time\",\"Can I check a supplier's orders before Dropday sends them?\",\"Can Dropday send orders to a supplier in batches or at a fixed time?\"],\"b\":\"Choose for each supplier whether Dropday sends its orders as soon as they come in, or holds them until you approve them. - Automatically: when an order comes in, Dropday sends the supplier the order lines assigned to it without waiting for you, through each of its active delivery methods. This is what happens unless you turn on Hold order for review. - After review: with Hold order for review on, Dropday holds the supplier's order lines instead of sending them. Nothing reaches the supplier until you approve. The setting is per supplier. When an order has lines for several suppliers, the lines for suppliers that don't hold orders are sent, and only the lines for a supplier that holds orders wait for you. Either way, a supplier only receives the order lines that your rules assign to it, and a supplier without an active delivery method receives nothing. When you add a supplier under Suppliers, turn on Hold order for review before you save. To change it for a supplier you already added: 1. In the sidebar, click Suppliers. 2. Click View on the supplier. 3. Check or uncheck Hold order for review, then click Save. - When you turn it on: Dropday holds this supplier's order lines instead of sending them. They wait with the status Pending for review until you approve or decline the order. - When you turn it off: order lines that are already held aren't sent. They stay Pending for review until you open the order and click Approve order, or decline it. Orders that come in after that are no longer held: Dropday sends this supplier its order lines through each of its active delivery methods, like any supplier that doesn't hold orders. You approve or decline held orders from the order screen. Approving sends the held order lines through the supplier's delivery methods; declining sends nothing to the supplier. Dropday can't collect a supplier's orders and send them at a fixed time or interval. If you want to choose when orders go out, hold them for review and approve them when it suits you, for example a few times a day. Each approved order is still sent to the supplier separately, not combined with other orders into one file. Next, create a rule that assigns order lines to this supplier.\"},{\"t\":\"Send orders by email\",\"u\":\"/guide/getting-started-with-purchase-orders-by-email\",\"c\":\"Suppliers\",\"cu\":\"/guide/suppliers\",\"s\":\"Set up the email a supplier receives for each order: who gets it, the subject and text, and which files are attached.\",\"h\":[\"Set up the email\",\"Add order details to the subject or body\",\"Attach a packing slip or order file\",\"Send a copy to someone else\",\"Send through your own email account\",\"What your supplier receives\",\"When the email is sent\"],\"k\":[\"send orders to supplier by email\",\"supplier email\",\"supplier order email recipients\",\"How do I send orders to my supplier by email?\",\"Can I send the order email to several addresses?\",\"Can I change what the supplier order email looks like?\"],\"b\":\"Set up the email a supplier receives for each order: who gets it, the subject and text, and which files are attached. You need a supplier first. After you add a supplier and save it, you stay on its page, where you add the email as a delivery method. 1. On the supplier's page, click Add action and choose Send Email. 2. In To, enter the supplier's email address. Separate several addresses with commas. 3. In Send from, keep System email (orders@dropday.io) or choose an email account you connected. 4. Write the subject and the body. 5. Check that the body still contains the order lines placeholder. A new action's body starts with {orderlines:quantity|name}, and Reset default email template puts that default body back. 6. Choose the language of the email. 7. Preview the email. The preview uses your current settings and sample data, and nothing is sent. 8. Save the action. Placeholders fill in order data when the email is sent. In the body, put the cursor where the data should go, then choose an item from one of the menus above the Body field: Order, Order Lines or Other. Its placeholder, in braces, is inserted at the cursor. The table of order lines comes from the Order Lines menu: for example {orderlines:quantity|name} shows the quantity and name of each line, and {orderlines:quantity|name|reference} adds the reference (SKU). The email only shows the order lines if the body contains an {orderlines...} placeholder. The subject has no menu. To use order data there, type the placeholder in braces yourself, the same way it appears in the body. Under Attachments, click Add file and choose the packing slip (the row ending in Packing slip) or one of your order files. The email can carry up to five attachments. Packing slips explains how to set up the packing slip itself. In BCC, enter the addresses that should receive a copy, separated by commas. Whether your supplier sees them depends on how the email is sent: - With System email, the email to your supplier goes only to the To addresses. Each BCC address gets a separate copy with \\\"BCC:\\\" at the start of the subject, so your supplier doesn't see it. - With your own Gmail, SMTP or Brevo account, the BCC addresses are sent as CC on the same email, so your supplier can see them. To keep a copy yourself, add your own address in BCC. From the next order that is sent to this supplier, you get a copy of its order email with the real order data. Without a connected email account, Dropday sends the email through its own mail service. To send it through your Gmail, SMTP or Brevo account instead, connect an email account and choose it in Send from. Your subject and text are placed in Dropday's order email, which has a fixed layout: you can't add a logo, remove the billing address block or change the styling. The email ends with a \\\"sent on behalf of\\\" footer that you can't switch off. When you send through your own email account, it becomes a short \\\"Email sent using Dropday\\\" line. The email also has a personal link to an order page, where your supplier can mark the order as shipped. Dropday doesn't keep a copy of the email that was sent: the order's history shows that it was sent and to which address. Dropday emails each order separately when it comes in, with the order lines your rules assign to this supplier. If the supplier holds orders for review, the email is sent once you approve the order. Test orders are emailed too, with \\\"TEST EMAIL:\\\" at the start of the subject, so a test order reaches this supplier's real address. Test your setup explains how to keep a test to yourself. Next, create a rule that assigns order lines to this supplier, if you haven't yet.\"},{\"t\":\"Send orders by FTP, FTPS or SFTP\",\"u\":\"/guide/getting-started-with-purchase-orders-by-ftp\",\"c\":\"Suppliers\",\"cu\":\"/guide/suppliers\",\"s\":\"Send each order to your supplier as a file on the supplier's server, over FTP, FTPS or SFTP. You connect to the server, and Dropday sets up the file so it follows the format your supplier requires.\",\"h\":[\"Connect to your supplier's server\",\"Have Dropday set up the order file\",\"Check the file before going live\",\"What your supplier receives\",\"If your supplier has special file requirements\",\"Limits\"],\"k\":[\"send orders to supplier ftp\",\"ftp upload\",\"send order file to supplier sftp\",\"supplier order file format\",\"How do I send orders to my supplier's FTP server?\",\"Who sets up the order file my supplier receives?\",\"Can Dropday send orders to a supplier in batches?\"],\"b\":\"Send each order to your supplier as a file on the supplier's server, over FTP, FTPS or SFTP. You connect to the server, and Dropday sets up the file so it follows the format your supplier requires. You need a supplier, the server details your supplier gives you, and a sample of the order file your supplier expects. 1. On the supplier's page, click Add action and choose FTP Upload. 2. Choose the protocol your supplier uses: FTP, FTPS (implicit SSL) or SFTP. 3. Enter your supplier's server details and save. 4. In the FTP Upload settings, test the connection. Dropday writes a test file to the server. 5. If your supplier's server only accepts known addresses, give your supplier the IP addresses Dropday shows there. You don't design the file yourself: Dropday sets its content, file type, file name and character encoding, and you can't change them in your settings. 1. In the FTP Upload settings, click Choose file under Upload sample file and upload a sample of the order file your supplier expects. It must be an .xml, .csv, .txt or .json file. Dropday takes the file type from its extension, and Dropday support is notified. Make sure the sample contains everything your files need, such as the layout and your supplier's fixed values: Dropday builds the template from it. 2. Before you send orders to this supplier, check that the settings say the file is approved by a Dropday employee. Until then, they say it's waiting for approval. The file can be XML, CSV, TXT or JSON, in the character encoding your supplier needs. It can follow almost any layout a supplier prescribes, such as a pipe- or tab-delimited file with many fixed fields and a header or trailer line with totals. FTP Upload doesn't send test orders, and Dropday creates no order file for a test order, so your supplier receives the first file with a real order. To see a file first, ask Dropday for an example. To receive a real file yourself, add a separate test supplier with the same file template and your own FTP server, and place a real order for it: the file then arrives on your server, not at the real supplier. When an order comes in with order lines a rule assigns to this supplier, this connection puts one file on the server with that order's lines for this supplier. If you turned on Hold order for review for the supplier, the file is sent once you approve the order. Each order is sent separately as it arrives: Dropday doesn't collect orders into batches or send them at a fixed time. By default the file is named after the order number. If a file with the same name is already on the server, Dropday replaces it. - Two files per order (for example a header file and a lines file): add two FTP Upload actions to the same supplier. The two files share no sequence number, and one can arrive while the other doesn't. - A sequence number in the file name: this isn't possible. The file name can use the order number, which is unique but not consecutive per supplier, or the date and time. - EDIFACT: to send orders as EDIFACT ORDERS messages, follow Send EDIFACT order files. - A CSV file attached to an email: you set that up yourself as an order file, where you choose the columns. FTP Upload only sends files to your supplier. Dropday doesn't read or collect files from your supplier's server. Next, create a rule that assigns order lines to this supplier.\"},{\"t\":\"Send orders to a supplier's API\",\"u\":\"/guide/send-orders-by-api\",\"c\":\"Suppliers\",\"cu\":\"/guide/suppliers\",\"s\":\"Send orders straight into a supplier's own system with an API Call. You define the request, Dropday fills it with the order data and reads the supplier's response to see whether the order was accepted.\",\"h\":[\"Add an API call\",\"Put order data in the request\",\"Send a call per order or per product\",\"Example: send an order with its order lines\",\"Example: get a token first, then send the order\",\"Result\",\"Good to know\"],\"k\":[\"send orders to supplier api\",\"api call supplier\",\"supplier api authentication token\",\"How do I send orders to my supplier's API?\",\"Can Dropday first get a token and then send the order?\",\"Can I send one API call per product?\"],\"b\":\"Send orders straight into a supplier's own system with an API Call. You define the request, Dropday fills it with the order data and reads the supplier's response to see whether the order was accepted. Dropday has no ready-made integrations with specific supplier systems. An API Call works with any system that can receive orders through a JSON API, so you need the supplier's API documentation: the address to send orders to, how the API checks your access (for example an API key) and the message it expects. You also need a supplier in Dropday. An API Call sends orders from Dropday to your supplier. It isn't the Dropday API, which works the other way round: your webshop or own system uses it to send orders to Dropday. 1. On the supplier's page, click Add action and choose API Call. 2. Choose the HTTP method the supplier's API expects (POST, GET or PUT) and enter its address in Host. Dropday accepts both http and https addresses, so whether the order is encrypted on its way to the supplier depends on the address you enter. 3. In Headers, add the headers the supplier's API needs, one per line, for example Authorization: Bearer YOURAPIKEY. 4. In Body, write the JSON the supplier's API expects, with placeholders for the order data (see below). Dropday has no fixed structure for it: the body must result in valid JSON (an object or an array), or the call fails and nothing is sent. Include every order detail the supplier needs yourself, including extra fields such as personalisation. 5. If the supplier's API answers with a value that confirms the order, enter the key and value in its JSON response that mean success. You can also save a message from the response in the order line log. 6. Test the call, then save. Placeholders are written in double braces, such as {{ order.reference }}, and work the same way in Host, Headers and Body. These order placeholders are available: - the order: order.externalid, order.reference, order.createdat and order.comment; - the customer: order.companyname, order.firstname, order.lastname, order.email and order.phone; - shipping: order.shippingname, order.shippingdescription, order.shippingcost, order.shippingnote and order.shippingdeliverydate; - the address: order.address1, order.address2, order.city, order.postcode, order.country, order.countryiso and order.state; - your own order fields: order.custom.<name, with the name of the field in place of <name. In a call that runs once per order, the order line fields are available inside a loop over the order lines, between {% for line in orderLines %} and {% endfor %}: line.quantity, line.name, line.reference, line.ean13, line.price, line.purchaseprice, line.brand, line.category, line.imageurl, line.weight, line.height, line.width, line.length, and your own line fields as line.custom.<name. An API call runs once per order or once per product, and you can give it a condition: when the condition isn't met, Dropday skips the call and logs it as skipped. - Call once per order: one call carries all order lines of this supplier. Write the lines in a loop, as in the first example below. - Call once per product in order: the call runs once for each order line. In each call, the current line is available as line, for example {{ line.reference }} and {{ line.quantity }}, and also line.id, line.externalid and line.supplier. No loop is needed. This example is illustrative and not directly usable: the address and the field names in the body are made up. Take the method, address, headers and fields from your supplier's API documentation. The call sends one order to the supplier: the order reference, the shipping address, the customer's note and a list of the order lines. Choose Call once per order, set the method to POST and Host to the supplier's order address, here https://api.example-supplier.com/v1/orders. In Headers, replace YOURAPIKEY with the key your supplier gave you: In Body, Dropday replaces each placeholder with the order's data when it sends the call. Between\"},{\"t\":\"An order line was not sent to a supplier\",\"u\":\"/guide/line-not-sent\",\"c\":\"Troubleshooting\",\"cu\":\"/guide/troubleshooting\",\"s\":\"Find out why an order line didn't reach a supplier, and what you can do about it.\",\"h\":[\"Common causes\",\"What you can do\"],\"k\":[\"order line not sent to supplier\",\"Why was an order line not sent to my supplier?\",\"Can I apply a new rule to an order that already arrived?\"],\"b\":\"Find out why an order line didn't reach a supplier, and what you can do about it. An order came in, but one of its order lines didn't reach a supplier. To see why, go to Orders, open the order and expand the product: Rule and Supplier show what Dropday did with that line. - No rule: the order line matched none of your rules, so it isn't sent to any supplier. - The supplier holds orders for review: the line waits until you approve it. - The supplier has no active delivery method: Dropday skips that supplier. - The order is blocked: it arrived while your account had no active subscription or trial and wasn't billed through Shopify, so nothing was sent. - Held for review: approve the order to send it through the supplier's delivery methods. - No active delivery method: add a delivery method to the supplier so that future orders are sent. The order line that was skipped can't be sent to the supplier afterwards: adding a delivery method doesn't send it, and resending isn't available for it. - Blocked: once your subscription is active again, process the order from the dashboard. Dropday then runs your rules and sends it. - No rule: add or change a rule so that future orders match. Dropday doesn't apply rules again to an order line that already arrived, and resending the order to a supplier only resends the lines already assigned to it. To still send that line, the order has to be deleted through the Dropday API and sent to Dropday again. It then comes in as a new order and all its order lines are processed again, including lines that were already sent, so a supplier may receive them twice.\"},{\"t\":\"Connect another platform through the API\",\"u\":\"/guide/build-your-own-connection-with-our-api\",\"c\":\"Webshop connections\",\"cu\":\"/guide/webshop-connections\",\"s\":\"If your platform has no Dropday plugin or app, send its orders to Dropday through the Dropday order API.\",\"h\":[\"What you need\",\"Send an order\",\"Example: an order request\",\"Example: add a delivery date\",\"Example: the same order twice\",\"Test before going live\",\"Check that orders come in\",\"Bring in existing orders\",\"Good to know\"],\"k\":[\"api orders\",\"order api\",\"send orders to dropday api\",\"bigcommerce lightspeed squarespace\",\"How do I send orders to Dropday without a plugin?\",\"Which fields does an order need in the Dropday API?\",\"Where is the Dropday API documentation?\"],\"b\":\"If your platform has no Dropday plugin or app, send its orders to Dropday through the Dropday order API. For BigCommerce, Lightspeed and Squarespace, the platform chooser under Store Integration tells you to use the Dropday API. Any system that can forward orders, such as your own script, an order management system or a connector tool, can create orders in Dropday this way. It takes technical work on your side. This is the Dropday API, through which orders come into Dropday. It isn't the API Call delivery method, which sends orders from Dropday to a supplier. The Dropday API documentation is the technical reference. Its pages Authentication and POST orders cover the connection and the order request in full. Your API key and your Account ID. To find them, go to Store Integration and choose the DropdayAPI tile on the screen Choose your e-commerce platform. Under Developers information, that page lists API-key and Account-ID, each with a Copy button. You create an order with a POST request to https://dropday.io/api/v1/orders. Every request needs the headers api-key with your API key and account-id with your Account ID, and the header Content-Type: application/json. Every product in the request becomes an order line of the new order. The optional fields are in POST orders in the API documentation. This example is illustrative: the order data is made up. Replace YOURAPIKEY and YOURACCOUNTID with your own values, and the order data with your order's. The request line and headers: The body below holds the fields Dropday checks on every order: externalid, source, total, a shippingaddress with firstname, lastname, address1, postcode and city, and at least one product with externalid, name, quantity and price. The example also gives the shipping country as countryiso, a valid two-letter code in capitals such as NL; Dropday then fills in the country name. You can send country with the country name instead. Dropday accepts an order without a country too, but a shipping address normally needs one. externalid is your order's own number, and source can be any value, for example manual. When Dropday accepts the request, it creates the order, here with one order line, and the order follows your rules and is sent to the supplier like any other order. A delivery date goes in shipping.deliverydate, in the format DD-MM-YYYY. Add it to the body of the first example, with your own date: If you send an order with an externalid that already exists in your account, Dropday rejects it with HTTP status 422 and doesn't create a second order. Orders and products can also carry your own fields with simple values, and products can carry labels. You can use the custom fields in supplier emails and files. When an order comes in, your rules choose the supplier for each order line, and Dropday sends the lines through that supplier's active delivery methods. An order line was not sent to a supplier explains when a line isn't sent, for example because the supplier holds orders for review. For a trial on real orders, send them as test orders through the API rather than through your webshop. To send a test order, add \\\"test\\\": true to the order body, at the top level next to externalid and source. Without it, the order isn't a test order. Add it to the body of the first example: Test orders are still emailed to suppliers, with \\\"TEST EMAIL:\\\" at the start of the subject. FTP Upload and API Call don't place test orders at the supplier. Orders are also processed as test orders while your account's billing details are incomplete. After sending an order, open Orders in Dropday and check that it's in the list. Dropday has no button or CSV upload for older or bulk orders. Through the API, a developer or script can add existing orders one at a time. For Magento and Wix, and for large batches on any platform, this is the only route. - The Dropday API allows 60 requests per minute. The limit counts per IP address, not per account. - For Laravel, the official package dropday-io/l\"},{\"t\":\"Connect Magento\",\"u\":\"/guide/connect-your-magento-store\",\"c\":\"Webshop connections\",\"cu\":\"/guide/webshop-connections\",\"s\":\"Install the Dropday extension for Magento with Composer and configure it with your Account ID and API key.\",\"h\":[\"Install the extension\",\"Connect your account\",\"When orders reach Dropday\",\"Test, then go live\",\"Check that orders come in\"],\"k\":[\"magento\",\"magento extension\",\"magento send orders to supplier\",\"How do I install the Dropday extension for Magento?\",\"Does Magento send unpaid orders to Dropday?\",\"How do I see whether a Magento order reached Dropday?\"],\"b\":\"Install the Dropday extension for Magento with Composer and configure it with your Account ID and API key. 1. In the Dropday dashboard sidebar, click Store Integration, then Magento. 2. Install the extension with Composer, as that page describes. The package is dropday-io/module-orderautomation. 1. On the Magento page under Store Integration, copy your API key and your Account ID from the setup steps. The Account ID has a copy button. 2. In Magento, go to Stores Configuration Dropday Order Automation. 3. Turn the extension on and enter the Account ID and the API key. The extension sends an order to Dropday as soon as it's placed, whatever its payment status, when the extension is on and the Account ID and API key are filled in. There's no setting to send orders only once they're paid. The order normally appears in Dropday within seconds to a minute. The extension only sends newly placed orders. An order placed before you connected the store can only come in through the Dropday API. While Test Mode is on, the extension sends orders to Dropday as test orders. Test orders are still emailed to suppliers, with \\\"TEST EMAIL:\\\" at the start of the subject. FTP Upload and API Call don't place test orders at the supplier. To go live, turn Test Mode off. Orders are also processed as test orders while your account's billing details are incomplete. Test your setup before going live explains how to check what your suppliers receive. In Magento, the order's history shows whether sending to Dropday succeeded; after sending, Dropday's reference is stored on the order and an order comment is added. In Dropday, the order is in the list under Orders. A failed send isn't retried automatically, and there's no button to retry it. Next, add a supplier.\"},{\"t\":\"Connect PrestaShop\",\"u\":\"/guide/connect-your-prestashop-store\",\"c\":\"Webshop connections\",\"cu\":\"/guide/webshop-connections\",\"s\":\"Install the Dropday module for PrestaShop and connect it to your Dropday account with your Account ID and API key.\",\"h\":[\"Install the module\",\"Connect your account\",\"When orders reach Dropday\",\"Test, then go live\",\"Check that orders come in\"],\"k\":[\"prestashop\",\"prestashop module\",\"prestashop send orders to supplier\",\"How do I install the Dropday module for PrestaShop?\",\"Which order statuses send a PrestaShop order to Dropday?\"],\"b\":\"Install the Dropday module for PrestaShop and connect it to your Dropday account with your Account ID and API key. 1. In the Dropday dashboard sidebar, click Store Integration, then PrestaShop. 2. Download the module from that page. 3. Install the module in PrestaShop. 1. On the PrestaShop page under Store Integration, copy your API key and your Account ID from the setup steps. The Account ID has a copy button. 2. Open the module's configuration page in PrestaShop and enter the Account ID and the API key. 3. In the same configuration, choose when an order is sent to Dropday. With Default behaviour, an order is sent when its new status counts as paid. To use other statuses, select them: an order is then sent only when it reaches one of the selected statuses. The module sends an order to Dropday when the order's status changes to one that triggers sending: a paid status under Default behaviour, or one of the statuses you selected. Once you select statuses, a paid status that isn't in your selection doesn't send the order. The order normally appears in Dropday within seconds to a minute. To send an order again, change its status to one that triggers sending. This can also bring in an order that was placed before you connected the store. Dropday refuses an order it already has. While live mode is off, the module sends orders to Dropday as test orders. Test orders are still emailed to suppliers, with \\\"TEST EMAIL:\\\" at the start of the subject. FTP Upload and API Call don't place test orders at the supplier. To go live, turn on live mode in the module's configuration. Orders are also processed as test orders while your account's billing details are incomplete. Test your setup before going live explains how to check what your suppliers receive. After an order in your store reaches a status that triggers sending, open Orders in Dropday and check that the order is in the list. Next, add a supplier.\"},{\"t\":\"Connect Shopify\",\"u\":\"/guide/connect-your-shopify-store\",\"c\":\"Webshop connections\",\"cu\":\"/guide/webshop-connections\",\"s\":\"Install the Dropday app from the Shopify App Store to send your Shopify orders to Dropday.\",\"h\":[\"Install the app\",\"When orders reach Dropday\",\"Test before your store goes live\",\"Check that orders come in\",\"If you uninstall the app\"],\"k\":[\"shopify\",\"install dropday shopify app\",\"connect shopify store to dropday\",\"How do I install the Dropday app on Shopify?\",\"Can I link my Shopify store to an existing Dropday account?\",\"When does a Shopify order reach Dropday?\"],\"b\":\"Install the Dropday app from the Shopify App Store to send your Shopify orders to Dropday. 1. Open the Dropday app in the Shopify App Store. In Dropday, choosing Shopify under Store Integration takes you there when no Shopify store is connected yet. 2. Install the app on your store. The installation starts in Shopify. 3. Link the store to a Dropday account: - You don't have a Dropday account yet: Dropday asks for your store's details and creates your account. Shopify then shows its plan selection, and you go on to the Dropday dashboard. - You already have a Dropday account: log in with your Dropday email address and password. A Dropday account has one Shopify store, and a Shopify store is connected to one Dropday account at a time. The app sends an order to Dropday as soon as Shopify creates it. The order normally appears in Dropday within seconds to a minute. After that, the app sends the order again on every change you make to it in Shopify, such as a note or a tag, even when the order isn't paid. Dropday treats each of these as a new order, and recognises an order by its order number: - Dropday already has the order: Dropday refuses it. A change or cancellation in Shopify doesn't update the order in Dropday, and an order that was already sent to a supplier isn't changed or stopped. - Dropday doesn't have the order yet, for example because it was placed before you connected the store: the order comes in as a new order. You can install and use Dropday on a Shopify development store, so you can set everything up and test before your store goes live. When an order comes in, your rules choose the supplier for each order line, and Dropday sends the lines through that supplier's active delivery methods. An order line was not sent to a supplier explains when a line isn't sent, for example because the supplier holds orders for review. Test your setup before going live explains what your suppliers receive from a test order. After an order is created in your store, open Orders in Dropday and check that it's in the list. Uninstalling the app disconnects the store in Dropday. Your data is kept, and installing the app again links the same Dropday account. Next, add a supplier.\"},{\"t\":\"Connect Shopware\",\"u\":\"/guide/connect-your-shopware-store\",\"c\":\"Webshop connections\",\"cu\":\"/guide/webshop-connections\",\"s\":\"Install the Dropday plugin for Shopware, connect it to your Dropday account, and create a flow in Shopware's Flow Builder that sends orders to Dropday.\",\"h\":[\"Install the plugin\",\"Connect your account\",\"Create the flow that sends orders\",\"When orders reach Dropday\",\"Test, then go live\",\"Check that orders come in\"],\"k\":[\"shopware\",\"shopware plugin\",\"shopware flow builder send order\",\"How do I install the Dropday plugin for Shopware?\",\"Why does Shopware not send orders to Dropday after installing the plugin?\"],\"b\":\"Install the Dropday plugin for Shopware, connect it to your Dropday account, and create a flow in Shopware's Flow Builder that sends orders to Dropday. 1. In the Dropday dashboard sidebar, click Store Integration, then Shopware. That page links to the plugin on GitHub. 2. Install the plugin in Shopware. 1. On the Shopware page under Store Integration, copy your API key from the setup steps. 2. Copy your Account ID as well. It's in the setup steps of the WooCommerce page under Store Integration, with a copy button, and it's the same on every platform page. 3. In the Shopware admin, go to Settings System Plugins Dropday. 4. Enter the Account ID in Account ID and the API key in API key. Leave API base URL as it is: it's already filled in, and you only change it when Dropday support asks you to. You can set these details for all sales channels, or override them for one sales channel. The plugin doesn't add a flow of its own. Until you create one, Shopware sends no orders to Dropday. 1. In Shopware, go to Settings Shop Flow Builder and create a flow on the event that should send an order, for example when an order is paid. 2. Add the action Send order to Dropday to the flow. The plugin's README on GitHub describes this setup and gives two commonly used triggers: Order transaction state changed → Paid and Order state changed → Done. An order is sent when the event of your flow happens, so how quickly it reaches Dropday depends on that event. To send an order again, make that event happen again, for example with a status change if your flow reacts to it. An order that reaches the state your flow reacts to is also sent when it was placed before you connected the store. Dropday refuses an order it already has. Live mode starts off. While it's off, the plugin still sends orders, but Dropday treats them as test orders. Test orders are still emailed to suppliers, with \\\"TEST EMAIL:\\\" at the start of the subject. FTP Upload and API Call don't place test orders at the supplier. To go live, turn on Live mode in the plugin's settings. Orders are also processed as test orders while your account's billing details are incomplete. Test your setup before going live explains how to check what your suppliers receive. After an order in your store triggers your flow, open Orders in Dropday and check that the order is in the list. Next, add a supplier.\"},{\"t\":\"Connect Wix\",\"u\":\"/guide/connect-your-wix-store\",\"c\":\"Webshop connections\",\"cu\":\"/guide/webshop-connections\",\"s\":\"Install the Dropday app from the Wix App Market and connect it to your Dropday account with your API key and Account ID.\",\"h\":[\"Install the app\",\"Connect your account\",\"When orders reach Dropday\",\"No test mode\",\"Check that orders come in\"],\"k\":[\"wix\",\"wix app\",\"wix send orders to supplier\",\"How do I connect my Wix store to Dropday?\",\"Can I test the Dropday Wix app before going live?\"],\"b\":\"Install the Dropday app from the Wix App Market and connect it to your Dropday account with your API key and Account ID. 1. In the Dropday dashboard sidebar, click Store Integration, then Wix. That page links to the Dropday app in the Wix App Market. 2. Install the app on your Wix site from the Wix App Market. 1. On the Wix page under Store Integration, copy your API key and your Account ID from the setup steps. The Account ID has a copy button. 2. In your Wix dashboard, open the Dropday app's settings page and connect your API key and Account ID. You can also disconnect them there. While no Dropday account is connected, the app doesn't forward orders. The app sends an order to Dropday as soon as Wix creates it, and skips an order it already sent. The order normally appears in Dropday within seconds to a minute. If sending an order fails, it can't be resent from the app. The app only sends newly placed orders. An order placed before you connected the store can only come in through the Dropday API. The Wix app has no test mode. While your account is connected, every order Wix creates is sent to Dropday. When an order comes in, your rules choose the supplier for each order line, and Dropday sends the lines through that supplier's active delivery methods. An order line was not sent to a supplier explains when a line isn't sent, for example because the supplier holds orders for review. After an order is placed in your Wix store, open Orders in Dropday and check that the order is in the list. Next, add a supplier.\"},{\"t\":\"Connect WooCommerce\",\"u\":\"/guide/connect-your-woocommerce-store\",\"c\":\"Webshop connections\",\"cu\":\"/guide/webshop-connections\",\"s\":\"Install the Dropday plugin for WooCommerce and connect it to your Dropday account with your API key and Account ID.\",\"h\":[\"Install the plugin\",\"Connect your account\",\"When orders reach Dropday\",\"Test, then go live\",\"Check that orders come in\",\"Optional: send extra product data\"],\"k\":[\"woocommerce\",\"woocommerce plugin\",\"woocommerce send orders to supplier\",\"How do I install the Dropday plugin for WooCommerce?\",\"When does WooCommerce send an order to Dropday?\",\"Why did an unpaid WooCommerce order not reach Dropday?\"],\"b\":\"Install the Dropday plugin for WooCommerce and connect it to your Dropday account with your API key and Account ID. 1. In the Dropday dashboard sidebar, click Store Integration, then WooCommerce. 2. Download the plugin from that page. 3. Install the plugin in your WordPress site. 1. On the WooCommerce page under Store Integration, copy your API key and your Account ID from the setup steps. The Account ID has a copy button. 2. Open the plugin's settings page in WordPress and enter the API key and the Account ID. The plugin sends an order to Dropday on a status change once the order is paid, so an unpaid order arrives only once it's paid. The order normally appears in Dropday within seconds to a minute. A paid order is sent on any status change, for example to On hold and back to Processing. This can also bring in an order that was placed before you connected the store. Dropday refuses an order it already has, so this doesn't create a duplicate. While live mode is off, the plugin sends orders to Dropday as test orders. Test orders are still emailed to suppliers, with \\\"TEST EMAIL:\\\" at the start of the subject. FTP Upload and API Call don't place test orders at the supplier. To go live, turn on live mode in the plugin's settings. Orders are also processed as test orders while your account's billing details are incomplete. Test your setup before going live explains how to check what your suppliers receive. After an order in your store is paid, open Orders in Dropday and check that the order is in the list. The plugin settings also have order meta options: a whitelist of product meta fields, a purchase price meta and a delivery date meta. The plugin sends the product meta fields you list, for example a supplier code, with every order. Next, add a supplier.\"},{\"t\":\"Connect your webshop\",\"u\":\"/guide/connect-your-webshop\",\"c\":\"Webshop connections\",\"cu\":\"/guide/webshop-connections\",\"s\":\"Connect your webshop so its orders reach Dropday. Dropday shows the setup instructions for each platform under Store Integration.\",\"h\":[\"Platform notes\",\"Result\"],\"k\":[\"connect webshop to dropday\",\"integrations\",\"api key plugin\",\"How do I connect my webshop to Dropday?\",\"Where do I find my API key?\",\"How quickly do orders reach Dropday?\"],\"b\":\"Connect your webshop so its orders reach Dropday. Dropday shows the setup instructions for each platform under Store Integration. 1. In the dashboard sidebar, click Store Integration and choose your platform. 2. Follow the setup steps for that platform. 3. For WooCommerce, PrestaShop, Wix and Magento, copy your API key and Account ID from the setup steps into the plugin or app. The Account ID has a copy button. - Shopify: choosing Shopify under Store Integration takes you to the Dropday app in the Shopify App Store. - WooCommerce and PrestaShop: download the plugin or module from the platform's page under Store Integration. - Wix: install the Dropday app from the Wix App Market. The Wix app has no test mode. - Magento: install the extension with Composer, as described on the platform's page under Store Integration. - Shopware: get the plugin from GitHub; the platform's page under Store Integration links to it. The plugin has no flow of its own, so create one in Shopware's Flow Builder that runs Send order to Dropday, for example when an order is paid. - BigCommerce, Lightspeed or Squarespace: there's no Dropday plugin, so you send orders through the Dropday API. New orders appear in your order list, usually within a minute. When your webshop sends an order depends on the platform: WooCommerce, for example, sends it once it's paid, and Shopware when your flow runs. How orders reach Dropday explains what triggers sending on each platform. The WooCommerce, PrestaShop and Shopware plugins send test orders while live mode is off, and the Magento extension while Test Mode is on. Next, add a supplier. If you run more than one webshop, give each its own Dropday account.\"},{\"t\":\"How orders reach Dropday\",\"u\":\"/guide/how-orders-reach-dropday\",\"c\":\"Webshop connections\",\"cu\":\"/guide/webshop-connections\",\"s\":\"Learn when your webshop sends an order to Dropday, and what Dropday does with duplicates, changes and orders placed before you connected.\",\"h\":[\"When an order is sent\",\"What happens next\",\"Each order comes in once\",\"Orders placed before you connected\",\"Orders from marketplaces and other sales channels\"],\"k\":[\"how do orders get into dropday\",\"order import\",\"order not received\",\"existing orders\",\"How quickly does an order reach Dropday?\",\"Does Dropday pick up changes or cancellations of an order?\",\"Can I import orders that were placed before I connected my webshop?\",\"Can Dropday process orders from marketplaces?\"],\"b\":\"Learn when your webshop sends an order to Dropday, and what Dropday does with duplicates, changes and orders placed before you connected. Orders come into Dropday through the Dropday API, which the webshop plugins and apps use too. You can't create an order by hand in the dashboard. Your webshop sends an order as soon as something happens in it; Dropday doesn't check for new orders on a schedule. An order normally appears in Dropday within seconds to a minute. What triggers sending differs per platform: - Shopify: when Shopify creates the order. After that, every change to the order, such as a note or a tag, sends it again, even when it isn't paid. - WooCommerce: on a status change once the order is paid. - PrestaShop: on a status change. With Default behaviour, that's a change to a status that counts as paid. Once you select statuses in the module's configuration, only those statuses send the order. - Magento: when the order is placed, whatever its payment status. - Shopware: when the event of the Flow Builder flow you created happens, for example a payment. - Wix: when Wix creates the order. - Dropday API: when your own system sends the order. When an order comes in, your rules choose the supplier for each order line, and Dropday sends the lines through that supplier's active delivery methods. A line isn't sent when it matches no rule, when its supplier holds orders for review or has no active delivery method, or when the order arrived while your account had no active subscription or trial. An order line was not sent to a supplier explains each case and what you can do. A test order is handled differently: it's still emailed to suppliers, with \\\"TEST EMAIL:\\\" at the start of the subject, but FTP Upload and API Call don't place it at the supplier. Dropday recognises an order by its order number and takes in each order once. When an order arrives with a number Dropday already has, Dropday refuses it. This applies to the whole account: if two webshops in one account have an order with the same order number, Dropday refuses the second one and it isn't sent to the supplier. Because Dropday accepts each order once, it ignores later changes: a change or cancellation in your webshop doesn't update the order in Dropday. Items that a post-purchase app adds to an existing order don't reach Dropday either, while an upsell that the app places as a separate new order comes in like any other order. In Shopify, the app sends the order again on each change, and Dropday refuses it because it already has the order. An order that was already sent to a supplier isn't changed or stopped. Dropday has no button to import an order again, and no CSV upload for older or bulk orders. Whether an existing order can still come in depends on the platform: - Shopify: any change to the order, such as a note or a tag, sends it. - WooCommerce: a paid order is sent on any status change. - PrestaShop: the order is sent when its status changes to one that triggers sending. - Shopware: the order is sent when it reaches the state your flow reacts to. - Magento and Wix: only newly placed orders are sent, so an existing order can only come in through the Dropday API. For large batches, on any platform, the Dropday API is the only route: a developer or script can add the orders one at a time. Dropday has no native integrations with marketplaces or social sales channels. The Shopify app forwards every order Shopify creates, whatever the sales channel. Whether a channel creates an ordinary Shopify order depends on that channel's connection to Shopify, which is outside Dropday. Dropday doesn't record which channel an order came from. For a channel that doesn't run through your webshop, a system that can forward orders can create them through the Dropday API. To set up your platform, start from Connect your webshop.\"}];const INDEX_SOURCE=\"website-content b8b7a046e4ee6207c471154573ce0374203dd949\";const norm=s=>s.toLowerCase().normalize(\"NFD\").replace(/[̀-ͯ]/g,\"\").replace(/[^a-z0-9]+/g,\" \").trim();const words=s=>norm(s).split(\" \").filter(Boolean);const PREPARED=INDEX.map(e=>({e,title:words(e.t),keys:words(e.k.join(\" \")),heads:words(e.h.join(\" \")),summary:words(e.s),cat:words(e.c),body:words(e.b)}));// One edit (insert, delete, substitute or swap) between a query word and a document word.\nfunction closeEnough(q,w){if(Math.abs(q.length-w.length)>1)return false;let i=0,j=0,edits=0;while(i<q.length&&j<w.length){if(q[i]===w[j]){i++;j++;continue;}if(++edits>1)return false;if(q[i+1]===w[j]&&q[i]===w[j+1]){i+=2;j+=2;continue;}if(q.length>w.length)i++;else if(q.length<w.length)j++;else{i++;j++;}}return edits+(q.length-i)+(w.length-j)<=1;}function fieldScore(token,list,last){let best=0;for(const w of list){if(w===token)return 3;if(w.startsWith(token)&&(last||token.length>=3))best=Math.max(best,2);else if(token.length>=5&&closeEnough(token,w))best=Math.max(best,1);}return best;}function search(query,preferCategory){const tokens=words(query);if(!tokens.length)return[];const weights=[[\"title\",10],[\"keys\",6],[\"heads\",5],[\"summary\",3],[\"cat\",3],[\"body\",1]];const scored=[];for(const p of PREPARED){let total=0;let ok=true;tokens.forEach((tok,idx)=>{const last=idx===tokens.length-1;let s=0;for(const[f,w]of weights)s=Math.max(s,fieldScore(tok,p[f],last)*w);if(!s)ok=false;total+=s;});if(!ok)continue;if(norm(p.e.t).includes(norm(query)))total+=15;if(preferCategory&&p.e.cu===preferCategory)total+=4;scored.push({e:p.e,score:total});}return scored.sort((a,b)=>b.score-a.score).slice(0,8).map(x=>x.e);}function Highlight({text,query,color}){const toks=words(query).filter(t=>t.length>=2);if(!toks.length)return /*#__PURE__*/_jsx(_Fragment,{children:text});const re=new RegExp(`(${toks.map(t=>t.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")).join(\"|\")})`,\"ig\");return /*#__PURE__*/_jsx(_Fragment,{children:text.split(re).map((part,i)=>i%2?/*#__PURE__*/_jsx(\"mark\",{style:{background:\"none\",color,fontWeight:700},children:part},i):part)});}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function GuideSearch(props){const{placeholder,category,contactText,contactLinkText,contactUrl,noResultsText,accent,textColor,mutedColor,maxWidth}=props;const[query,setQuery]=React.useState(\"\");const[active,setActive]=React.useState(-1);const[focused,setFocused]=React.useState(false);const id=React.useId();const results=React.useMemo(()=>search(query,category||\"\"),[query,category]);const open=query.trim().length>0;React.useEffect(()=>setActive(-1),[query]);const onKeyDown=e=>{if(e.key===\"ArrowDown\"){e.preventDefault();setActive(a=>Math.min(a+1,results.length-1));}else if(e.key===\"ArrowUp\"){e.preventDefault();setActive(a=>Math.max(a-1,-1));}else if(e.key===\"Enter\"&&results.length){e.preventDefault();window.location.href=results[Math.max(active,0)].u;}else if(e.key===\"Escape\")setQuery(\"\");};const font=\"Roboto, 'Roboto Placeholder', sans-serif\";const heading=\"'League Spartan', 'League Spartan Placeholder', sans-serif\";return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",display:\"flex\",justifyContent:\"center\",fontFamily:font},children:/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",maxWidth},role:\"search\",children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:12,background:\"#fff\",borderRadius:14,padding:\"0 18px\",height:60,border:`1px solid ${focused?accent:\"rgba(0,0,0,0.12)\"}`,boxShadow:focused?`0 0 0 4px ${accent}22, 0 10px 30px -20px rgba(0,0,0,0.25)`:\"0 10px 30px -20px rgba(0,0,0,0.25)\",transition:\"border-color .15s, box-shadow .15s\"},children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:mutedColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"11\",cy:\"11\",r:\"7\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m20 20-3.5-3.5\"})]}),/*#__PURE__*/_jsx(\"input\",{type:\"text\",inputMode:\"search\",enterKeyHint:\"search\",value:query,onChange:e=>setQuery(e.target.value),onKeyDown:onKeyDown,onFocus:()=>setFocused(true),onBlur:()=>setFocused(false),placeholder:placeholder,\"aria-label\":placeholder,role:\"combobox\",\"aria-expanded\":open,\"aria-controls\":`${id}-list`,\"aria-activedescendant\":active>=0?`${id}-opt-${active}`:undefined,autoComplete:\"off\",style:{flex:1,minWidth:0,border:\"none\",outline:\"none\",background:\"transparent\",fontFamily:font,fontSize:17,color:textColor,height:\"100%\"}}),query&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>setQuery(\"\"),\"aria-label\":\"Clear search\",style:{border:\"none\",background:\"transparent\",cursor:\"pointer\",color:mutedColor,fontSize:20,lineHeight:1,padding:4},children:\"\\xd7\"})]}),open&&/*#__PURE__*/_jsx(\"div\",{id:`${id}-list`,role:\"listbox\",style:{marginTop:10,background:\"#fff\",borderRadius:14,border:\"1px solid rgba(0,0,0,0.08)\",boxShadow:\"0 10px 30px -20px rgba(0,0,0,0.25)\",overflow:\"hidden\",textAlign:\"left\"},children:results.length?results.map((r,i)=>/*#__PURE__*/_jsxs(\"a\",{id:`${id}-opt-${i}`,role:\"option\",\"aria-selected\":i===active,href:r.u,onMouseEnter:()=>setActive(i),style:{display:\"block\",padding:\"14px 20px\",textDecoration:\"none\",borderLeft:`3px solid ${i===active?accent:\"transparent\"}`,background:i===active?`${accent}0d`:\"transparent\",borderTop:i?\"1px solid rgba(0,0,0,0.06)\":\"none\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:heading,fontWeight:600,fontSize:17,lineHeight:1.3,color:textColor},children:/*#__PURE__*/_jsx(Highlight,{text:r.t,query:query,color:accent})}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:14,lineHeight:1.5,color:mutedColor,marginTop:4,overflow:\"hidden\",display:\"-webkit-box\",WebkitLineClamp:2,WebkitBoxOrient:\"vertical\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:accent},children:r.c}),\" \\xb7 \",r.s]})]},r.u)):/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"18px 20px\",fontSize:15,lineHeight:1.5,color:mutedColor},children:[/*#__PURE__*/_jsx(\"div\",{style:{color:textColor},children:noResultsText.replace(\"{query}\",query.trim())}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:4},children:[contactText,\" \",/*#__PURE__*/_jsx(\"a\",{href:contactUrl,style:{color:accent,fontWeight:600,textDecoration:\"none\"},children:contactLinkText})]})]})})]})});}GuideSearch.defaultProps={placeholder:\"Search the guide\",category:\"\",noResultsText:\"No articles found for “{query}”.\",contactText:\"Can't find what you're looking for?\",contactLinkText:\"Contact us\",contactUrl:\"/contact\",accent:\"rgb(0, 123, 255)\",textColor:\"rgb(0, 0, 0)\",mutedColor:\"rgb(91, 94, 118)\",maxWidth:640};addPropertyControls(GuideSearch,{placeholder:{type:ControlType.String,title:\"Placeholder\"},category:{type:ControlType.String,title:\"Prefer category\",description:\"Category page path, e.g. /guide/orders. Its articles rank first. Empty on /guide.\"},noResultsText:{type:ControlType.String,title:\"No results\"},contactText:{type:ControlType.String,title:\"Contact text\"},contactLinkText:{type:ControlType.String,title:\"Contact link\"},contactUrl:{type:ControlType.String,title:\"Contact URL\"},accent:{type:ControlType.Color,title:\"Accent\"},textColor:{type:ControlType.Color,title:\"Text\"},mutedColor:{type:ControlType.Color,title:\"Muted\"},maxWidth:{type:ControlType.Number,title:\"Max width\",min:320,max:1200,step:10}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GuideSearch\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GuideSearch.map"],"mappings":"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"}