Page tree
Skip to end of metadata
Go to start of metadata

CartonCloud integrates with a number of other software applications.


This page explains various options if you're looking to create a new integration with CartonCloud

Integrations

Inward-Only, One-Way Integration

This is the most common type of integration performed at CartonCloud. In this scenario, CartonCloud will receive files via Email, FTP or be Uploaded which are then "Parsed". The files can be in the clients format. Accepted filetypes are: XLS, XLSX, CSV, TXT and XML.

CartonCloud then creates "Sale Orders", "Consignments" or "Purchase Orders" from the data provided.

The system is considered "one-way" because no data is fed back from the CartonCloud system into the original system that sent the file. If there is an error with the data, the user is notified on-screen, or an email is sent advising them of what happened.

Typical Integration Cost: ($360 → $800)

Tips for keeping costs down:

  1. Send us more than one example of the files you'll be sending (ideally 5-10 so we can test against all of them)
  2. Refer to what fields we have available, here: Parser Fields and send us an explainer document detailing what all the fields are in your file, and where they should go within CartonCloud


Two-Way Integration

In this type of integration, data is passed into CartonCloud for reading / importing, and response messages are provided back to the originating system in a format that system can accept. Typically these would be messages triggered by events such as:

"Order imported successfully"
"Unable to import order (and it then may provide a description of why)"
"Order Packed"
"Order Dispatched"
"Order Delivered"

These messages could be sent via:
Email
FTP (put a file into a hot-folder).
Webservice / API Call

Typical Integration Cost: ($3,000 → $15,000+, depending on complexity).

The reason for the high costs is that in our experience we typically spend a substantial amount of time working with the other software vendors IT team trying to pinpoint specific issues. This time-wasting can also be compounded by delays in responding to queries, or inability to get clear, confirmed information on exactly how a particular service works. Best tips to save money here are to:

  1. Provide CartonCloud developers with up-to-date, detailed specs on the API / Integration endpoints.
  2. Ensure that everything is working from your end, such as FTP servers being tested (including testing that the login provided to us has write privileges in the folder we're uploading to).
  3. Ensure that any servers we're connected to are specified by domain name (ie: ftp.yoursystem.com), rather than IP address (230.29.989.19). The reason for this is that if your server's IP address changes we need to be contacted to make a change at our end to modify the server's hostname - this will cost you money in re-work.
  4. Ensure that technical support staff from the other vendors application are available to run through direct testing. We prefer to work directly with technical people at the other end (rather than having our client act as a man-in-the-middle), however if we cannot get the support we need from the other side, the time and cost will blow out.

Two-way Integrations are notoriously difficult to estimate in terms of cost, we will typically provide a ball-park given similar integrations we've done in the past, however all integrations of this nature will be charged on an hourly basis as there are so many factors affecting the project that are outside of CartonCloud's direct control.


Outward-Only, One-Way Integration

Example of an outward-only integration would be sending a file to a remote server upon completion of an order.
These integrations are typically more costly than Inward-Only integrations as, like two-way integrations, we typically end up spending a large amount of time working with the other software vendors IT team trying to pinpoint specific issues.

Typical Integration Cost: ($1,500 → $15,000+, depending on complexity).
Outward-Only Integrations are notoriously difficult to estimate in terms of cost, we will typically provide a ball-park given similar integrations we've done in the past, however all integrations of this nature will be charged on an hourly basis as there are so many factors affecting the project that are outside of CartonCloud's direct control.


Planning / Designing an Integration

There are a large number of considerations to be taken into account when planning an integration or approaching us for a quote. It's much easier for us to provide an accurate quote for a particular integration if you can supply a very clear explanation of how you see the End-To-End solution working. This process map should take into account the following considerations:

ConsiderationDirectionPossible Options
How will data get into CartonCloud?Data going Into CartonCloud

When importing data into CartonCloud, how will the data be transferred into the CartonCloud system?


EmailNo additional cost, this functionality is already implemented
Upload via WebsiteNo additional cost, this functionality is already implemented
API

If you want to integrate to our Legacy, then there won't be any additional costs as this functionality is provided out of the box.

However, if you need CartonCloud to connect to your API to pull data, we would need to scope this project in itself. If your API is well-documented, and you have technical support people who can assist with queries then the time / cost would drop significantly. Other factors to take into account are how you want to be notified should there be an outage between CartonCloud and your API, or how to handle things such as authorisation issues (your server denies our request).

FTP

If the file can be uploaded into CartonCloud's FTP Server, then no additional cost as we can simply use a File Processors and FTP Directory, FTP Structure to scan the folder and import the file.

However, if you need the file pulled from your server, this will incur some additional costs as we'll need to handle polling that server and transferring the file to a local destination. Also to consider, if you need failure notification on events such as CartonCloud being unable to access the external server, there would be additional development work / cost. (ie: email webmaster@mycompany.com whenever an error is encountered).

Do order updates / cancellations need to be automatically handled in CartonCloud?Data going Into CartonCloud

Say for example you have sent an order to CartonCloud, then the client wants to add another two products to that order, do you need the ability to be able to resubmit the same order to CartonCloud and have it update? Or can this be handled manually when it arises?

If this kind of functionality is required then it may result in additional development fees as we would need to understand the flow of the data, and how to handle this situation arising.

What response is required on successful / unsuccessful import of data into CartonCloud?Data going Into CartonCloud

Upon CartonCloud receiving a file for import, how should the response to that import be provided?


Send an email back explaining the errorNo additional cost, this functionality is already implemented
Send a specific response file back, which can be read by the originating system

This would be additional development work to determine where the file needs to be sent, what the format of the message should be in and then testing.

In addition there should be consideration around the specific types of messages for various errors that arise. For example, if your software requires a different error message to be returned in the event of "not enough stock", as opposed to "product SKU doesn't exist", then multiple messages may need to be crafted.

Does the integration require special logic, or user-interfaces that don't currently exist?Handling the integration within CartonCloud

If you need to have a special button, or fields in which people can record information related specifically to the integration, then the costs can escalate very quickly. If we need to adapt core CartonCloud functionality in order to cater to the integration, we need to consider how this will affect our application going forward, and ensure that we can maintain compatibility with this integration as our system evolves and changes.

Due to this ongoing "compatibility", there are often limitations here to what we're willing to implement into CartonCloud - however these options would be discussed as part of the planning / scoping exercise.

How will data get out of CartonCloud?Data going Out of CartonCloud

If we're integrating back into your systems, how does the data need to be transferred, and in what format?

Examples are things such as:
"Upon completion of packing a Sale Order, we need a file containing the following data to be sent to our webservice endpoint".

Send an email back advising that the step has been completed No additional cost, this functionality is already implemented
Send a file to an FTP server or API Webservice

This would be additional development work to determine where the file needs to be sent, what the format of the message should be in and then testing.

In addition there should be consideration around the specific types of messages for various errors that arise. For example, if your software requires a different error message to be returned in the event of "not enough stock", as opposed to "product SKU doesn't exist", then multiple messages may need to be crafted.

How will data synchronisation be maintained?Both Directions

An example here is that an order is imported into CartonCloud via an API request.

Internally within CartonCloud the order contents are then modified (products added, products removed, qty changed, address modified).

Do these changes need to be relayed back to your application? If so, how?

By default when an order is packed we send out an email advising on everything which was packed, so these kinds of changes can be handled manually by reading the email contents - however if this is to be a completely autonomous system whereby order changes in CartonCloud are reflected in your application, considerations will need to be made for how this can be handled.


Further Information Integrations


Integrations Map.xml




  • No labels