Payload Structure
{
"operation": "upsert" | "delete",
"items"?: ContentItem[],
"ids"?: string[]
}
You can see an example payload structure above.
2 basic batch operations are supported at the moment: upsert and delete.
Upsert Operation
Using the upsert batch operation you can both create and update existing items. If the item is not present on Findify's end, it will be created, otherwise the item's fields will be updated by Findify. We use the id field that is provided to link the item in the request to our internal content database, so you must provide the same id used when creating an item if you need to update it. You don't need to specify which fields to update, Findify will calculate the difference automatically. For this operation you must provide the items array with the following structure
interface ContentItem {
id: string,
title: string,
url: string,
image_url?: string, // optional field, if provided, Findify will use it to show the image in Search and Autocomplete
description?: string, // optional field, if provided, Findify will show it in the Content Card by default
[optional field name]: string | number | boolean | string[] | number[]
}
There are 3 required fields that must be present in the item that is part of the upsert operation: id, title, url.
image_url and description
If you are using MJS and provide these fields in the content item, MJS will automatically display the image and description in Autocomplete and Search results
Apart from the 3 required fields, you can provide as many optional fields as you want or need as long as they conform to the supported field types.
At the moment we don't support objects or nested objects as allowed types of content items
Delete operation
Findify will remove all content items with the specified IDs if they are present in our system. For this operation you must provide the ids parameter in your request.