Create products sync job
POST
/v2/sync/products
const url = 'https://api.orderfast.com.ar/v2/sync/products';const options = { method: 'POST', headers: { 'idempotency-key': 'example', 'Idempotency-Key': 'example', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"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}]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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).
Authorizations
Sección titulada «Authorizations»Parameters
Sección titulada «Parameters»Header Parameters
Sección titulada «Header Parameters»idempotency-key
required
string
Idempotency-Key
required
string
Unique key to safely retry products sync
Request Bodyrequired
Sección titulada «Request Bodyrequired»Media typeapplication/json
object
mode
string
Example
upsertitems
required
Array<object>
object
external_id
required
string
Example
erp-product-1001sku
string
Example
BURGER-001name
required
string
Example
Hamburguesa Simpleprice
required
number
Example
8500visible
boolean
Example
trueExample
{ "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 } ]}Responses
Sección titulada «Responses»Accepted for processing
Media typeapplication/json
object
data
required
object
job_id
required
string
status
required
string
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
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
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
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
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
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
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..." }}