We’re excited to announce an update to our API.

Release date: Feb 9th, 2021

Overview: Change of a property on the GET /v3/transactions/:id endpoint 

Purpose: In order to future proof an endpoint before anyone integrates to it we've added more functionality when retrieving a transaction.

This change comes with a helping of humility as we're doing something we said we wouldn't: making a breaking change to an API endpoint. After some future planning we've realized a recently released endpoint could be made more future-proof with a small modification. The only reason it's acceptable to make a breaking change is that our operational analytics indicate that no one has integrated to the endpoint yet. There are occasional test requests but no production loads relying on it.

The Change

If you recall the GET /v3/transactions/:id response payload you'll recall the message property currently looks like this:

"message": { 
    "content": {...}, 
    "validationStatus: "VALID", 
    "sizeInBytes": 3251, 
}

Here the content is a JSON object. While this covers today's use cases, we're currently designing out non-JSON payload support (e.g. XML, CSV, etc) – which obviously could not be returned as a JSON object. Also for future non-JSON payload you'll need to be able to access the original payload before conversion and the latest one after.

The path forward is to maintain our JSON-first API but separate the content out into its own endpoint which can support any content type. Now the message portion will be renamed to revisions and support both the transaction as posted and after processing. The property will now look like this:

"revisions": {
    "original": { 
        "content": "https://api.orderful.com/v3/transactions/123/content", 
        "validationStatus: "VALID", 
        "sizeInBytes": 3251, 
    },
     "latest": { 
        "content": "https://api.orderful.com/v3/transactions/123/content", 
        "validationStatus: "VALID", 
        "sizeInBytes": 3251, 
    },
}

Calling the content link will return you the content in its present JSON form:

content-type:application/json 
{  
    "transactionSets": [{
    ...
    }] 
}

And in the future, in newly-supported data types:

content-type: text/csv
invoiceNumber,456
invoiceDate,03MAR2021

More details can be found in the API reference documentation.

This change comes with a helping of humility. We're making a breaking change to an API endpoint. After some future planning we've realized a recently released endpoint could be made more future-proof with a small modification. The only reason it's acceptable to make a breaking change is that our operational analytics indicate that no one has integrated to the endpoint yet. There are occasional test requests but no production loads relying on it.

The Change

If you recall the GET /v3/transactions/:id response payload you'll recall the message property currently looks like this:

"message": {
		"content": {...},
		"validationStatus: "VALID",
		"sizeInBytes": 3251,
	},

Here the content is a JSON object. While this covers today's use cases, we're currently designing out non-JSON payload support (e.g. XML, CSV, etc) – which obviously could not be returned as a JSON object.

The path forward is to maintain our JSON-first API but separate the content out into its own endpoint which can support any format. Now the message portion of the GET /v3/transactions/:id response will look like this:

"message": {
		"content": "https://api.orderful.com/v3/transactions/123/content",
		"validationStatus: "VALID",
		"sizeInBytes": 3251,
	},

Calling the content link will return you the content in its present JSON form:

content-type:application/json
{
  "transactionSets": [{...}]
}

And in the future, in newly-supported data types:

content-type: text/csv

invoiceNumber,456
invoiceDate,03MAR2021

We’re excited to announce a new interface for the Relationships page.

Release date: Released on 02/08/2021

Overview: New filters, sorting and search capabilities on your Relationships page.

Purpose: On your Relationships page, you can find relationships by using one or several filters, entering one or several keywords in the search bar and by sorting a relationship column.

After analyzing user feedback on the Relationships page, we decided to improve your Relationships page for several reasons:

We moved away from grouping relationships by EDI accounts to display all relationships in a table view. When combining one or several filters and a table view, you can now find your relationships quicker.
We introduced new columns to display more key information about your relationships, such as your EDI account names and ISA IDs as well as your partner's.
We improved our search bar so that you can look for more information at the same time.
We added a sort functionality to the relationships columns to help you order your relationships according to what's more important for you.

More details in these articles: 

We’re excited to announce a new endpoint to get your Organization details.

Release date: 12/24/2020

Overview: New endpoint to get IDs related to your organization.

Purpose: When starting your integration to Orderful, you can call this new endpoint with your API Key to ensure you're connected to the right organization and to retrieve the important IDs that are part of your organization.

