Sync records from your ERP
Keep EverdeenDMS in step with your ERP by sending your own record ID as external_id. It is unique per company, so pushes never create duplicates.
Upsert by external ID
PUT /v1/{resource}/by_external_id/{external_id} with the full record creates it (201) or replaces it (200). Fields you leave out are cleared. It works for products, outlets, suppliers, documents, and both kinds of certification.
curl -X PUT \
https://api.dms.everdeenone.com/v1/suppliers/by_external_id/SUP-0042 \
-H "Authorization: Bearer $EVERDEEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Sinar Spices", "country": "MY"}'
Avoid conflicts
- A POST with an external_id that already exists returns 409 external_id_taken, with the existing record ID in error.details.existing_id.
- Every record has a version. Send If-Match: <version> on PATCH or PUT to update only if nobody changed it since you read it; otherwise you get 409 version_conflict.