Skip to content

Fetching Adaptix Contacts with Advanced Filters and Basic Authentication

PHP example

This PHP script demonstrates how to connect to a Adaptix API endpoint using GuzzleHttp. It authenticates via Basic Authentication, constructs advanced filter parameters (such as filtering contacts by email address), and retrieves contact data in JSON format.

Using Guzzle, install it via Composer

composer require guzzlehttp/guzzle

<?php

require __DIR__ . '/vendor/autoload.php';

use GuzzleHttp\Client;

$baseUrl = 'https://instance.adaptix.ai'; // Update with your instance URL
$client = new Client();

$query = [
    'where[0][col]' => 'email',
    'where[0][expr]' => 'eq',
    'where[0][val]' => 'john+doe@mydomain.com',
];

try {
    $response = $client->request('GET', $baseUrl . '/api/contacts', [
        'auth' => ['username', 'password'], // Basic Auth
        'query' => $query,
        'headers' => [
            'Accept' => 'application/json',
        ]
    ]);

    $contacts = $response->getBody()->getContents();
    print_r(json_decode($contacts, true));

} catch (\Exception $e) {
    echo 'Error: ' . $e->getMessage();
}

Java example

Here’s the Java version using the popular HttpClient from Java 11+ for making the GET request with Basic Authentication and query parameters:

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class AdaptixApiRequest {

    public static void main(String[] args) {
        try {
            String baseUrl = 'https://instance.adaptix.ai'; // Update with your instance URL
            String email = "john+doe@mydomain.com";

            String query = String.format("where[0][col]=%s&where[0][expr]=%s&where[0][val]=%s",
                    URLEncoder.encode("email", StandardCharsets.UTF_8),
                    URLEncoder.encode("eq", StandardCharsets.UTF_8),
                    URLEncoder.encode(email, StandardCharsets.UTF_8));

            String url = baseUrl + "/api/contacts?" + query;

            String username = "username";
            String password = "password";
            String auth = Base64.getEncoder().encodeToString((username + ":" + password).getBytes());

            HttpClient client = HttpClient.newHttpClient();

            HttpRequest request = HttpRequest.newBuilder()
                    .uri(URI.create(url))
                    .header("Authorization", "Basic " + auth)
                    .header("Accept", "application/json")
                    .GET()
                    .build();

            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

            System.out.println("Response:");
            System.out.println(response.body());

        } catch (Exception e) {
            System.out.println("Error: " + e.getMessage());
        }
    }

}

Python example

This Python script uses the popular requests library to perform a Basic Authentication request to the Adaptix API and apply advanced contact filtering:

pip install requests

import requests
from requests.auth import HTTPBasicAuth

base_url = 'https://instance.adaptix.ai'  # Update with your instance URL
username = 'username'
password = 'password'

query_params = {
    'where[0][col]': 'email',
    'where[0][expr]': 'eq',
    'where[0][val]': 'john+doe@mydomain.com',
}

try:
    response = requests.get(
        f"{base_url}/api/contacts",
        auth=HTTPBasicAuth(username, password),
        params=query_params,
        headers={
            'Accept': 'application/json'
        }
    )

    response.raise_for_status()  # Raise exception for HTTP errors
    contacts = response.json()
    print(contacts)

except requests.exceptions.RequestException as e:
    print(f"Error: {e}")