Ir al contenido

Create products sync job

POST
/v2/sync/products
curl --request POST \
--url https://api.orderfast.com.ar/v2/sync/products \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: example' \
--header 'idempotency-key: example' \
--data '{ "mode": "upsert", "items": [ { "external_id": "erp-product-1001", "sku": "BURGER-001", "name": "Hamburguesa Simple", "price": 8500, "visible": true }, { "external_id": "erp-product-1001", "sku": "BURGER-001", "name": "Hamburguesa Simple", "price": 8500, "visible": true } ] }'

Queues an async job. Subject to batch rate limits (429).

idempotency-key
required
string
Idempotency-Key
required
string

Unique key to safely retry products sync

Media typeapplication/json
object
mode
string
Example
upsert
items
required
Array<object>
object
external_id
required
string
Example
erp-product-1001
sku
string
Example
BURGER-001
name
required
string
Example
Hamburguesa Simple
price
required
number
Example
8500
visible
boolean
Example
true
Example
{
"external_id": "erp-product-1001",
"sku": "BURGER-001",
"name": "Hamburguesa Simple",
"price": 8500,
"visible": true
}
Example
{
"mode": "upsert",
"items": [
{
"external_id": "erp-product-1001",
"sku": "BURGER-001",
"name": "Hamburguesa Simple",
"price": 8500,
"visible": true
},
{
"external_id": "erp-product-1001",
"sku": "BURGER-001",
"name": "Hamburguesa Simple",
"price": 8500,
"visible": true
}
]
}

Accepted for processing

Media typeapplication/json
object
data
required
object
job_id
required
string
status
required
string
Allowed values: queued
total_items
required
number
Examples
Examplesuccess

Successful response

{
"data": {
"job_id": "sync_123",
"status": "queued",
"total_items": 10
}
}

Unauthorized — missing or invalid API key

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid_request unauthorized permission_denied resource_not_found conflict validation_error rate_limited internal_error
message
required
string
request_id
required
string
Examples
Exampleunauthorized

Invalid API key

{
"error": {
"code": "unauthorized",
"message": "Missing or invalid API key",
"request_id": "req_01J..."
}
}

Permission denied

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid_request unauthorized permission_denied resource_not_found conflict validation_error rate_limited internal_error
message
required
string
request_id
required
string
Examples
Examplepermission_denied

Missing permission

{
"error": {
"code": "permission_denied",
"message": "The API key does not have the required permission",
"request_id": "req_01J..."
}
}

Conflict

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid_request unauthorized permission_denied resource_not_found conflict validation_error rate_limited internal_error
message
required
string
request_id
required
string
Examples
Exampleconflict

Conflict / idempotency mismatch

{
"error": {
"code": "conflict",
"message": "Idempotency-Key was already used with a different request body",
"request_id": "req_01J..."
}
}

Validation error

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid_request unauthorized permission_denied resource_not_found conflict validation_error rate_limited internal_error
message
required
string
request_id
required
string
Examples
Examplevalidation_error

Invalid body or query

{
"error": {
"code": "validation_error",
"message": "One or more fields failed validation",
"request_id": "req_01J..."
}
}

Rate limit exceeded

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid_request unauthorized permission_denied resource_not_found conflict validation_error rate_limited internal_error
message
required
string
request_id
required
string
Examples
Examplerate_limited

Rate limited

{
"error": {
"code": "rate_limited",
"message": "Too many requests. Please retry later.",
"request_id": "req_01J..."
}
}

Internal server error

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid_request unauthorized permission_denied resource_not_found conflict validation_error rate_limited internal_error
message
required
string
request_id
required
string
Examples
Exampleinternal_error

Unexpected failure

{
"error": {
"code": "internal_error",
"message": "An unexpected error occurred",
"request_id": "req_01J..."
}
}