Get a delivered file
curl --request POST \
--url https://api-dev.narrative.io/data-shops/subscriptions/{subscription_id}/deliveries/download \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"transaction_batch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"file": "<string>",
"file_name_override": "<string>"
}
'import requests
url = "https://api-dev.narrative.io/data-shops/subscriptions/{subscription_id}/deliveries/download"
payload = {
"transaction_batch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"file": "<string>",
"file_name_override": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
transaction_batch_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
file: '<string>',
file_name_override: '<string>'
})
};
fetch('https://api-dev.narrative.io/data-shops/subscriptions/{subscription_id}/deliveries/download', 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://api-dev.narrative.io/data-shops/subscriptions/{subscription_id}/deliveries/download",
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([
'transaction_batch_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'file' => '<string>',
'file_name_override' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api-dev.narrative.io/data-shops/subscriptions/{subscription_id}/deliveries/download"
payload := strings.NewReader("{\n \"transaction_batch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"file\": \"<string>\",\n \"file_name_override\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api-dev.narrative.io/data-shops/subscriptions/{subscription_id}/deliveries/download")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"transaction_batch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"file\": \"<string>\",\n \"file_name_override\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-dev.narrative.io/data-shops/subscriptions/{subscription_id}/deliveries/download")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"transaction_batch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"file\": \"<string>\",\n \"file_name_override\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"download_url": "<string>"
}Subscriptions
Get a delivered file
Retrieve a AWS S3 presigned URL to download a file delivered as part of a subscription.
POST
/
data-shops
/
subscriptions
/
{subscription_id}
/
deliveries
/
download
Get a delivered file
curl --request POST \
--url https://api-dev.narrative.io/data-shops/subscriptions/{subscription_id}/deliveries/download \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"transaction_batch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"file": "<string>",
"file_name_override": "<string>"
}
'import requests
url = "https://api-dev.narrative.io/data-shops/subscriptions/{subscription_id}/deliveries/download"
payload = {
"transaction_batch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"file": "<string>",
"file_name_override": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
transaction_batch_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
file: '<string>',
file_name_override: '<string>'
})
};
fetch('https://api-dev.narrative.io/data-shops/subscriptions/{subscription_id}/deliveries/download', 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://api-dev.narrative.io/data-shops/subscriptions/{subscription_id}/deliveries/download",
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([
'transaction_batch_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'file' => '<string>',
'file_name_override' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api-dev.narrative.io/data-shops/subscriptions/{subscription_id}/deliveries/download"
payload := strings.NewReader("{\n \"transaction_batch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"file\": \"<string>\",\n \"file_name_override\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api-dev.narrative.io/data-shops/subscriptions/{subscription_id}/deliveries/download")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"transaction_batch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"file\": \"<string>\",\n \"file_name_override\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-dev.narrative.io/data-shops/subscriptions/{subscription_id}/deliveries/download")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"transaction_batch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"file\": \"<string>\",\n \"file_name_override\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"download_url": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Unique identifier for a subscription.
Body
application/json
Unique identifier for the subscription fulfillment event which produced the file.
The name of the delivered file to be downloaded.
If specified, when the delivery file is download it will have the name specified by file_name_override instead of the default name given by the file parameter.
Response
200 - application/json
OK
An AWS S3 presigned URL that can be used to download the file.
The presigned URL is valid for one hour meaning that the link must be used within an hour of receipt.
Was this page helpful?
⌘I

