Order Integrations
Order Integrations
Manage connections to external e-commerce platforms.
Connect Shopify, WooCommerce, or other platforms to automatically receive and process orders into invoices.
The Order Integration object
Attributes
{
"id": "oint_6595a27b5d35015c3ef0c3fd",
"entity_id": "ent_6595a27b5d35015c3ef0c3fd",
"name": "My Store",
"source": "manual",
"is_active": true,
"shop_domain": null,
"scopes": null,
"auto_process": false,
"auto_process_on": "paid",
"default_payment_type": null,
"metadata": {},
"created_at": "2024-01-01T00:00:00.000Z",
"updated_at": "2024-09-01T00:00:00.000Z",
"deleted_at": null
}Resume Shopify install after app launch
/order-integrations/shopify/resume-installContinue a pending Shopify custom-app install after Shopify redirects the merchant back to the app URL.
Body parameters
curl -X POST "https://eu.spaceinvoices.com/order-integrations/shopify/resume-install" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-entity-id: YOUR_ENTITY_ID" \
-H "Content-Type: application/json" \
-d '{
"shop": "myshop.myshopify.com"
}'Returns
{
"redirect_url": "https://myshop.myshopify.com/admin/oauth/authorize?client_id=...&scope=read_orders&redirect_uri=...&state=...",
"entity_id": "ent_6595a27b5d35015c3ef0c3fd",
"frontend_origin": "https://v2.getapollo.io"
}Create a new order integration
/order-integrationsCreate a new order integration for receiving orders from external platforms.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Body parameters
curl -X POST "https://eu.spaceinvoices.com/order-integrations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-entity-id: YOUR_ENTITY_ID" \
-H "Content-Type: application/json" \
-d '{
"name": "My Store"
}'Returns
{
"id": "oint_6595a27b5d35015c3ef0c3fd",
"entity_id": "ent_6595a27b5d35015c3ef0c3fd",
"name": "My Store",
"source": "manual",
"is_active": true,
"shop_domain": null,
"scopes": null,
"auto_process": false,
"auto_process_on": "paid",
"default_payment_type": null,
"metadata": {},
"created_at": "2024-01-01T00:00:00.000Z",
"updated_at": "2024-09-01T00:00:00.000Z",
"deleted_at": null
}List all order integrations
/order-integrationsRetrieve a paginated list of order integrations with optional filtering and sorting.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Query parameters
Number of results per request.
Default: 10
Opaque cursor to fetch the next page of results. Reuse only with the same effective ordering. Use the value from pagination.next_cursor in the previous response.
Opaque cursor to fetch the previous page of results. Reuse only with the same effective ordering. Use the value from pagination.prev_cursor in the previous response.
Whether to include the total count of items in pagination.total.
Default is true.
When false, pagination.total returns -1 for better performance.
Sort by one field or provide a repeated array for multi-column ordering. Prefix a field with - for descending order. When paginating, reuse cursors only with the same effective ordering.
JSON query object for filtering results. Supports MongoDB-style operators.
Supported operators:
- equals or direct value - Exact match (default)
- gte - Greater than or equal
- lte - Less than or equal
- gt - Greater than
- lt - Less than
- in - Value in array
- notIn - Value not in array
- contains - String contains (case-insensitive)
- startsWith - String starts with
- endsWith - String ends with
- between - Value between two numbers/dates [min, max]
Allowed fields: id, name, source, is_active, created_at, updated_at
Examples:
- {"total": {"gte": 1000}} - Invoices over 1000
- {"customer.name": {"contains": "Acme"}} - Customer name contains "Acme"
- {"date": {"between": ["2025-01-01", "2025-12-31"]}} - Date range
Full-text search query to filter results across multiple fields.
Searches are case-insensitive and match partial strings.
Searches across all text fields including names, descriptions, addresses, and metadata values.
When true, returns only soft-deleted (trashed) items. Default false excludes deleted items.
curl "https://eu.spaceinvoices.com/order-integrations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-entity-id: YOUR_ENTITY_ID"Returns
{
"data": [
{
"id": "oint_6595a27b5d35015c3ef0c3fd",
"entity_id": "ent_6595a27b5d35015c3ef0c3fd",
"name": "My Store",
"source": "manual",
"is_active": true,
"shop_domain": null,
"scopes": null,
"auto_process": false,
"auto_process_on": "paid",
"default_payment_type": null,
"metadata": {},
"created_at": "2024-01-01T00:00:00.000Z",
"updated_at": "2024-09-01T00:00:00.000Z",
"deleted_at": null
}
],
"pagination": {
"total": 1,
"next_cursor": null,
"prev_cursor": null,
"has_more": false
}
}Get order integration by ID
/order-integrations/{id}Retrieve a single order integration by its unique identifier.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Path parameters
Unique resource identifier
curl "https://eu.spaceinvoices.com/order-integrations/{id}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-entity-id: YOUR_ENTITY_ID"Returns
{
"id": "oint_6595a27b5d35015c3ef0c3fd",
"entity_id": "ent_6595a27b5d35015c3ef0c3fd",
"name": "My Store",
"source": "manual",
"is_active": true,
"shop_domain": null,
"scopes": null,
"auto_process": false,
"auto_process_on": "paid",
"default_payment_type": null,
"metadata": {},
"created_at": "2024-01-01T00:00:00.000Z",
"updated_at": "2024-09-01T00:00:00.000Z",
"deleted_at": null
}Update an order integration
/order-integrations/{id}Update an existing order integration. Only the provided fields will be updated.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Path parameters
Unique resource identifier
Body parameters
curl -X PATCH "https://eu.spaceinvoices.com/order-integrations/{id}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-entity-id: YOUR_ENTITY_ID" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Store Name"
}'Returns
{
"id": "oint_6595a27b5d35015c3ef0c3fd",
"entity_id": "ent_6595a27b5d35015c3ef0c3fd",
"name": "My Store",
"source": "manual",
"is_active": true,
"shop_domain": null,
"scopes": null,
"auto_process": false,
"auto_process_on": "paid",
"default_payment_type": null,
"metadata": {},
"created_at": "2024-01-01T00:00:00.000Z",
"updated_at": "2024-09-01T00:00:00.000Z",
"deleted_at": null
}Delete an order integration
/order-integrations/{id}Soft delete an order integration. If Shopify, webhooks will be unregistered (best effort).
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Path parameters
Unique resource identifier
curl -X DELETE "https://eu.spaceinvoices.com/order-integrations/{id}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-entity-id: YOUR_ENTITY_ID"Sync Shopify orders
/order-integrations/{id}/sync-shopifyFetch Shopify orders updated in the selected time window and upsert them into local orders. Missing orders are imported, existing orders are refreshed, and processing is queued separately.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Path parameters
Unique resource identifier
Body parameters
curl -X POST "https://eu.spaceinvoices.com/order-integrations/{id}/sync-shopify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-entity-id: YOUR_ENTITY_ID" \
-H "Content-Type: application/json" \
-d '{}'Returns
{
"imported": 12,
"updated": 4,
"queued_for_processing": 6,
"total_seen": 16,
"window_start": "2026-03-20T00:00:00.000Z",
"window_end": "2026-03-21T00:00:00.000Z"
}