Everything you need to know to integrate with Wicked Reports using our APIs.
Introduction to Wicked Reports APIs
For developers who want to jump right into the technical documentation, then you can do so by visiting this URL -> https://docs.wickedreports.com/
Inbound API
The purpose of this section is to provide you with the high-level process to integrating with Wicked reports via API.
- Generate your unique API Key in the Wicked Reports API widget on the
Authorizations Tab by clicking "Enable". Note: Use your unique API Key as a value of the apikey header. - Pick the appropriate Inbound API Endpoint for your build
- Build your API and format your Body to match the required Key-Value pairs:
- Send unique data to Wicked on an immediate or daily basis. Limit to 1,000 rows per request (10MB) for all endpoints. Sending duplicate data, delayed data, or large requests is likely to cause performance issues (i.e. delayed processing)
- Prior to getting started, review the Inbound API Verification Steps for tips & tricks on how to build your API. Every API Endpoint has required and optional keys. Bare minimum, you need the required keys for data to be inserted successfully. Please ensure accurate formatting.
- Consider using the Wicked Inbound API SDK. It'll help speed up the Inbound API setup process and make it easier for us to support you. Our SDK includes a readme with instructions on how to install it into your project, how to authenticate, how to perform API calls, API call examples, unit tests, and how to easily convert time zones.
- Test your API
- Verify your API Data
- Go Live!
- Clicks API Endpoint
This API Endpoint allows you to import any clicks, that you have manually tracked, directly into Wicked Reports. These are clicks that may help further define the customer's journey. You should only use this if you have additional clicks that Wicked isn't already tracking. - Contacts API Endpoint
This API Endpoint allows you to import your contact data directly into Wicked Reports. This contact data may be currently stored in your CRM (contact management system), ESP (email service provider), or elsewhere. - Inbound Orders:
- Orders API Endpoint
This API Endpoint allows you to import orders, order items, and order payments directly into Wicked Reports. This data may be stored in your CRM, shopping cart, or stored by your payment gateway. - Order Items API Endpoint
This API Endpoint allows you to import order items after your order has already been created. If you want to view your products in your reports, then you'll need to include a product ID when inserting your order items. If this product ID matches a product that's been inserted, then you'll be able to see your product in the reports. - Products Data API Endpoint
This API Endpoint allows you to import Product Data directly into Wicked Reports. To view your products within the reports, you'll need to make sure your products have been inserted. If this product matches a corresponding order item Product ID, then you'll be able to see this product within your reports.
- Orders API Endpoint
-
- Order Payments API Endpoint
This API Endpoint allows you to import Order Payments. Order payments are necessary if you want to process additional information on the status of the order, such as whether or not it was approved, failed, refunded, or partially refunded. This will provide a more accurate picture of your Net Revenue within the reports.
- Order Payments API Endpoint
- Marketing API Endpoint
This API Endpoint allows you to import the marketing details of your ads, such as costs, clicks, and UTMs, directly into Wicked Reports. This marketing data may currently be stored in your Ad Platform.
Inbound API Testing:
If you want to run test calls that will not affect your reporting, then include the test header in each of your test API requests.
All of the inbound API endpoints accept a special header test which accepts only 2 values:
- 0 or 1
Order Data
If you're sending order data, then use the Order Validation Checklist as a helpful list for validating the accuracy of your data.
Contact Data
If you're sending contact data, then use the Contact Validation Checklist as a helpful list for validating the accuracy of your data.
Inbound API Go Live!
After testing and verifying your Inbound API data, and all tests pass, then you are ready to go live - Remove the test header to start sending real data into Wicked Reports!
Outbound API
Wicked Reports has a wonderful data CSV export feature that allows you to pull channel data directly from your ROI & FunnelVision Reports. However, there are still some use cases where you may want to extract your data via API. That's where the Outbound API comes into play.
The Outbound API allows you to pull your data directly out of Wicked Reports and use it however you see fit. It can be used in Looker Studio, BigQuery, or any other platforms that can consume JSON files.
The Outbound API is used to retrieve Wicked Reports clicks, leads, and order data. However, it's most often used to retrieve the performance data, down to the ad level, of specific channels.
Outbound API Setup:
The purpose of this section is to provide you with the high-level process to extracting your data from Wicked reports via API.
- Generate your unique API Key in the Wicked Reports API connection box on the
Authorizations Tab by clicking Enable.
Note: Use your unique API Key as a value of the apikey header. - Select the appropriate Outbound API Endpoint to retrieve data from.
- Create your API to match the required Key-Value pair.
Note: For every API Endpoint, you will see the required and optional keys. At a minimum, you'll need to include the required keys for data to be extracted successfully. - If all the data passes through successfully, you're good to go!
Note: If the data does not pass through correctly, then please reach out to us at support@wickedreports.com and we can assist you.
Outbound API Endpoints:
- Get Views Endpoint
This API Endpoint allows you to list your FunnelVision "views" names and corresponding IDs.
Ex. Use this endpoint to extract a list of view names with their corresponding view ID. Then, through the FunnelVision Data Endpoint, you can extract the view data by it's ID. - Last Updated Date Endpoint
This API Endpoint allows you to check the date when we last updated/processed your reports.
- Clicks API Endpoint
This API Endpoint allows you to retrieve all clicks, associated with a contact, within a certain timeframe. - Contacts API Endpoint
This API Endpoint allows you to retrieve all contacts from your account.
Note: To receive data, you should always provide a time period. - Orders API Endpoint
This API Endpoint allows you to retrieve all the orders available within a certain timeframe. - Channel API Endpoint
This API Endpoint allows you to retrieve a list of all channels and their performance for a provided date range. Using this endpoint, you can export data down to the ad level. - FunnelVision Data Endpoint
This API Endpoint allows you to retrieve various lists of FunnelVision data:- It can be used to pull channel data for a provided date range (conversion date mode or click date mode)
-
- It can be used to fetch the channel data you've pulled (conversion date mode or click date mode)
- It can be used to pull FunnelVision data from a specific view
- It can be used to fetch the FunnelVision data from a specific view that you've pulled
API FAQs
Q: Are there any restrictions on the size of a request body on endpoints?
A: There is a 1,000 rows per request (10MB) limit for a request body on all endpoints. You must send unique data to Wicked on an immediate or daily basis. Sending duplicate data, delayed data, or large requests is likely to cause performance issues (i.e. delayed processing)
Q: Why are there two sets of Outbound API endpoints?
A: The original set of Outbound API endpoints was using synchronous APIs, whereas the new set of Outbound APIs uses asynchronous APIs. Asynchronous APIs allow you to stream data, send multiple requests at the same time, and manage communication intelligently between services, while the synchronous APIs required you to make a new request every time you needed data.