215 lines
3.4 KiB
Markdown
215 lines
3.4 KiB
Markdown
# Systeme.io Routing Reference
|
|
|
|
**App name:** `systeme`
|
|
**Base URL proxied:** `api.systeme.io`
|
|
|
|
## API Path Pattern
|
|
|
|
```
|
|
/systeme/api/{resource}
|
|
```
|
|
|
|
## Common Endpoints
|
|
|
|
### List Contacts
|
|
```bash
|
|
GET /systeme/api/contacts
|
|
```
|
|
|
|
Query parameters:
|
|
- `limit` - Results per page (10-100)
|
|
- `startingAfter` - ID of last item for pagination
|
|
- `order` - Sort order: `asc` or `desc` (default: `desc`)
|
|
|
|
### Get Contact
|
|
```bash
|
|
GET /systeme/api/contacts/{id}
|
|
```
|
|
|
|
### Create Contact
|
|
```bash
|
|
POST /systeme/api/contacts
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"email": "user@example.com",
|
|
"firstName": "John",
|
|
"lastName": "Doe"
|
|
}
|
|
```
|
|
|
|
### Update Contact
|
|
```bash
|
|
PATCH /systeme/api/contacts/{id}
|
|
Content-Type: application/merge-patch+json
|
|
|
|
{
|
|
"firstName": "Jane"
|
|
}
|
|
```
|
|
|
|
### Delete Contact
|
|
```bash
|
|
DELETE /systeme/api/contacts/{id}
|
|
```
|
|
|
|
### List Tags
|
|
```bash
|
|
GET /systeme/api/tags
|
|
```
|
|
|
|
### Create Tag
|
|
```bash
|
|
POST /systeme/api/tags
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"name": "VIP Customer"
|
|
}
|
|
```
|
|
|
|
### Update Tag
|
|
```bash
|
|
PUT /systeme/api/tags/{id}
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"name": "Premium Customer"
|
|
}
|
|
```
|
|
|
|
### Delete Tag
|
|
```bash
|
|
DELETE /systeme/api/tags/{id}
|
|
```
|
|
|
|
### Assign Tag to Contact
|
|
```bash
|
|
POST /systeme/api/contacts/{id}/tags
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"tagId": 12345
|
|
}
|
|
```
|
|
|
|
### Remove Tag from Contact
|
|
```bash
|
|
DELETE /systeme/api/contacts/{id}/tags/{tagId}
|
|
```
|
|
|
|
### List Contact Fields
|
|
```bash
|
|
GET /systeme/api/contact_fields
|
|
```
|
|
|
|
### List Courses
|
|
```bash
|
|
GET /systeme/api/school/courses
|
|
```
|
|
|
|
### Create Enrollment
|
|
```bash
|
|
POST /systeme/api/school/courses/{courseId}/enrollments
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"contactId": 12345
|
|
}
|
|
```
|
|
|
|
### List Enrollments
|
|
```bash
|
|
GET /systeme/api/school/enrollments
|
|
```
|
|
|
|
### Delete Enrollment
|
|
```bash
|
|
DELETE /systeme/api/school/enrollments/{id}
|
|
```
|
|
|
|
### List Communities
|
|
```bash
|
|
GET /systeme/api/community/communities
|
|
```
|
|
|
|
### Create Membership
|
|
```bash
|
|
POST /systeme/api/community/communities/{communityId}/memberships
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"contactId": 12345
|
|
}
|
|
```
|
|
|
|
### List Memberships
|
|
```bash
|
|
GET /systeme/api/community/memberships
|
|
```
|
|
|
|
### Delete Membership
|
|
```bash
|
|
DELETE /systeme/api/community/memberships/{id}
|
|
```
|
|
|
|
### List Subscriptions
|
|
```bash
|
|
GET /systeme/api/payment/subscriptions
|
|
```
|
|
|
|
### Cancel Subscription
|
|
```bash
|
|
POST /systeme/api/payment/subscriptions/{id}/cancel
|
|
```
|
|
|
|
### List Webhooks
|
|
```bash
|
|
GET /systeme/api/webhooks
|
|
```
|
|
|
|
### Create Webhook
|
|
```bash
|
|
POST /systeme/api/webhooks
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"name": "My Webhook",
|
|
"url": "https://example.com/webhook",
|
|
"secret": "my-secret-key",
|
|
"subscriptions": ["CONTACT_CREATED"]
|
|
}
|
|
```
|
|
|
|
Available events: `CONTACT_CREATED`, `CONTACT_TAG_ADDED`, `CONTACT_TAG_REMOVED`, `CONTACT_OPT_IN`, `SALE_NEW`, `SALE_CANCELED`
|
|
|
|
### Update Webhook
|
|
```bash
|
|
PATCH /systeme/api/webhooks/{id}
|
|
Content-Type: application/merge-patch+json
|
|
|
|
{
|
|
"name": "Updated Webhook Name"
|
|
}
|
|
```
|
|
|
|
### Delete Webhook
|
|
```bash
|
|
DELETE /systeme/api/webhooks/{id}
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Contact, tag, course, and enrollment IDs are numeric integers
|
|
- Webhook IDs are UUIDs
|
|
- Uses cursor-based pagination with `startingAfter` parameter
|
|
- PATCH requests require `Content-Type: application/merge-patch+json`
|
|
- Delete operations return 204 No Content
|
|
- Email addresses are validated for real MX records
|
|
- Payment/subscription endpoints may return 404 if not configured
|
|
|
|
## Resources
|
|
|
|
- [Systeme.io API Reference](https://developer.systeme.io/reference)
|
|
- [Systeme.io Developer Documentation](https://developer.systeme.io/)
|