The endpoint is documented in our API reference.

Next up in Orderful is the ability to assign guidelines to relationships!

In the past, every organization is Orderful was allowed to have only a single guideline per transaction type, which was applied to all your relationships with matching transaction type and direction.

Going forward, an organization can have many published guidelines of the same type, that are then assignable to a relationship. The process of creating a guideline remains unchanged:

  • Go to the Guidelines settings page.
  • Click "Create Guideline".
  • Enter your guideline in draft mode.
  • Publish the guideline when it's ready.

Published guidelines are not automatically enforced on your relationships. Instead, published guidelines are assignable to relationships, under relationship settings.

Once assigned, a guideline is used to validate data flowing through the relationship. For more information about guidelines, please see our Knowledge Base.

We are excited to release another improvement to our platform: Poller communication channels!

When you create a Poller communication channel, Orderful will generate a new API endpoint that you can use to retrieve your transactions. Along with this improvement comes the ability to resend inbound transactions from the UI and to confirm a transaction's delivery using our API.

You can see the API documentation here: https://docs.orderful.com/reference/pollingcontroller_list

For step-by-step instructions on how to set this up, please see here:

We're excited to launch a new feature in Orderful: Communication Channel Testing.

For each inbound HTTP or AS2 Communication Channel connected to your internal systems, you can now directly send a test file over and check the connection is up and running.

Send a test to a Communication Channel

From the right side panel of an inbound Communication Channel, you now have the option to "Send a test". You can choose to send one of the generic Orderful test files or upload your own custom test file.

Orderful then displays a test summary that contains:

  • The test status
  • The test file you sent
  • The delivery proofs (if any)
  • The delivery logs

Test an HTTP Communication Channel

When testing an HTTP Communication Channel:

  • The test status can only be “Delivered”, “Failed” or “Timed-out”.
  • The HTTP response code appears on the “Log” row.
  • The full HTTP Response is stored as a file on the Received row.

Test an AS2 Communication Channel

When testing an AS2 Communication Channel:

  • The test status is “Pending” until your AS2 server sends a final successful or failed delivery notification. The test status then becomes “Delivered”, “Failed” or “Timed-out”.
  • The Message Disposition Notification (MDN) is stored as a file on the Received row.
  • The “Log” row displays all delivery notifications received.

We’re excited to announce a new feature: Transaction upload. 

You can now upload an X12 or JSON transaction from the transactions list view.

  • You can upload a .json, .x12 or .txt file
  • The content of the file must be either JSON or X12
  • You can upload only 1 file at a time
  • The size of the file must be less than 1MB

Orderful will display a notification on the bottom left of your screen with the result of your upload.

Here is the list of known failure reasons:

  • The partnership doesn’t exist in Orderful
  • The sender doesn’t exist in Orderful
  • The receiver doesn’t exist in Orderful
  • The relationship doesn’t exist in Orderful
  • The relationship in SETUP
  • The file couldn’t be parsed

More details in these articles:

We revamped and extended our existing feature: Copy to Test.

From a Transaction details page, copying a transaction now triggers a confirmation.

A notification confirms the copy has been successfully created on the bottom left and you are then redirected to the copied transaction.

We also now allow you to copy inbound transactions. 

📘

Copying an inbound transaction means you will create a transaction as a receiver.

More details in this article: https://orderful.zendesk.com/hc/en-us/articles/360058685294-Copy-a-Transaction

Orderful now allows you to create a transaction whether you are the sender or receiver of the transaction. 

📘

Before this release, Orderful only allowed you to create transactions if you were the sender of the transaction.

If you’re migrating to Orderful from a legacy system, this feature can help you to import existing live X12 transactions sent by your partner that you can use to test your integration.

You can create a transaction in Orderful using different methods:

When the creator is different than the sender, the creator of a transaction - you or your partner- is identified from the transaction list view or from the transaction page.

📘

When transactions are created by the receiver, the test stream is automatically assigned.

If your partner created an outbound transaction as a receiver on your behalf, you should see some features deactivated as a sender:

  • Transaction notifications
  • Rule writing and processing
  • Guideline validation
  • Functional acknowledgment