Skip to main content

Salesmanago Tools is a project designed to simplify working with the Salesmanago API

Project description

salesmanago-tools

Python Class for SalesManago integration.

Installation

pip install salesmanago-tools

Third Party Libraries and Dependencies

The following libraries will be installed when you install the client library:

  • requests
  • aiohttp
  • pandas

Class

Start with import from salesmanago_tools.utils import SalesmanagoDataClient

Initialization

salesmanago_client = SalesmanagoDataClient(
    clientId="YOUR CLIENT_ID",
    apiKey="YOUR API_KEY",
    sha="YOUR OWNER_EMAIL",
    owner="YOUR SHA",
)

Export data with example

Initiates the export process for specific data and returns the data as a CSV generator.

  • param value: The value associated with the export, such as an email or tag.
  • param addresseeType: The type of recipient (default is "tag").
  • return: A CSV generator containing the exported data.
async def example_call_export_data():
    contacts = await salesmanago_client.export_data(value="TEST_TAG", addresseeType="tag")
    return contacts


asyncio.run(example_call_export_data())

This function will make a request to export contacts by tag TEST_TAG

Fetch all contacts from salesmanago

Fetches all contacts from SalesManago and returns them as a list.

  • param page_size: The number of contacts to retrieve per request (default is 1000).
  • param page: The page number to fetch (default is 1).
  • return: A list of contacts, with each contact formatted as a list of details.
async def example_call_fetch_all_contacts_from_salesmanago():
    contacts = await salesmanago_client.fetch_all_contacts_from_salesmanago()
    return contacts


asyncio.run(example_call_fetch_all_contacts_from_salesmanago())

This function will make a request to export all contacts without any filters

Push people to salesmanago

Pushes a list of people to Salesmanago for upsert, handling each person's details and tags.

  • param people_list_to_push: A list of people data (dictionaries) ("Email", "Phone", "Country", "City", "Name", "properties") to push to Salesmanago.
  • param tags: A list of tags to associate with each person (default is an empty list).
  • return: None
async def example_call_push_people_to_salesmanago():

    await salesmanago_client.push_people_to_salesmanago(
        people_list_to_push=[
            {
                "Email": "example@gmail.com",
                "Phone": "+380000000000",
                "Country": "Ukraine",
                "City": "Dnipro",
                "Name": "Name Surname",
                "properties": {
                    "property1": 1000,
                    "property2": False,
                    "property3": "3000"

                }
            },
            {
                "Email": "example2@gmail.com",
                "Phone": "+38111111111",
                "Country": "Ukraine",
                "City": "Kharkiv",
                "Name": "Name Second Surname",
                "properties": {
                    "property1": 1000,
                    "property2": False,
                    "property3": "3000"

                }
            },
        ],
        tags=["TAG1, TAG2"]
    )


asyncio.run(example_call_push_people_to_salesmanago())

In this example we have added two people, each of them will have tags TAG1 and TAG2

Update tag salesmanago

Updates the tags for a specific contact in Salesmanago.

  • param email: The email of the contact whose tags are to be updated.
  • param tags: A list of tags to assign to the contact.
  • return: None
async def example_call_update_tag_salesmanago():
    await salesmanago_client.update_tag_salesmanago(
        email="example@gmail.com", 
        tags=["TAG1", "TAG2"]
    )

asyncio.run(example_call_update_tag_salesmanago())

In this example we have added TAG1 and TAG2 tags to person whose email is example@gmail.com

Delete tag salesmanago

Deletes the tags for a specific contact in Salesmanago.

  • param email: The email of the contact whose tags are to be deleted.
  • param tags: A list of tags to delete from the contact.
  • return: None
async def example_call_delete_tag_salesmanago():
    await salesmanago_client.delete_tag_salesmanago(
        email="example@gmail.com", 
        tags=["TAG1", "TAG2"]
    )

asyncio.run(example_call_delete_tag_salesmanago())

In this example we have deleted TAG1 and TAG2 tags from person whose email is example@gmail.com

Update standard details salesmanago

Updates the standard details for a specific contact in Salesmanago.

  • param email: The email of the contact whose tags are to be updated.
  • param properties: A dictionary of properties to assign to the contact.
  • return: None
async def example_call_update_standard_details_salesmanago():

    await salesmanago_client.update_standard_details_salesmanago(
        email="example@gmail.com", 
        properties={"standard1_detail": 1, "standard2_detail": "2"}
    )

asyncio.run(example_call_update_standard_details_salesmanago())

In this example we have added TAG1 and TAG2 tags to person whose email is example@gmail.com

Get contact info by email

Retrieves detailed contact information by email from Salesmanago.

  • param contact_email: The email of the contact to retrieve information for.
  • return: A dictionary with contact details including name, company, tags, and other properties.
async def example_call_get_contact_info_by_email():
    contact = await salesmanago_client.get_contact_info_by_email(contact_email="example@gmail.com")
    return contact

asyncio.run(example_call_get_contact_info_by_email())

In this example, we got additional information about the user knowing only his email.

Add or modify contact

Adds or modifies a contact in Salesmanago.

  • param email: The email of the contact to add or modify.
  • param tags: A list of tags to assign to the contact.
  • param properties: A dictionary of properties to set for the contact.
  • param additional_contact_info: A dictionary of additional contact information such as phone, company, etc.
  • param kwargs: Additional keyword arguments for custom fields like useApiDoubleOptIn, doubleOptInEmailId, etc.
async def example_add_or_modify_contact():
    await salesmanago_client.add_or_modify_contact(
        email="example@gmail.com",
        tags=["test1", "test2"],
        properties={"test_property": "test_value"},
        additional_contact_info={"phone": "+1234567890", "company": "Test Company"},
        forceOptIn=True,
        forceOptOut=False,
        forcePhoneOptIn=False,
        forcePhoneOptOut=True,
        useApiDoubleOptIn=True,
        doubleOptInLanguage="ES",
    )

asyncio.run(example_add_or_modify_contact())

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

salesmanago_toolkit-0.2.18.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

salesmanago_toolkit-0.2.18-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file salesmanago_toolkit-0.2.18.tar.gz.

File metadata

  • Download URL: salesmanago_toolkit-0.2.18.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for salesmanago_toolkit-0.2.18.tar.gz
Algorithm Hash digest
SHA256 5a4e27c4419e01883ea98bfe430950bced879170ed303cb437f7387e5df5b122
MD5 e2fc8f0ed29e77c31173dc6f79e77f82
BLAKE2b-256 61476cfa0fdd033f1067da9bd2e272ea94c08600d16e79d50c88c7302cafac21

See more details on using hashes here.

File details

Details for the file salesmanago_toolkit-0.2.18-py3-none-any.whl.

File metadata

File hashes

Hashes for salesmanago_toolkit-0.2.18-py3-none-any.whl
Algorithm Hash digest
SHA256 8346f3b9d33c411257c70a287f42e2b0d363f182c853f9543640da2b02e63093
MD5 74a755e646e859671c21e7606c226702
BLAKE2b-256 a4b218defb873a51d9509c0c0f8457bf0a0ffd20a14074603e182542004ad1ac

See more details on using hashes here.

Supported by

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