First calls
Validate your integration by making two simple calls: list your contacts, then push a customer.
Prerequisites
- An active ShopiMind account.
- An API key generated from your dashboard.
List your contacts
The example below fetches the first 50 contacts of your shop. The simplest way is to use the JavaScript SDK:
npm install @shopimind/sdk-shopimindconst { SpmClient, SpmContacts } = require('@shopimind/sdk-shopimind')
const client = SpmClient.getClient('v1', process.env.SPM_API_KEY)
// Enveloppe uniforme : { ok, statusCode, data, error }
const res = await SpmContacts.list(client, { limit: 50 })
if (res.ok) console.log(res.data)The response contains a data array of contacts and a meta.pagination block indicating the position within the pagination. See Response shapes for the full schema.
Push a customer
To sync an e-commerce customer into ShopiMind, use the bulkCreateCustomers endpoint. Writes are always batched (up to 50 customers per call), even for a single item:
curl -X POST 'https://core.shopimind.com/v1/customers' \
-H 'spm-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '[
{
"customer_id": "CUST-001",
"email": "marie.dupont@example.com",
"first_name": "Marie",
"last_name": "Dupont",
"lang": "fr",
"is_newsletter_subscribed": true,
"created_at": "2026-05-07T08:00:00.000Z",
"updated_at": "2026-05-07T08:00:00.000Z"
}
]'The response confirms acceptance and reports how many items were accepted or rejected:
{
"statusCode": 200,
"sent_count": 1,
"rejected_count": 0,
"rejected_items": []
}Asynchronous processing
A 200 response confirms that your request has been accepted and queued for processing. The customer may take a few seconds to appear on subsequent reads (listCustomers / getCustomer).
What's next?
- Full endpoint reference — every resource detailed in the sidebar.
- E-commerce connector — sync your entire shop.
- Custom data — model your business data inside ShopiMind.