1. Prerequisites
To follow this guide, you will need to:2. Install and initialize the Dub PHP SDK
1
Install
To install the Dub PHP SDK, run the following command:
2
Configuration
In your In your
.env
file, add your Dub API key:config/services.php
file, add the following:3
Initialize
You can now create an instance of the
Dub
class and pass in your API key:index.php
4
Service Container (Optional)
If you want to be able to inject the You can then inject the authenticated
Dub
class via the service container, add this to the register
method of your AppServiceProvider.php
:index.php
Dub
instance throughout your application:index.php
3. Create link
Let’s create a short link using the Dub Laravel SDK.index.php
Full list of available attributes for the Link model
Full list of available attributes for the Link model
The destination URL of the short link.
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).The short link slug. If not provided, a random 7-character slug will be
generated.
The length of the short link slug. Defaults to 7 if not provided. When used
with
prefix
, the total length of the key will be prefix.length + keyLength
.The ID of the link in your database. If set, it can be used to identify the
link in future API requests (must be prefixed with ‘ext_’ when passed as a
query parameter). This key is unique across your workspace.
The ID of the tenant that created the link inside your system. If set, it can
be used to fetch all links for a tenant.
The ID of the program the short link is associated with.
The ID of the partner the short link is associated with.
The unique ID of an existing folder to assign the short link to.
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.Whether to track conversions for the short link. Defaults to
false
if not
provided.The identifier of the short link that is unique across your workspace. If set,
it can be used to identify your short link for client-side click tracking.
Whether the short link is archived. Defaults to
false
if not provided.Deprecated: Use
dashboard
instead. Whether the short link’s stats are
publicly accessible. Defaults to false
if not provided.The unique IDs of the tags assigned to the short link.
The unique name of the tags assigned to the short link (case insensitive).
The comments for the short link.
The date and time when the short link will expire at.
The URL to redirect to when the short link has expired.
The password required to access the destination URL of the short link.
Whether the short link uses Custom Link Previews feature. Defaults to
false
if not provided.The custom link preview title (og:title). Will be used for Custom Link
Previews if
proxy
is true. Learn more: https://d.to/ogThe custom link preview description (og:description). Will be used for Custom
Link Previews if
proxy
is true. Learn more: https://d.to/ogThe custom link preview image (og:image). Will be used for Custom Link
Previews if
proxy
is true. Learn more: https://d.to/ogThe custom link preview video (og:video). Will be used for Custom Link
Previews if
proxy
is true. Learn more: https://d.to/ogWhether the short link uses link cloaking. Defaults to
false
if not
provided.The iOS destination URL for the short link for iOS device targeting.
The Android destination URL for the short link for Android device targeting.
Geographic targeting for the short link. Allows you to redirect users based on
their location.
Allow search engines to index your short link. Defaults to
false
if not
provided. Learn more: https://d.to/noindexThe UTM source of the short link. If set, this will populate or override the
UTM source in the destination URL.
The UTM medium of the short link. If set, this will populate or override the
UTM medium in the destination URL.
The UTM campaign of the short link. If set, this will populate or override the
UTM campaign in the destination URL.
The UTM term of the short link. If set, this will populate or override the UTM
term in the destination URL.
The UTM content of the short link. If set, this will populate or override the
UTM content in the destination URL.
The referral tag of the short link. If set, this will populate or override the
ref
query parameter in the destination URL.An array of webhook IDs to trigger when the link is clicked. These webhooks
will receive click event data.
An array of A/B test URLs and the percentage of traffic to send to each URL.
Requires 2-4 variants with percentages between 10-90.
The date and time when the tests started.
The date and time when the tests were or will be completed.
Deprecated: Use
tagIds
instead. The unique ID of the tag assigned to the
short link.externalId
field to associate the link with a unique identifier in your own system.
index.php
externalId
instead of the Dub linkId
.
4. Upsert link
The Dub Laravel SDK provides a method to upsert a link – where an existing link is updated if it exists, or a new link is created if it doesn’t.index.php
5. Update link
To update an existing link using the Dub Laravel SDK, you can either use the link’slinkId
or externalId
.
index.php
6. Retrieve analytics for link
You can also retrieve analytics for a link using the Dub Laravel SDK.index.php