YOM Docs

File integration

The Files integration lets YOM access your data files and process them regularly to keep the information in our systems up to date. It suits companies that can generate periodic reports as files but don't have the technical resources to expose data through endpoints or handle real-time loading.

What does it involve?

The Files integration means the customer drops data files onto a secure SFTP server. YOM accesses this server periodically to download the files and update its systems with the information provided. This method works well for data that doesn't change very often and can be updated at regular intervals.

Integration types

A Files integration comes in two types, depending on which YOM products you want to enable:

Type Description Enables
Intelligence Collects customer information to produce insights and analytics. • Dashboards
Operational Enables YOM's sales products. Requires integrating every concept or entity YOM needs to sell through its products. • B2B
• App Vendedores
• Call Center
• LLM Commerce

Technical requirements

The technical requirements for implementing a Files integration with YOM are listed below. They apply to both integration types, except for the folder structure, which is detailed per type.

🗄️ SFTP Server


The server holding the files can be the customer's own or a YOM server.

YOM server

YOM will host an SFTP server for the staging and production environments. The credentials are:

For security, access to the SFTP server uses SSH authentication with a private key. YOM will provide the customer with a file containing the private key needed to authenticate.

<aside> ⚠️

The private key must be kept secure and never shared with third parties.

</aside>

*\Coordinate with the IT team.

📋 File format


Files must be in CSV format, with a semicolon ; as the default separator and UTF-8 encoding.

Separator → ;

Encoding → UTF-8

File names must follow this structure:

<fecha>_<hora>_<entidad>.csv

Date format → YYYYMMDD

Time format → HHMMSS

Example of a file with a list of Products uploaded on February 1, 2024 at 6:00 p.m.:

20240201_180000_product.csv

📂 Folders


The folder structure depends on the integration type.

Operational integration

You must implement a folder structure like this:

/<nombre_cliente>
	/production
		/load
			/product
				/all
					20240201_180000_product.csv
					20240201_073000_product.csv
					20240131_180000_product.csv
					20240131_073000_product.csv
				/created
					...
				/updated
					...
			/commerce
				/all
					20240201_180000_commerce.csv
					20240131_180000_commerce.csv
					20240130_180000_commerce.csv
				/created
					...
				/updated
					...
			/override
				...
			...
	/development
		...

Folder structure explained

/<nombre_cliente> → This main folder represents the specific customer integrating with YOM.

<aside> 🚧

</aside>

Intelligence integration

Files are organized by customer, entity, and upload date:

/integrations
	/<customer_id>
		/commerce
			/20251228
				20251228_180000_commerce.csv
		/product
			/20251228
				20251228_180000_product.csv
		/seller
			/20251228
				20251228_180000_seller.csv
		/transaction
			/20251228
				20251228_180000_transaction.csv
		...

Folder structure explained

/integrations → Root folder for the Intelligence integration.

📋 JSON object flattening policy


Entities are originally defined as objects with nested fields that represent objects or lists. They are designed to be transmitted as JSON structures in the API integration.

To convert nested JSON structures into CSV format, you need to "flatten" the objects, that is, turn nested properties into a flat key-value structure.

To flatten a JSON object into CSV format, the following logic applies: