BunStackDocs

Shipping

Sendify: live rates, pickup points, labels and tracking

Connect Sendify, test a quote, book on shipping, print labels, follow tracking and set up return labels.

Last updated · 7 min read

Sendify gives live rates, pickup points, booking, labels and tracking with several carriers.

Where: Stack › Sendify. The shipping methods: Settings › Shipping.

Connect

  1. Create an API key in Sendify under Settings › API. Sandbox and production have different keys.
  2. Open Stack › Sendify.
  3. Paste the key into Sandbox API key or Live API key, or both. Under Environment in use, choose which environment to use, and fill in the fields in the table.
  4. Press Connect Sendify.
  5. Add shipping methods with Carrier Sendify under Settings › Shipping. See Shipping methods, delivery countries and prices.

Sandbox and Live each have their own key. When you switch environment the other key stays, so you never have to paste it again.

BunStack stores the keys encrypted and checks each one against its environment. If Sendify accepts a key, the page shows VERIFIED next to Sandbox key or Live key. If Sendify rejects one, BunStack stores it anyway, with UNVERIFIED and "Saved, but Sendify did not accept every key."

SettingWhat it doesDefaultLimits
Environment in useSandbox · test or Live · production. New quotes and bookings go thereSandbox · testThe environment must have a saved key
Sandbox API keyThe sandbox key. Leave empty to keep the stored one–Works against the sandbox only
Live API keyThe production key. Leave empty to keep the stored one–Works against production only
Production base URL overrideAnother address for Live. Otherwise BunStack uses https://app.sendify.se/external/v1EmptyLive only. https on a Sendify domain
System name (shown in Sendify)The name your shipments get in SendifyBunStack–
Label layoutLabel format, see the next table1x2–
Pickup time (Europe/Stockholm)Time the carrier collects12:00–
Pickup lead daysSame business day, Next business day or In two business daysNext business day–
FormatSuits
printerThermal printers, one 4×6 label per page
1x2A4 with two labels
3x1Three labels per sheet
A4One label per A4 sheet

A connected Sendify has the tabs Overview, Settings and Test quote. Change the settings under Settings and press Update connection.

Switching environment

  1. Open Settings.
  2. Choose Sandbox · test or Live · production under Environment in use.
  3. Press Save and switch to Live or Save and switch to Sandbox.

If the environment has no key, BunStack does not switch and shows Live has no API key yet …. Paste the key and save again. Shipments already booked are tracked and get their labels in the environment they were booked in, also after the switch.

To switch every integration at once, use Test mode on Stack. See Test mode.

Test

  • Test connection shows Sendify's answer and a request id. Put the request id in the email if you contact api@sendify.com.
  • Test quote fetches rates for a storefront, a product with a quantity and an address. Parcel override replaces the product with a parcel of your own. Press Run test quote.

The test quote books nothing. It appears on Sendify's import page as QUOTE-<storefront>-<key>.

What happens when

MomentWhat BunStack does
The customer enters the postal codeAsks Sendify for rates for at most 20 seconds. The checkout shows "Getting prices from the carriers…" meanwhile. The method's policy works out the customer's price
The customer picks a pickup-point methodShows pickup points near the postal code with the quoted carrier. If none match, it shows the whole list
You ship the orderBooks the shipment, fetches the label and stores the tracking number and cost on the order
Every 15 minutesFetches tracking for booked shipments

Book on shipping

  1. Open the order and press Fulfill order.
  2. Choose lines and quantities. Press Ship order, or Ship these lines for a partial delivery.

BunStack books with Sendify using the customer's address, the shipping method and the pickup point. The customer gets the email that the order has shipped.

  • BunStack reuses the quote from the checkout when the address is complete and unchanged and the quote has more than 2 minutes left.
  • Otherwise BunStack makes a new quote. It picks the same product, then the same carrier and class, then the cheapest in the class, then the cheapest. The order logs the choice.
  • The pickup point is the one the customer chose. If there is none, BunStack picks the nearest one with the carrier.
  • If BunStack cannot fetch the label, it keeps the booking anyway.

The printer icon on the shipment (Print shipping label) and Shipping labels in the order's actions menu fetch the stored label. If the label is missing, BunStack fetches it from Sendify. You cannot change the format afterwards.

Tracking

  • Every 15 minutes BunStack fetches tracking for shipments booked in the last 21 days.
  • BunStack fetches each shipment at most every 30 minutes. One run fetches at most 50 shipments.
  • BunStack stops fetching a shipment that still shows as booked 5 days after booking. The carrier has not scanned it.
  • Refresh tracking on the order fetches tracking now, even for such a shipment.
  • A delivery sets the delivery date on the order and a line in Timeline. The customer gets no email.

The tracking link is on the order and in the shipped email.

Return labels

Sendify's API books no returns. BunStack therefore books no return label.

  1. Book an ordinary shipment in Sendify's web app. The customer is the sender and the return address the recipient.
  2. Enter the return number as reference, for example R-1001.
  3. Download the PDF.
  4. Press Send return label on the return and upload the PDF.

The customer gets the label as an attachment in an email. DHL's Service Point Return needs the original shipment to have been booked in Sendify. See Returns.

Errors

MessageCauseWhat to do
"Live rates are unavailable right now — standard prices are shown."Sendify did not answer, or the checkout reached a rate limit. The checkout shows the fallback priceIf it persists: press Test connection
Sendify refused the bookingThe address is incomplete, phone or email is missing, or the sender's postal code is missingCorrect it and book again. Nothing was booked
"Sendify did not answer the booking …"Sendify never answered. The booking may have gone throughCheck in Sendify. The next attempt asks Sendify first and does not book a second parcel
The label could not be fetchedThe shipment was booked without a labelPress Print shipping label later
HTTP 401 or 403 in Test connectionThe key is wrong or belongs to the other environmentPaste the right key into the right field: the sandbox key in Sandbox API key, the production key in Live API key

Limits

  • Live rates: 20 calls per minute per IP address and storefront, and 300 per hour per storefront. Stored quotes do not count.
  • Pickup points: 30 searches per minute per IP address, and 300 per hour per storefront.
  • At the limit the checkout shows the fallback price and no pickup points until the time has passed.

Disconnect

Disconnect asks Disconnect Sendify? and then removes both API keys. Live rates, booking and tracking stop, and the checkout shows the fallback prices. Shipping methods, policies and booked shipments stay. Enter the keys again to reconnect.

Go live

The Sendify environment check stops go-live when Sendify is on the sandbox and an active method of the storefront books through Sendify. The sandbox books no real shipments. Switch to Live · production with the production key.

See also