Get Started

Welcome to the SoluCX API documentation! This guide will take you from zero to your first working integration in just a few minutes.

What is the SoluCX API?

The SoluCX API is a RESTful API that allows you to integrate the customer experience management platform into your systems. With it you can:

  • Create transactions that represent your customers' interactions with your company
  • Manage customers, units, and employees programmatically
  • Trigger surveys automatically based on events
  • Query satisfaction data and reports

Base URL

EnvironmentURL
Productionhttps://api.solucx.com.br/public
Preview (beta)https://api.preview.solucx.com.br/public

Fundamental Concepts

Before you begin, it's important to understand the main concepts of the platform:

Transaction - A transaction represents a customer interaction with your company. It can be a purchase, a service call, a delivery, etc. Each transaction can automatically trigger a survey.

Journey - A journey is a type of experience you want to measure (e.g., "post-purchase", "post-service"). You configure journeys in the SoluCX dashboard and reference them via journeySlug when creating transactions.

Survey - A survey is automatically sent to the customer after a transaction, based on the configured journey. It can be NPS, CSAT, CES, or custom.

Customer - Represents the person who will receive the survey. Identified by email, phone, or both.

Unit (Store) and Employee - Entities that allow you to segment and analyze feedback by business unit and by attendant. Examples of units: stores (retail), clinics (healthcare), agencies (financial).

Step 1: Get your API credentials

To use the SoluCX API, you will need two authentication keys:

  • x-solucx-api-key: Your instance's API key
  • x-solucx-user-token: User token for authentication

To obtain your credentials, contact our support at [email protected].

Step 2: Make your first request

Test your credentials by querying transactions in the API:

cURL
JavaScript
Python
curl -X GET 'https://api.solucx.com.br/public/transaction?date_from=2024-01-01&date_to=2024-01-31&limit=1' \
  -H 'x-solucx-api-key: YOUR_API_KEY' \
  -H 'x-solucx-user-token: YOUR_USER_TOKEN'

If everything is correct, you will receive a 200 OK response with transaction data.

Step 3: Configure the journey in the dashboard

For the survey to be sent, configure a journey:

  1. Access Journeys in the SoluCX dashboard
  2. Create or edit a journey with the slug post-purchase (the same that will be used in journeySlug)
  3. Configure which survey to send and when (immediately, after 1 day, etc.)
  4. Activate the journey

Step 4: Create your first transaction

Now let's create a transaction that will trigger a survey. Use the /v2/transactions endpoint:

cURL
JavaScript
Python
curl -X POST 'https://public-api.gke-prd.solucx.com.br/v2/transactions' \
  -H 'x-solucx-api-key: YOUR_API_KEY' \
  -H 'x-solucx-user-token: YOUR_USER_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "transaction": {
    "externalId": "order-12345",
    "journeySlug": "post-purchase",
    "experienceDate": "2024-01-15T14:30:00Z"
  },
  "customer": {
    "name": "John Smith",
    "email": "[email protected]",
    "phone": "+5511999998888"
  },
  "store": {
    "externalId": "unit-sp-downtown",
    "name": "Unit SP Downtown"
  },
  "employee": {
    "externalId": "employee-123",
    "name": "Mary Johnson"
  }
}'

A successful response will look like this:

{
  "success": true,
  "data": {
    "id": 12345,
    "externalId": "order-12345",
    "status": "pending",
    "createdAt": "2024-01-15T14:30:00Z"
  }
}

Step 5: Verify the result

After creating the transaction and configuring the journey:

  • The survey will be automatically sent to the customer via email/SMS
  • You can track results in the SoluCX dashboard under NPS and Statement reports

To query a specific transaction via API:

cURL
curl -X GET 'https://api.solucx.com.br/public/transaction?transactionId=order-12345' \
  -H 'x-solucx-api-key: YOUR_API_KEY' \
  -H 'x-solucx-user-token: YOUR_USER_TOKEN'

Example response:

{
  "id": "12345",
  "transaction_id": "order-12345",
  "external_id": "order-12345",
  "aval_complete": true,
  "journey": "post-purchase",
  "rating": {
    "value": "9",
    "source": "email"
  },
  "customer": {
    "name": "John Smith",
    "email": "[email protected]"
  }
}

Next Steps

Practical Examples

E-commerce transaction

// After order confirmation
await createTransaction({
  externalId: order.id,
  journeySlug: 'post-purchase',
  customer: {
    name: order.customer.name,
    email: order.customer.email,
    phone: order.customer.phone
  },
  extras: {
    order_value: order.value,
    products: order.items.map(i => i.name).join(', ')
  }
});

Support transaction

// After closing a support ticket
await createTransaction({
  externalId: ticket.id,
  journeySlug: 'post-support',
  customer: {
    name: ticket.customer.name,
    email: ticket.customer.email
  },
  employee: {
    externalId: ticket.agent.id,
    name: ticket.agent.name
  },
  extras: {
    category: ticket.category,
    resolution_time: ticket.resolutionTime
  }
});

If you have questions, contact our support team at [email protected].