OutPerform Developer Documentation

Your starting point for building high-converting engagement flows, integrating AI outreach, and launching faster lead-to-revenue journeys.

Getting Started

Set up your workspace, authenticate, and understand the fundamentals before making your first API call.

Overview

OutPerform Conversation API helps you manage contacts, labels, conversations, and messages from one endpoint suite.

The Outperform Conversation API allows developers to integrate messaging, contacts, and conversations from Outperform into external systems such as:

  • CRM platforms
  • Chatbots
  • Customer support tools
  • Data analytics systems

All APIs follow REST standards and return JSON responses.

Base URL

All API requests use the following base URL:

https://www.nexcrmapis.com/cloud/conversationapis/v1/

All API requests use the following base URL:

GET https://www.nexcrmapis.com/cloud/conversationapis/v1/contacts

Authentication

All API requests must include an Authorization header.

Authorization: Bearer {access_token}

Authentication Flow

  • Step 1 — Get Refresh Token

    Endpoint

    GET /oauth_login

    Example:

    GET /oauth_login?client_id=CLIENT_ID&client_secret=CLIENT_SECRET

    Response

    JSON
    {
      "refresh_token": "2e7aa83ce2da4e942ef1035c11006352",
      "client_id": "77feaf9e5f0da411a69b06c854e3f705"
    }
  • Step 2 — Get Access Token

    Endpoint

    GET /oauth_access

    Example:

    GET /oauth_access?refresh_token=REFRESH_TOKEN&client_id=CLIENT_ID

    Response

    JSON
    {
      "access_token": "821c51972912d1ca1fe228fd51e990f7",
      "refresh_token": "63867a0ca6af67c9f9a7fb626999a4eb",
      "token_type": "Bearer",
      "expires_in": 3600
    }

Error Handling

All API errors follow this format:

JSON
{
 "error": "invalid access token" 
}

Common error codes

Code Meaning
400 Bad request
401 Unauthorized
403 Invalid token
405 Duplicate record
422 Invalid template

Contacts API

Used to manage prospects inside Outperform.

List Contacts

Retrieve a paginated list of contacts.

Endpoint

GET /contacts

Headers

Authorization: Bearer {access_token} Content-Type: application/json

Query Parameters

Parameter Description
limit number of contacts returned
page page number
label filter by label
search search by name, phone or email

Example Request

Bash
curl -X GET "https://www.nexcrmapis.com/cloud/conversationapis/v1/contacts" \ -H "Authorization: Bearer ACCESS_TOKEN"

Example Response

JSON
{ "data": [ {"name":"John","phone":"60123456789","email":"john@email.com","prospect_token":"ab57bc2059517a0f92c672afa9cd083d"} ] }

Create Contact

Create a new prospect.

Endpoint

POST /contacts

Request

JSON
{"name":"John Doe","contact":"01234567890","email":"john.doe@email.com"}

Example Curl

Bash
curl -X POST https://www.nexcrmapis.com/cloud/conversationapis/v1/contacts \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "name":"John Doe",
  "contact":"01234567890",
  "email":"john@email.com"
}'

Labels API

Retrieve labels used to categorize contacts.

List Labels

Retrieve labels used to categorize contacts.

Endpoint

GET /labels

Example Request

Bash
curl -X GET https://www.nexcrmapis.com/cloud/conversationapis/v1/labels \
-H "Authorization: Bearer ACCESS_TOKEN"

Conversations API

Retrieve conversation threads between prospects and agents.

List Conversations

Retrieve conversation threads between prospects and agents.

Endpoint

GET /conversations

Parameters

Parameter Description
limit number of records
page page number
start_date filter start date
end_date filter end date
prospect_token specific contact

Example Response

JSON
{ "data":[ { "name":"John", "message":[ { "text":"Hello", "direction":"inbound", "timestamp":"2025-06-30 14:45:19" } ] } ] }

Chatbot API

Retrieve chatbot interaction data.

Get Chatbot Conversations

Retrieve chatbot interaction data.

Endpoint

GET /get_chatbot_conversation.php

Filters

Parameter Description
start_date filter start date
end_date filter end date
sentiment positive / negative / neutral
concluded conversation completed

Messaging API

Send WhatsApp messages from Outperform.

Send Session Message

Send a message inside the 24-hour WhatsApp session window.

Endpoint

POST /messaging

Example

JSON
{ "text":"Testing message", "prospect_token":"539b59461fc8a9d26d18f727770a4e0e", "instance_id":"500029" }

Send Template Message

Send a WhatsApp approved template.

Endpoint

POST /template_message

Example

JSON
{
 "prospect_token":"267735f839dc51a5274ac8a6e570fbde",
 "template_name":"event_qr_code_canceled_v3",
 "template_parameter":"Daniel|0129928376|not interested",
 "instance_id":"0809202501"
}

Webhooks

Outperform can send real-time events to your server.

WhatsApp Message Received

Outperform can send real-time events to your server.

Event

whatsapp_message_received

Triggered when a WhatsApp message is received.

Example Webhook Payload

JSON
{
 "event":"whatsapp_message_received",
 "timestamp":"2025-07-22T06:11:52Z",
 "data":{
  "contact":"60182345678",
  "name":"Anwar",
  "direction":"inbound",
  "message":{
   "type":"text",
   "text":"Hi, I'm interested in your project"
  }
 }
}

Your endpoint must return:

HTTP 200

within 10 seconds.

Kuala Lumpur
D-13-06, Menara Suezcap 1
KL Gateway, No.2, Jalan Kerinchi,
Gerbang Kerinchi Lestari,
59200 Kuala Lumpur
Phone: +6011 1722 5941
Email: business@nexible.com.my
© 2025 Outperform. All Rights Reserved. Privacy Policy