Skip to main content

Singer.io tap for extracting data from the Twilio API - PipelineWise compatible

Project description

pipelinewise-tap-twilio

PyPI version PyPI - Python Version License: MIT

Singer tap that extracts data from a Twilio API and produces JSON-formatted data following the Singer spec.

This is a PipelineWise compatible tap connector.

This tap:

Streams

Standard Endpoints:

accounts

addresses

dependent_phone_numbers

applications

available_phone_number_countries

available_phone_numbers_local

available_phone_numbers_mobile

available_phone_numbers_toll_free

incoming_phone_numbers

keys

calls

conferences

conference_participants

outgoing_caller_ids

recordings

transcriptions

queues

message_media

usage_records

usage_triggers

alerts

TaskRouter Endpoints:

workspaces

activities

events

tasks

task_channels

task_queues

cumulative_statistics

workers

channels

workflows

Programmable Chat Endpoints:

services

roles

chat_channels

members

chat_messages

users

Authentication

This tap authenticates to the Twilio API using Basic Auth.

To set up authentication simply include your Twilio account_sid and auth_token in the tap config.

Quick Start

  1. Install

    python3 -m venv venv
    . venv/bin/activate
    pip install --upgrade pip
    pip install .
    
  2. Create your tap's config.json file. The api_key is available in the twilio Console UI (see Authentication above). The date_window_days is the integer number of days (between the from and to dates) for date-windowing through the date-filtered endpoints (default = 30). The start_date is the absolute beginning date from which incremental loading on the initial load will start.

        {
            "account_sid": "YOUR_ACCOUNT_SID",
            "auth_token": "YOUR_AUTH_TOKEN",
            "start_date": "2019-01-01T00:00:00Z",
            "user_agent": "tap-twilio <api_user_email@your_company.com>",
        }
    

    Optionally, also create a state.json file. currently_syncing is an optional attribute used for identifying the last object to be synced in case the job is interrupted mid-stream. The next run would begin where the last job left off.

    {
        "currently_syncing": "registers",
        "bookmarks": {
            "acounts": "2020-03-23T10:31:14.000000Z",
            "...": "2020-03-23T00:00:00.000000Z"
        }
    }
    
  3. Run the Tap in Discovery Mode This creates a catalog.json for selecting objects/fields to integrate:

    tap-twilio --config config.json --discover > catalog.json
    

    See the Singer docs on discovery mode here.

  4. Run the Tap in Sync Mode (with catalog)

    For Sync mode:

    > tap-twilio --config tap_config.json --catalog catalog.json
    

    Messages are written to standard output following the Singer specification. The resultant stream of JSON data can be consumed by a Singer target.

To run tests

  1. Install python test dependencies in a virtual env and run nose unit and integration tests
  python3 -m venv venv
  . venv/bin/activate
  pip install --upgrade pip
  pip install -e .[test]
  1. To run unit tests:
  pytest tests/unit

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

pipelinewise-tap-twilio-1.1.2.tar.gz (38.1 kB view details)

Uploaded Source

Built Distribution

pipelinewise_tap_twilio-1.1.2-py3-none-any.whl (52.0 kB view details)

Uploaded Python 3

File details

Details for the file pipelinewise-tap-twilio-1.1.2.tar.gz.

File metadata

  • Download URL: pipelinewise-tap-twilio-1.1.2.tar.gz
  • Upload date:
  • Size: 38.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.0 importlib_metadata/3.7.3 packaging/20.9 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for pipelinewise-tap-twilio-1.1.2.tar.gz
Algorithm Hash digest
SHA256 7e18eb51f5ed4a1a1406aa28ed4c007c90d3bf931afa07a4f438557e4d9a0556
MD5 86f409fa076dcbf46331e719caee2102
BLAKE2b-256 059b6bb5d79d66485a3d3600fb7b67addc2c44fbb72c25130d567abb67c57e7b

See more details on using hashes here.

File details

Details for the file pipelinewise_tap_twilio-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: pipelinewise_tap_twilio-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 52.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.0 importlib_metadata/3.7.3 packaging/20.9 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for pipelinewise_tap_twilio-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b659d48ae81cbe58ca395e9e6d824fc6481a5c5390dc5059a45346db3abfc067
MD5 2fb7c3fe5730316ee7b568e44f35a5a8
BLAKE2b-256 db57b73a9cab1d2123e630904ce43ee74016184458eccd49831c48d1bafd91d0

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