Skip to content

rebrandly/rebrandly-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python SDK

For our official developer documentation, visit our developer site.

Description

This repository is a Python SDK that wraps the Rebrandly API.

Installation

pip install rebrandly-official

Local Development and Testing

Create a .env.development or .env.test file with the below code and populate the values:

API_KEY='YOUR_API_KEY'
EXTENDED_WORKSPACE_ID='YOUR_EXTENDED_WORKSPACE_ID'
EXTENDED_WORKSPACE_DOMAIN_ID='YOUR_EXTENDED_WORKSPACE_DOMAIN_ID'
IOS_APP_ID='YOUR_IOS_APP_ID'
ANDROID_APP_ID='YOUR_ANDROID_APP_ID'

Export your ENVIRONMENT variable before running tests so test files know which .env file to load. If the ENVIRONMENT variable is not specified, the default file to be loaded is .env.development.

Authentication

This SDK supports authentication via API key. You can create an API key in your Rebrandly dashboard. The API key should be specified when creating a RebrandlyClient instance.

from rebrandly_official.rebrandly_client import RebrandlyClient

client = RebrandlyClient('YOUR_API_KEY')

Usage

Create a link:

client = RebrandlyClient('YOUR_API_KEY')
new_link = client.links.create('https://destination_url_...')

Create conditional traffic routing rule:

link_id = client.links.create('https://www.rebrandly.com')['id']
route = {
    "destination":'https://www.rebrandly.com/enterprise-security',
    "condition":
        {"and":[{"property":"req.country","operator":"in","values":["ie"]}]}
    }
client.links.create_route(link_id, route)

Create link OpenGraph:

link_id = client.links.create(destination_url_google)['id']
client.links.set_opengraph(link_id, 'What is Rebrandly', image_url='https://rebrandly.com/example.jpg', object_type='website')

Create deep link:

link_id = client.links.create('https://wwww.rebrandly.com')['id']
path = {"path":"/watch?apex=&ios_scheme=&v=3VmtibKpmXI"}
client.links.create_deep_link(link_id, 'YOUR-APP-ID-HERE', path)

Pagination

This SDK supports pagination for requests that return many results. When a method that supports pagination is called, a PaginatedResponse instance will be returned. A PaginatedResponse is an iterable object that supports a next() function to retrieve the next batch of results. Here is a code snippet for how to work with a method that supports pagination. In the example below, it will list all links and aggregate those links into an array called all_links.

    page_of_links = client.links.list()
    all_links = []
    while page_of_links.current_links_count > 0:
        for link in page_of_links:
            all_links.append(link)
        page_of_links.next()

Design Patterns

Create and Update vs Set

Create methods will create a new resource. Update methods will update an existing resource. Set methods will create a resource or overwrite the existing resource if one already exists.

License

Rebrandly Python SDK is released under the MIT License.