-
-
Notifications
You must be signed in to change notification settings - Fork 0
Cloud Platforms
Fetch cloud platform URLs for Teamleader documents.
The Cloud Platforms resource generates direct deep-link URLs to specific documents in the Teamleader Focus cloud interface. Useful for embedding links in your own app that take users straight to an invoice, quotation, or ticket in Teamleader.
Access via Teamleader::cloudPlatforms().
Valid types:
invoice,quotation,ticketonly. Any other value throwsInvalidArgumentExceptionbefore the request.
batchUrls()makes one API call per ID β it loops internally. There is no batch endpoint.
cloudPlatforms
| Capability | Supported |
|---|---|
| Pagination | β Not supported |
| Filtering | β Not supported |
| Sorting | β Not supported |
| Sideloading | β Not supported |
| Creation | β Not supported |
| Update | β Not supported |
| Deletion | β Not supported |
Core method. Validates $type and $id (UUID format) before the request.
Valid types: invoice, quotation, ticket
use McoreServices\TeamleaderSDK\Facades\Teamleader;
$result = Teamleader::cloudPlatforms()->url('invoice', 'invoice-uuid');
$url = $result['data']['url'];$result = Teamleader::cloudPlatforms()->invoiceUrl('invoice-uuid');
$result = Teamleader::cloudPlatforms()->quotationUrl('quotation-uuid');
$result = Teamleader::cloudPlatforms()->ticketUrl('ticket-uuid');$url = Teamleader::cloudPlatforms()->getUrl('invoice', 'invoice-uuid');
$url = Teamleader::cloudPlatforms()->getInvoiceUrl('invoice-uuid');
$url = Teamleader::cloudPlatforms()->getQuotationUrl('quotation-uuid');
$url = Teamleader::cloudPlatforms()->getTicketUrl('ticket-uuid');Makes one API call per ID. Returns [id => url, ...]. Throws if $type is invalid or $ids is empty.
$urls = Teamleader::cloudPlatforms()->batchUrls('invoice', [
'invoice-uuid-1',
'invoice-uuid-2',
'invoice-uuid-3',
]);
// ['invoice-uuid-1' => 'https://...', 'invoice-uuid-2' => 'https://...'][
'data' => [
'url' => 'https://app.teamleader.eu/invoices/view/invoice-uuid',
],
]$url = Teamleader::cloudPlatforms()->getInvoiceUrl('invoice-uuid');
// In a Blade view:
// <a href="{{ $url }}" target="_blank">View in Teamleader</a>$url = Teamleader::cloudPlatforms()->getQuotationUrl($quotationId);
return redirect($url);$invoices = Teamleader::invoices()->list(['status' => ['outstanding']]);
$ids = array_column($invoices['data'], 'id');
$urls = Teamleader::cloudPlatforms()->batchUrls('invoice', $ids);
foreach ($invoices['data'] as $invoice) {
$invoice['cloud_url'] = $urls[$invoice['id']] ?? null;
}use InvalidArgumentException;
// Invalid type
try {
Teamleader::cloudPlatforms()->url('deal', 'deal-uuid');
} catch (InvalidArgumentException $e) {
// 'Invalid type: deal. Must be one of: invoice, quotation, ticket'
}
// Empty ID
try {
Teamleader::cloudPlatforms()->url('invoice', '');
} catch (InvalidArgumentException $e) {
// 'Resource ID is required'
}
// Invalid UUID format
try {
Teamleader::cloudPlatforms()->url('invoice', 'not-a-uuid');
} catch (InvalidArgumentException $e) {
// 'Invalid ID format: not-a-uuid. Must be a valid UUID.'
}- Invoices β Cloud links for invoices
- Quotations β Cloud links for quotations
Last Updated: August 2026 β’ SDK Version: 2.2.2 β’ Made with β€οΈ by MCore Services
- Departments
- Users
- Teams
- Custom Fields
- Work Types
- Document Templates
- Currencies
- Notes
- Email Tracking
- Closing Days
- Day Off Types
- Days Off
- User Schedules
- Invoices
- Credit Notes
- Subscriptions
- Payment Methods
- Payment Terms
- Tax Rates
- Withholding Tax Rates
- Commercial Discounts
Next Gen Projects
Legacy Projects