Skip to main content

Async python wrapper for KeepinCRM API

Project description

Async Python Wrapper for KeepinCRM API

This is an async Python wrapper for the KeepinCRM API that allows you to interact with the API using simple and convenient methods. The wrapper provides a KeepinClient class with async methods for making HTTP requests and retrieving data from the API.

Installation

You can install the library using pip:

pip install aiokeepin

Usage

To use the KeepinCRM async Python wrapper, import the KeepinClient class from the library:

from aiokeepin import KeepinClient

Initializing the Client

Create an instance of the KeepinClient class by providing your API key:

client = KeepinClient(api_key='YOUR_API_KEY')

Making API Requests

The KeepinClient instance provides async methods that correspond to the different HTTP request methods (GET, POST, PATCH, PUT, DELETE). Each method returns a dictionary containing the response from the API.

GET Request Example

response = await client.get('/clients')
print(response)

POST Request Example

data = {
  "email": "pib@example.com",
  "company": "Назва чи ПІБ",
  "lead": True,
  "source_id": 5,
  "status_id": 1,
  "phones": [
    "+380000000001"
  ],
  "tag_names": [
    "VIP"
  ],
  "contacts_attributes": [
    {
      "fullname": "Прізвище Імʼя По батькові",
      "phones": [
        "+380000000002"
      ],
      "custom_fields": [
        {
          "name": "Посада",
          "value": "Директор"
        }
      ]
    }
  ]
}

response = await client.post('/clients', data=data)
print(response)

PATCH Request Example

data = {
  "email": "new_email@example.com"
}

response = await client.patch('/clients/{client_id}', data=data)
print(response)

PUT Request Example

data = {
  "email": "updated_email@example.com"
}

response = await client.put('/clients/{client_id}', data=data)
print(response)

DELETE Request Example

response = await client.delete('/clients/{client_id}')
print(response)

GET Paginated Items Example

response = await client.get_paginated_items('/clients')

Error Handling

In case of an error response from the KeepinCRM API, an exception will be raised. The exceptions provided by the aiokeepin library inherit from the base KeepinException class. There are several specific exceptions available for different types of errors:

  • KeepinStatusError: This exception is raised for non-2xx status codes. It contains the status_code and response attributes, providing information about the error.

  • InvalidAPIKeyError: This exception is raised specifically for an invalid API key.

  • ValidationError: This exception is raised for invalid data.

  • NotFoundError: This exception is raised when the requested resource is not found.

  • InternalServerError: This exception is raised for internal server errors.

When making API requests, you can handle exceptions using try-except blocks to capture and handle specific types of errors. Here's an example:

from aiokeepin.exceptions import KeepinStatusError, InvalidAPIKeyError

try:
    response = await client.get('/nonexistent_endpoint')
except InvalidAPIKeyError:
    print("Invalid API key provided.")
except KeepinStatusError as e:
    print(f"Error: {e.status_code} - {e.response}")

You can customize the exception handling based on your specific needs. By catching the appropriate exceptions, you can handle different error scenarios and provide appropriate error messages or take specific actions. Make sure to refer to the documentation for the KeepinCRM API for more details on the possible error responses and their corresponding status codes.

Documentation

For detailed information on the KeepinCRM API, refer to the official API documentation: KeepinCRM API Documentation

License

This project is licensed under the MIT License. See the LICENSE file for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiokeepin-0.2.0.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

aiokeepin-0.2.0-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file aiokeepin-0.2.0.tar.gz.

File metadata

  • Download URL: aiokeepin-0.2.0.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.11 Linux/6.2.15-300.fc38.x86_64

File hashes

Hashes for aiokeepin-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5dfe9c479d7d2d7f859e4a183fbb89b1b2fe3aa01862fd8df4814084f5d7b0ae
MD5 91c924e9780ddb4d44f91d8e635fb83a
BLAKE2b-256 bce68be4b2421faa2a22cff4cec39b03db733ccc06b9cdd7101e9647cab2a607

See more details on using hashes here.

Provenance

File details

Details for the file aiokeepin-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: aiokeepin-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.11 Linux/6.2.15-300.fc38.x86_64

File hashes

Hashes for aiokeepin-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b98662eba6b0bd4f8962fcc28ba833fb974ab16171866aa01cbb6b5862c744aa
MD5 8816bf3ef92d896f37eda3c8471650ef
BLAKE2b-256 8a6a6aa92689c3e9a6f17ce21659284a56db548310df3a79786aabb24589e1b4

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page