Skip to main content

This library provides developers with a simplified way to authenticate, search contact, add contact, and update contact in Daynamics Customer Insights - Journeys

Project description

Dynamics Dataverse API Library - Contact Management

Dynamics Customer Insights - Journeys - Dataverse

This library provides a set of functions to interact with Microsoft Dataverse (formerly known as Common Data Service) using the Dynamics 365 REST API. It includes functionalities for authentication, searching contacts, adding contacts, and updating contacts.

Installation

To use this library, you need to have requests and json modules installed. You can install requests using pip:

pip install requests

Now you need to install the Dynamics library:

pip install dynamics

Usage

Import the library

from dynamics import contacts

Authentication - Return Access Token

This function authenticates and returns an access token required for accessing Dataverse.

    # Replace these variables with your actual values
    tenant_id = 'tenant_id'
    client_id = 'client_id'
    client_secret = 'client_secret'
    tenant_name = 'tenant_name'
    crm_url = f"https://{tenant_name}.crm4.dynamics.com/"
    # Create Access Token
    access_token = contacts.accessToken(tenant_id, client_id, client_secret, crm_url)

Now if the access_token is generated successfully you may proceed, otherwise make sure you setup the environment correctly. You may need to go to this reference.

Search Contact in Dynamics

This function searches for a contact in Dataverse based on the provided search criteria.

    # Search for a contact
    search_params = {
        "firstname": "fname",
        "lastname": "lname",
        "emailaddress1": "email"
    }
    # You may customize the returned fields here
    return_fields = "firstname,lastname,emailaddress1,mobilephone"
    contacts = contacts.search_contacts(crm_url, access_token, search_params, return_fields)
    print(contacts)

Add Contact to Dynamics

This function adds a new contact to Dataverse.

   contact_data = {
        "firstname": "fname",
        "lastname": "lname",
        "birthdate": "%Y-%m-%d",
        "emailaddress1": "email",
        "mobilephone": "12345678"
    }
    # Add contact to Dataverse
    add_contact = contacts.add_contact(contact_data, crm_url, access_token)

If you want to know the fields that you can add to Dynamics, please check this reference.

Update Contacts in Dynamics

This function updates an existing contact in Dataverse based on the provided contact ID and update data.

    # Update contracts
    update_data = {
        "firstname": "fname",
        "lastname": "lname"
    }
    contact_id= "contactid"
    updated_contact = contacts.update_contact(access_token, contact_id, update_data, crm_url)

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

License

This project is licensed under the Apache License. See the LICENSE file for details.

Acknowledgements

  • Microsoft Dynamics 365 REST API
  • Medium Article on Accessing Microsoft Dynamics 365 REST API using Python

Final note

I'd like to express my gratitude to the enchanting city of Tartu, Estonia, where I spent a delightful vacation and crafted this code.

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

dynamicscontacts-0.4.0.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

dynamicscontacts-0.4.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file dynamicscontacts-0.4.0.tar.gz.

File metadata

  • Download URL: dynamicscontacts-0.4.0.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.5

File hashes

Hashes for dynamicscontacts-0.4.0.tar.gz
Algorithm Hash digest
SHA256 4d82d0f5a5b15c63b8e767b426e95c0bbfc668e5aa0e5f215507bb9f8e4cdbf3
MD5 2f4bb9e903e128e195766eb9bd44a59f
BLAKE2b-256 531abb8bdc6d36749d9b316c2009ddfd810e932c26321e291b693ad5c6f6c07e

See more details on using hashes here.

File details

Details for the file dynamicscontacts-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for dynamicscontacts-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30256ee1b7fd6e5e54eb164f0b97abed1d0ffa89efd6d6e06c90f6406e714687
MD5 8d426a4277a3051d07f05220cb3de896
BLAKE2b-256 ebc961077fea2d8e8999600194a68fdde481262396a849397ebdb177f8f38fa2

See more details on using hashes here.

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