Ingerir linhas de CSV ou de planilha JSON como documentos rascunho, uma por linha.
Ingerir linhas CSV (ou linhas de planilha JSON) como documentos rascunho, um documento por linha.
Autenticação: Bearer JWT (WorkOS).
| Parâmetro | Tipo | Obrigatório | Observações |
|---|---|---|---|
website_id | uuid | sim | Site de destino. Observação: snake_case aqui, diferente da maioria dos endpoints. |
Dois tipos de conteúdo são aceitos, selecionados pelo cabeçalho Content-Type.
multipart/form-data — campos:
schema_name (texto, obrigatório)file (bytes CSV brutos, obrigatório). A primeira linha contém os cabeçalhos; cada célula se torna um valor de string JSON aparado.application/json (máx. 10 MiB):
{
"schema_name": "post",
"spreadsheet_data": [ { "title": "Linha 1" }, { "title": "Linha 2" } ]
}
schema_name (string, obrigatório)spreadsheet_data (array de objetos, obrigatório){ "inserted": 2 }
Retorna 201 Created. Cada linha se torna um documento rascunho; o título do documento é o primeiro valor de string da linha.
curl -X POST '{CMS_API_URL}/csv?website_id=<uuid>' \
-H 'Authorization: Bearer <workos-jwt>' \
-H 'Content-Type: application/json' \
-d '{"schema_name":"post","spreadsheet_data":[{"title":"Linha 1"}]}'
curl -X POST '{CMS_API_URL}/csv?website_id=<uuid>' \
-H 'Authorization: Bearer <workos-jwt>' \
-F 'schema_name=post' \
-F 'file=@data.csv'
400 — erros de análise, ausência de schema_name/file, spreadsheet_data que não seja um array, linhas que não sejam objetos ou CSV vazio401 — JWT ausente ou inválido500 — falha na inserção