Skip to main content

Python wrapper for the TikTok Events API

Project description

Python TikTok Events API

This library is an unoffical Python wrapper arround the TikTok Events API, allowing for easy interaction with the API:

  • Pydantic types are used to validate the data to be sent to TikTok.
  • Customer identifiable information is hashed using SHA256 before being sent to the TikTok API.
  • Events can be sent one at a time or in batches.

The TikTok Events API allows advertisers to share the actions customers take on their websites and offiline directly with TikTok. This allows advertisers to measure the effectiveness of their TikTok campaigns and optimize their ad spend.

Please reference the TikTok Events API documentation for more information on the API and the data it accepts and requires: https://ads.tiktok.com/marketing_api/docs?id=1741601162187777.

TikTok API uses custom return error codes. Reference this TikTok Events API documentation for more information on the error codes.

Disclaimer

This library is in beta. Feedback and contributions are welcome.

Installing

You can install pytt_events_api using pip:

pip install pytt-events-api

Quick Start Guide

Here's a quick guide on how to use the library to send events to TikTok.

Authentication

The only thing you need to do to authenticate with TikTok Events API is to set the environment variables listed below.

  • TIKTOK_ACESS_TOKEN: Events API access token - Required
  • TIKTOK_PIXEL_ID: The ID of the pixel - Required
  • TIKTOK_API_VERSION: The API version to use, defaults to v1.3.
  • TIKTOK_TEST_EVENT_CODE: Used so events can be tested without affecting the pixel's data. You may find the test event code in the events manager under the "Test Events" tab.

You can find the values for these variables in the TikTok Events Manager.

The environment variables are loaded when the TikTokAuth class is initialized. If the environment variables are not found, the class will raise an exception.

Importing the library and initializing the API

from pytt_events.auth import TikTokAuth
from pytt_events.tiktok_events_api import TikTokEventsApi
from pytt_events.event import Event
from pytt_events.properties import Properties
from pytt_events.context import Context, Ad, Page, User
from pytt_events.properties import ContentType
from pytt_events.properties import Content

api = TikTokEventsApi()
auth = TikTokAuth()

Creating an event

context = Context(
    user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36',
    ip='13.57.97.131',
    ad=Ad(callback='E.C.P.v3fQ2RHacdkfKfofPmlyuStIIHJ4Af1tKYxF9zz2c2PLx1Oaw15oHpcfl5AH' ), # ttclid
    page=Page(
        url='https://www.example.com',
        referrer='https://www.google.com'
    ),
    user=User(
        external_id='123456',
        email='test@test.com',
        phone_number='+5541998862934',
        ttp='94e2a4j9-h3ss-k2h5-98cc-c84a745mk098',
    ))
properties = Properties(
    currency='BRL', # ISO 4217
    value=1.00,
    description='mock description',
    query='mock query',
    status='mock status',
    contents=[Content(
        content_type=ContentType.PRODUCT,
        content_id='123456789',
        content_name='mock content name',
        content_category='mock content category',
        price=1.00,
        quantity=1
    )]
)
event = Event (
    pixel_code=auth.TIKTOK_PIXEL_ID,
    test_event_code=auth.TIKTOK_TEST_EVENT_CODE,
    event='ViewContent',
    event_id='123456789',
    timestamp='2023-02-01T00:00:00-03:00', # str or datetime object
    context=context,
    properties=properties
)

Errors in the Docs

TikTok's documentation says that content_type should be a parameter of the Properties object, but it actually is a parameter of the Content object.

Sending an event

response = api.post_event(
    event=event,
    auth=auth
)

Sending events in bulk

events = []
response = api.post_events_in_bulk(events=events, auth=auth)

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

pytt_events_api-0.1.5.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

pytt_events_api-0.1.5-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file pytt_events_api-0.1.5.tar.gz.

File metadata

  • Download URL: pytt_events_api-0.1.5.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6

File hashes

Hashes for pytt_events_api-0.1.5.tar.gz
Algorithm Hash digest
SHA256 f83d8c3a3d425d1297c524dc5661228dda5a3ea9bc902959c2112922b7b26de8
MD5 cd7d0ab6f865bfa5790b7ef12c3ade0c
BLAKE2b-256 b7e5b9891b56d34056e13ba12e06925061807949cd83929560a3d8986f46e609

See more details on using hashes here.

File details

Details for the file pytt_events_api-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: pytt_events_api-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6

File hashes

Hashes for pytt_events_api-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7d2604e5c2d6a73055ca473c4436fa3e0a0ee05b1ae8ec9421cccaa6b188ff5f
MD5 8b452ba252e34172c753130c55a9f9d1
BLAKE2b-256 5a020509bd0e527e53bd1f544cf11fbc5580cd784a76ffc2eed5ee48280258f8

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