Ajoutez un récepteur HTTPS au projet. Maximum de 20 endpoints actifs par compte. Réenregistrer la même URL pour le même projet avec la même clé API ne duplique pas les livraisons : 200 avec l’ID existant et sans secret. Conservez le secret après 201. Une fois la capacité atteinte, même une répétition peut renvoyer 402.
Permissions de la clé : webhooks / write.
Corps de la requête
Champ
Type
Obligatoire
Description
url
string
Oui
URL publique du récepteur webhook HTTPS ; les adresses locales et privées sont rejetées. uri ; pattern: ^https://
label
string
Non
Libellé facultatif de destination.
project
string
Non
ID du projet. En cas d’omission, utilise le projet de la clé ou le projet par défaut du compte.
Les exemples réalisent une opération réelle dans votre compte. Définissez les variables d’environnement nommées dans le code. Gardez votre clé privée ; les requêtes d’écriture ne sont pas réessayées automatiquement.
Shell / cURL
#!/usr/bin/env bash
set -euo pipefail
: "${CRYPTANIO_API_KEY:?Set CRYPTANIO_API_KEY}"
: "${CRYPTANIO_PROJECT_ID:?Set CRYPTANIO_PROJECT_ID}"
json_string() {
local text="$1" char code index output='"'
for ((index=0; index<${#text}; index++)); do
char="${text:index:1}"
case "$char" in
'"'|'\') output+="\\$char" ;;
*) printf -v code '%d' "'$char"
if ((code < 32)); then printf -v char '\\u%04x' "$code"; fi
output+="$char" ;;
esac
done
printf '%s"' "$output"
}
response_file="$(mktemp)"
trap 'rm -f "$response_file"' EXIT
transfer_status=0
http_status="$(curl \
--silent --show-error --max-time 30 --request POST \
--header "Authorization: Bearer $CRYPTANIO_API_KEY" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary '{"project":'"$(json_string "$CRYPTANIO_PROJECT_ID")"',"url":"https://merchant.example/webhooks/cryptanio","label":"Orders"}' \
"https://api.cryptanio.com/v1/endpoints" \
--output "$response_file" --write-out '%{http_code}')" || transfer_status=$?
if [[ "$http_status" == 2?? ]]; then
cat "$response_file"
exit "$transfer_status"
fi
printf 'HTTP %s\n' "$http_status" >&2
cat "$response_file" >&2
exit 1