New feature
Check out our API

Partnership Integration Guide

A step-by-step guide for partners to integrate with Salesmsg using OAuth 2.0. Securely connect, sync data, and deliver seamless messaging experiences together.

Our partnership integration guide walks you through everything you need to get up and running quickly. We've built a secure, straightforward OAuth 2.0 implementation that lets your users authenticate seamlessly while keeping their data protected.

Usage Guidelines

Our API uses OAuth 2.0 to keep things secure. Here's what you'll need to do:

  • Register your application to get your client credentials

  • Set up the OAuth 2.0 authorization code flow

  • Use your access token to make API calls

For additional documentation and implementation examples, check out our API documentation.

OAuth 2.0 Flow

This guide provides step-by-step instructions on how to implement OAuth 2.0 authentication with the Salesmsg API to securely connect your application.

1. Register Your Application

Head over to the Salesmsg Developer Portal and register your application to get your:

  • Client ID

  • Client Secret

  • Redirect URL

2. Request Authorization Code

Send your users to the authorization URL with these details:

Configure New Token section parameters:

  • client_id: Your client ID

  • client_secret: Your client secret

  • scope: (as required)

  • state: (recommended for CSRF protection)

Token Request section parameters:

  • client_id: Your client ID

  • client_secret: Your client secret

Response Example:
{
 “access_token”: “ACCESS_TOKEN”,
 “refresh_token”: “REFRESH_TOKEN”,
 “expires_in”: 86340,
 “token_type”: “Bearer”
}

3. Refresh Access Token

When the access token expires, use the refresh token:

Endpoint:
POST https://api.example.com/oauth/token
Content-Type: application/x-www-form-urlencoded or application/json
Request Example:

grant_type=refresh_token
refresh_token=YOUR_REFRESH_TOKEN
client_id=YOUR_CLIENT_ID
client_secret=YOUR_CLIENT_SECRET

Or:

Request Example:
{
 “grant_type”: “refresh_token”,
 “refresh_token”: “YOUR_REFRESH_TOKEN”,
 “client_id”: “YOUR_CLIENT_ID”,
 “client_secret”: “YOUR_CLIENT_SECRET”
}

Or:

API Call Examples

Now, you can search contact by number.

Endpoint:
GET https://app.salesmessage.com/api/v4/contacts/search?limit={limit}&term={term}
Content-Type: application/x-www-form-urlencoded Authorization: Bearer ACCESS_TOKEN

You will get Contact object in return.

Response example:
{
  "results": [
    {
      "id": 0,
      "owner_id": 0,
      "color": "#ffd37a",
      "first_name": null,
      "last_name": null,
      "full_name": "",
      "email": null,
      "photo_url": "https://app.salesmessage.com/images/app/default-avatar.png",
      "number": "+12025561234",
      "country": "US",
      "country_calling_code": "1",
      "national_number": "2025561234",
      "formatted_number": "(202) 556-1234",
      "is_blocked": false,
      "opt_out": null,
      "opt_out_at": "",
      "opt_in_request_at": "",
      "opt_in_requests": [],
      "opt_in_at": "",
      "shortcode_opt_outs": [],
      "is_invalid": false,
      "lookup_type": null,
      "carrier_name": null,
      "source": "workflow",
      "created_at": "2025-05-23 08:20:40",
      "updated_at": "2025-05-23 08:20:46",
      "integration_vendor_id": 0,
      "prevent_autolink": false,
      "integration": {},
      "custom_fields": [],
      "tags": [],
      "notes": [],
      "area_code": {
        "id": 2,
        "area_code": "202",
        "state_code": "DC",
        "state_name": "District of Columbia",
        "country_code": "US",
        "time_zone": "Eastern"
      },
      "keywords": []
    }
  ],
  "total": 1,
  "errors": null
}

View more
View less

The best way to get
something done is to start

Sign up here for a 14-day trial and be on your way to engaging
with your customers faster than ever before.
Start Your Free 14-Day Trial
Still have questions? Text us: (561) 788-7898