curl --request GET \
--url https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/templates/{templateId} \
--header 'x-api-key: <api-key>'import requests
url = "https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/templates/{templateId}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/templates/{templateId}', 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-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/templates/{templateId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/templates/{templateId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/templates/{templateId}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/templates/{templateId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "f0000040-0000-4000-8000-000000000040",
"language": "es",
"name": "order_shipped_promo",
"driftWarning": {
"hasDrift": false,
"stale": [],
"missingLabels": []
},
"variables": [
{
"callerMustSupply": false,
"key": "first_name",
"label": "Contact first name"
},
{
"callerMustSupply": false,
"key": "order_code",
"label": "Order code"
},
{
"callerMustSupply": false,
"key": "shipment_id",
"label": "Shipment ID"
},
{
"callerMustSupply": true,
"key": "promo_code",
"label": "Promo code"
}
]
}{
"title": "Forbidden",
"status": 403,
"code": "BRIDGE_CORE_0301"
}{
"title": "Provider Template Not Found",
"status": 404,
"code": "BRIDGE_TEMPLATE_0001"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"title": "Too Many Requests",
"status": 429,
"code": "BRIDGE_RATE_LIMIT_0001"
}Descobrir as variáveis agnósticas de um modelo
Retorna as variáveis de um template: key/label/callerMustSupply/isCustom/default, independentes da posição na Meta.
Nunca retorna o endereço ou índice de uma posição da Meta.
templateId aceita o id ou o name do template. As operações de saída aceitam template.id ou template.name, com precedência para um id não vazio. A abertura de conversas usa onboardingTemplates[].templateId. Use o seletor exigido pela operação de envio. Consulte a receita de templates.
Uma variável com callerMustSupply: true não tem uma fonte declarada: quem chama deve incluir sua key em parameters ao enviar; caso contrário, o envio falha com um 422 que identifica a mesma key.
Uma variável com callerMustSupply: false é resolvida pela própria Bridge, por exemplo, o primeiro nome do destinatário, ou já tem um valor que quem chama pode substituir opcionalmente.
Uma variável com isCustom: true é um valor conhecido apenas por quem chama e tem um default: envie-a em parameters para usar seu próprio valor, ou omita-a ou deixe-a em branco para enviar default.
Códigos de erro:
- BRIDGE_CORE_0301: o workspace na rota não corresponde ao workspace de quem chama (403)
- BRIDGE_TEMPLATE_0001: nenhuma PROVIDER_TEMPLATE foi encontrada para este workspace e identificador. Abrange igualmente um id/name desconhecido, um template de outro workspace e um template que não é PROVIDER_TEMPLATE (404); este endpoint nunca confirma a existência de um template fora do workspace de quem chama
curl --request GET \
--url https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/templates/{templateId} \
--header 'x-api-key: <api-key>'import requests
url = "https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/templates/{templateId}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/templates/{templateId}', 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-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/templates/{templateId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/templates/{templateId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/templates/{templateId}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-connect-us.bridge.new/bridge/api/v1/workspaces/{workspaceId}/templates/{templateId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "f0000040-0000-4000-8000-000000000040",
"language": "es",
"name": "order_shipped_promo",
"driftWarning": {
"hasDrift": false,
"stale": [],
"missingLabels": []
},
"variables": [
{
"callerMustSupply": false,
"key": "first_name",
"label": "Contact first name"
},
{
"callerMustSupply": false,
"key": "order_code",
"label": "Order code"
},
{
"callerMustSupply": false,
"key": "shipment_id",
"label": "Shipment ID"
},
{
"callerMustSupply": true,
"key": "promo_code",
"label": "Promo code"
}
]
}{
"title": "Forbidden",
"status": 403,
"code": "BRIDGE_CORE_0301"
}{
"title": "Provider Template Not Found",
"status": 404,
"code": "BRIDGE_TEMPLATE_0001"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"title": "Too Many Requests",
"status": 429,
"code": "BRIDGE_RATE_LIMIT_0001"
}Parâmetros de caminho
Resposta
Resposta bem-sucedida
Inventário agnóstico das variáveis de um modelo para um cliente que deve enviá-lo sem conhecer o modelo da Meta.
Esta página foi útil?

