Using the Endear API to Get Tasks (with PHP examples)

by Endgrate Team 2024-07-23 5 min read

Endear homepage

Introduction to Endear API Integration

Endear is a powerful CRM platform designed to enhance customer relationships by providing businesses with tools to manage and analyze customer interactions. Its robust features make it an ideal choice for companies looking to streamline their customer engagement processes.

Developers might want to integrate with Endear's API to automate and manage tasks efficiently. For example, using the Endear API, a developer can retrieve tasks related to customer follow-ups, ensuring that no customer interaction is missed and enhancing overall customer satisfaction.

Setting Up Your Endear Test Account for API Integration

Before diving into the integration process with Endear's API, it's essential to set up a test account. This will allow you to experiment and interact with the API without affecting live data. Endear provides a straightforward way to create an integration and obtain the necessary API key for authentication.

Steps to Create an Endear Integration and Generate an API Key

  1. Visit Your Endear Settings: Log in to your Endear account and navigate to the settings page.
  2. Access the Integrations Section: Click on the "Integrations" tab to view available integration options.
  3. Add a New Integration: Select "Add Integration" and choose "API" from the list of options.
  4. Fill in the Required Details: Provide the necessary information to create the integration. Once completed, you will receive your API key.

Ensure that you store the API key securely, as it will be required for authenticating your API requests. Remember, each API key is scoped to a specific brand, so you may need separate keys for different brands.

Authenticating API Requests with Your API Key

Once you have your API key, you can authenticate your requests to Endear's API. The API uses a POST request to the endpoint https://api.endearhq.com/graphql. Include the following header in your requests:

"X-Endear-Api-Key: {{API_KEY}}"

Replace {{API_KEY}} with the API key you generated. This header is crucial for successful authentication and interaction with the Endear API.

For more detailed information on authentication, you can refer to the Endear Authentication Documentation.

Endear authentication documentation page.
sbb-itb-96038d7

Making API Calls to Retrieve Tasks from Endear Using PHP

To interact with the Endear API and retrieve tasks, you'll need to make a POST request to the GraphQL endpoint. This section will guide you through setting up your PHP environment, installing necessary dependencies, and executing the API call to fetch tasks.

Setting Up Your PHP Environment for Endear API Integration

Before making API calls, ensure you have the following prerequisites:

  • PHP 7.4 or higher installed on your machine.
  • Composer, the PHP package manager, to manage dependencies.

Once you have PHP and Composer installed, create a new project directory and navigate to it in your terminal. Run the following command to initialize a new Composer project:

composer init

Next, install the Guzzle HTTP client, which will be used to make HTTP requests to the Endear API:

composer require guzzlehttp/guzzle

Writing PHP Code to Fetch Tasks from Endear API

With your environment set up, you can now write the PHP code to interact with the Endear API. Create a new PHP file, for example, get_tasks.php, and add the following code:


require 'vendor/autoload.php';

use GuzzleHttp\Client;

$client = new Client();

$apiKey = 'YOUR_API_KEY'; // Replace with your actual API key

$query = <<post('https://api.endearhq.com/graphql', [
    'headers' => [
        'Content-Type' => 'application/json',
        'X-Endear-Api-Key' => $apiKey,
    ],
    'json' => ['query' => $query],
]);

$data = json_decode($response->getBody(), true);

foreach ($data['data']['searchTasks']['edges'] as $task) {
    echo "Task ID: " . $task['node']['id'] . "\n";
    echo "Title: " . $task['node']['note']['title'] . "\n";
    echo "Description: " . $task['node']['note']['description'] . "\n";
    echo "Deadline: " . $task['node']['deadline'] . "\n";
    echo "Timezone: " . $task['node']['timezone'] . "\n\n";
}

Replace YOUR_API_KEY with the API key you generated earlier. This script initializes a Guzzle client, sets up the GraphQL query to fetch tasks, and sends a POST request to the Endear API endpoint. The response is parsed and displayed in a readable format.

Running the PHP Script and Verifying the Output

To execute the script, run the following command in your terminal:

php get_tasks.php

You should see a list of tasks with their details printed in the terminal. If the request is successful, the tasks retrieved from your Endear test account will match those displayed in the output.

Handling Errors and Understanding Endear API Rate Limits

While making API calls, it's crucial to handle potential errors. The Endear API may return HTTP 429 errors if you exceed the rate limit of 120 requests per minute. Implement error handling in your code to manage such scenarios gracefully.

For more information on rate limits and error handling, refer to the Endear Rate Limits and Errors Documentation.

Endear API call documentation page.

Best Practices for Using the Endear API in PHP

When working with the Endear API, it's crucial to follow best practices to ensure efficient and secure integration. Here are some recommendations:

  • Secure API Keys: Always store your API keys securely. Avoid hardcoding them in your source code. Consider using environment variables or a secure vault to manage sensitive information.
  • Handle Rate Limits: Be mindful of the rate limit of 120 requests per minute. Implement logic to handle HTTP 429 errors by retrying requests after a delay or using exponential backoff strategies.
  • Data Transformation: Standardize and transform data fields as needed to ensure compatibility with your application's data structures. This will help maintain consistency across different integrations.

Enhance Your Integration Experience with Endgrate

Integrating with multiple platforms can be complex and time-consuming. Endgrate simplifies this process by providing a unified API endpoint that connects to various platforms, including Endear. With Endgrate, you can:

  • Save Time and Resources: Focus on your core product by outsourcing integrations to Endgrate, reducing development time and costs.
  • Build Once, Use Everywhere: Create a single integration for each use case and apply it across multiple platforms, streamlining your development efforts.
  • Improve Customer Experience: Offer an intuitive and seamless integration experience for your customers, enhancing their satisfaction and engagement.

Explore how Endgrate can transform your integration strategy by visiting Endgrate today.

Read More

Ready to get started?

Book a demo now

Book Demo