Skip to main content

Python library used to extract data from Salesforce API and migrate it to Bigquery.

Project description

How to contribute

After clone repository

1.- Install dependencies

poetry install

2.- Run test

make test

3.- Run lint

make lint && make isort

How to publish new version

Once we have done a merge of our Pull request and we have the updated master branch we can generate a new version. For them we have 3 commands that change the version of our library and generate the corresponding tag so that the Bitbucket pipeline starts and publishes our library automatically.

make release-patch
make release-minor
make release-major

How works

This project provides an API for querying Salesforce opportunities data and transforming it into an easy-to-use format. The API is built upon the SalesforceQueryExecutor and Project classes, with the latter inheriting from SalesforceQueryExecutor.

Installation

Make sure you have Python 3.8+ installed. Then, install the required dependencies using poetry:

poetry install

Usage

First, import the necessary classes:

from ms_salesforce_to_bigquery.salesforce.project import Project

Then, initialize the Project class with your Salesforce credentials:

project = Project(
    client_id="your_client_id",
    username="your_username",
    domain="your_domain",
    private_key="your_private_key",
    audience="https://login.salesforce.com", # Default value
    session_duration_hours=1, # Default value
    api_version='57.0',  # Default value
)

Now, you can call the get_opportunities method with a query to get the opportunities data:

opportunities = project.get_opportunities()

The opportunities variable will contain an array of opportunity objects with the transformed data. For example:

[
    {
        "client_fiscal_name": "Five Eight Twenty-Two Consulting Inc.",
        "client_account_name": "5822",
        "currency": "CAD",
        "amount": 30000.0,
        "invoicing_country_code": "ES",
        "operation_coordinator_email": "jhon.doe@ext.makingscience.com",
        "operation_coordinator_sub_email": "jhon.doe@ext.makingscience.com",
        "created_at": "2023-02-15T09:30:06.000+0000",
        "last_updated_at": "2023-04-04T10:43:24.000+0000",
        "opportunity_name": "5822 - OPORTUNITY NAME",
        "stage": "Closed Won",
        "billing_country": "CA",
        "lead_source": "TEST LEAD SOURCE",
        "project_code": "ESMSEX00000",
        "project_id": "1234567890abcde",
        "project_name": "PROJECT TEST NAME",
        "project_start_date": "2023-02-01",
        "controller_email": None,
        "controller_sub_email": "jhon.doe@ext.makingscience.com",
        "profit_center": None,
        "cost_center": None,
        "project_tier": "Unkown",
        "jira_task_url": "https://makingscience.atlassian.net/browse/ESMSBD0001-00000",
        "opportunity_percentage": 100.0
    }
]

You can customize the query as needed to retrieve different data from Salesforce.

query = "SELECT Id, Name FROM Project WHERE Project.Id = 'ESMS0000'"

opportunities = project.get_opportunities(query)

Testing

To run the unit tests, simply execute the following command:

make test

This will run all the tests and display the results. Make sure that all tests pass before using the API in a production environment.

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

ms_salesforce_to_bigquery-0.0.9.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

ms_salesforce_to_bigquery-0.0.9-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

Details for the file ms_salesforce_to_bigquery-0.0.9.tar.gz.

File metadata

  • Download URL: ms_salesforce_to_bigquery-0.0.9.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.10.6 Linux/5.15.0-1035-azure

File hashes

Hashes for ms_salesforce_to_bigquery-0.0.9.tar.gz
Algorithm Hash digest
SHA256 2a8f4a7f21587debdf5ff1bb1253995acd44f32fc4aefb28d87d9f12290b8655
MD5 62dbaed7b3c64b8b292c7342d6d20188
BLAKE2b-256 6358d0a224cd7119d0dc4afcc7fe660cfbf1056e9b07926fc03cca4b85123f33

See more details on using hashes here.

File details

Details for the file ms_salesforce_to_bigquery-0.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for ms_salesforce_to_bigquery-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d53f4e1c33f2af8f1357f5d4e0415a0a74df3e871d1a8fcf04201812cfe787c4
MD5 684f5127433d218ab2135dca6e752fbd
BLAKE2b-256 eb2e854084f6b2af26402e1f74e9b6e8cb06e13628a9338ba4cc08258a903403

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