REST API to send tracking information

Is there a method with the REST API to send tracking information to KEAP? I haven’t been able to find anything. The intent would be to send any shipping information allowed: tracking number, carrier, ship date, etc.

You would just create a custom field for each of the shipping details you want to track and then send the data over into that field using an “update contact” action.


Like Jeff_Arnold mentioned storing this data into custom Contact fields and then kicking off your desired communication is how this is typically accomplished. The reason these get stored into a Contact custom fields rather than Order custom field is because order custom fields are not mergeable into Email templates like Contact fields are. One down side to this, is if your customer was to make a second order, depending on how you script this you may end up overwriting the information stored into the fields from the first order.

This may not be a problem providing you simply are kicking off that 1-time communication right after storing the data.

In order to keep a historical track record of shipments, you could also save the information into custom order fields, or generate a note on the contact record which displays the Order # and related tracking information.

I really like the idea of generating a note rather than the custom field. Is there a way to automatically send off an email notification to the contact if we were to generate a note?

There is a Note Template action that you can use to trigger action, just like adding a tag, however, I have not used that as a way to drive automation via API.
If you are going to test it, you would need to be sure that you create your template, then trigger that template, as it is a ‘note template’ action, not just a ‘note’ action.

There are a few different ways to accomplish this.

Jeff mentioned utilizing a note template because when you configure a note template from the UI, you can tie actions to the template. Any time that template is leveraged, the actions automatically run on the contact.

  • You can drop your note template into a legacy action set, and then use the API to trigger the legacy action set.
  • Personally, I like the idea of putting all of this process into a single campaign, and then kicking off the campaign via the API endpoint or by applying the starter tag via the API. One benefit of using the campaign is you can include any other automations that may be part of this workflow, and have everything in one place. Keep in mind if a contact needs to run through this process more than once ever, you want to configure your campaign to remove them from it at the end so they would restart from the beginning on the next run through.