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:
| 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}")
|