To install the Dub PHP SDK, run the following command:
composer require dub/dub-php
2
Configuration
In your .env file, add your Dub API key:
DUB_API_KEY=your_api_key
In your config/services.php file, add the following:
'dub'=>['api_key'=>env('DUB_API_KEY'),],
3
Initialize
You can now create an instance of the Dub class and pass in your API key:
index.php
useDub\Dub;useDub\Components\Security;$dub=Dub::builder()->setSecurity(config('services.dub.api_key'))->build();// create a link$dub->links->create(...);
4
Service Container (Optional)
If you want to be able to inject the Dub class via the service container, add this to the register method of your AppServiceProvider.php:
You can then inject the authenticated Dub instance throughout your application:
index.php
useDub\Laravel\Dub;classLinkControllerextendsController{publicfunctioncreateLink(Dub$dub){// Now you can use the SDK instance$dub->links->create(...);}}
The domain of the short link. If not provided, the primary domain for the
workspace will be used (or dub.sh if the workspace has no domains).
key
string
The short link slug. If not provided, a random 7-character slug will be
generated.
externalId
string | null
This is the ID of the link in your database. If set, it can be used to
identify the link in the future.
prefix
string
The prefix of the short link slug for randomly-generated keys (e.g. if prefix
is /c/, generated keys will be in the /c/:key format). Will be ignored if
key is provided.
archived
boolean
default: false
Whether the short link is archived.
publicStats
boolean
default: false
Whether the short link’s stats are publicly accessible.
tagId
string | null
The unique ID of the tag assigned to the short link. This field is deprecated
– use tagIds instead.
tagIds
string
The unique IDs of the tags assigned to the short link.
comments
string | null
The comments for the short link.
expiresAt
string | null
The date and time when the short link will expire at.
expiredUrl
string | null
The URL to redirect to when the short link has expired.
password
string | null
The password required to access the destination URL of the short link.
proxy
boolean
default: false
Whether the short link uses Custom Social Media Cards feature.
title
string | null
The title of the short link generated via api.dub.co/metatags. Will be used
for Custom Social Media Cards if proxy is true.
description
string | null
The description of the short link generated via api.dub.co/metatags. Will be
used for Custom Social Media Cards if proxy is true.
image
string | null
The image of the short link generated via api.dub.co/metatags. Will be used
for Custom Social Media Cards if proxy is true.
rewrite
boolean
default: false
Whether the short link uses link cloaking.
ios
string | null
The iOS destination URL for the short link for iOS device targeting.
android
string | null
The Android destination URL for the short link for Android device targeting.
utm_source
string | null
The UTM source of the short link. If set, this will populate or override the
UTM source in the destination URL.
utm_medium
string | null
The UTM medium of the short link. If set, this will populate or override the
UTM medium in the destination URL.
utm_campaign
string | null
The UTM campaign of the short link. If set, this will populate or override the
UTM campaign in the destination URL.
utm_term
string | null
The UTM term of the short link. If set, this will populate or override the UTM
term in the destination URL.
utm_content
string | null
The UTM content of the short link. If set, this will populate or override the
UTM content in the destination URL.
Optionally, you can also pass an externalId field to associate the link with a unique identifier in your own system.