Skip to main content
POST
/
dsf
/
tickets
/
late-delivery
Create a ticket for a late delivery
curl --request POST \
  --url https://panel.sendcloud.sc/api/v3/dsf/tickets/late-delivery \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "tracking_number": "3SABCD1234567",
  "carrier_contract_id": 123,
  "additional_remarks": "<string>"
}
'
import requests

url = "https://panel.sendcloud.sc/api/v3/dsf/tickets/late-delivery"

payload = {
"tracking_number": "3SABCD1234567",
"carrier_contract_id": 123,
"additional_remarks": "<string>"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
tracking_number: '3SABCD1234567',
carrier_contract_id: 123,
additional_remarks: '<string>'
})
};

fetch('https://panel.sendcloud.sc/api/v3/dsf/tickets/late-delivery', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://panel.sendcloud.sc/api/v3/dsf/tickets/late-delivery",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'tracking_number' => '3SABCD1234567',
'carrier_contract_id' => 123,
'additional_remarks' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://panel.sendcloud.sc/api/v3/dsf/tickets/late-delivery"

payload := strings.NewReader("{\n \"tracking_number\": \"3SABCD1234567\",\n \"carrier_contract_id\": 123,\n \"additional_remarks\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://panel.sendcloud.sc/api/v3/dsf/tickets/late-delivery")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"tracking_number\": \"3SABCD1234567\",\n \"carrier_contract_id\": 123,\n \"additional_remarks\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://panel.sendcloud.sc/api/v3/dsf/tickets/late-delivery")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tracking_number\": \"3SABCD1234567\",\n \"carrier_contract_id\": 123,\n \"additional_remarks\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "ticket_id": 155
}

Authorizations

Authorization
string
header
required

Basic Authentication using API key and secrets is currently the main authentication mechanism.

Query Parameters

is_portal_claim
boolean
default:false

Set to true to force a portal claim. Supported for Colissimo, Chronopost, Colis Privé, Mondial Relay, InPost ES, and DHL Express carriers only. Requires a carrier contract setup.

Body

application/json

Create a ticket for a late delivery using your own carrier contract.

tracking_number
string
required

Parcel tracking number

Example:

"3SABCD1234567"

carrier_contract_id
integer

The ID of the carrier contract associated with the parcel. Required when creating a ticket for a support only parcel that is not tracked in the Sendcloud system. The contract must belong to the authenticated user.

Example:

123

additional_remarks
string

Additional remarks about the parcel

Response

Accepted

Create ticket response

ticket_id
integer
required