API : domaines
L'API des domaines vous permet de lire et de gérer les domaines de boutique personnalisés enregistrés sur votre compte Snipcart : votre domaine de site web par défaut ainsi que la liste des domaines et sous-domaines autorisés supplémentaires sur lesquels le widget panier peut s'exécuter. (Il ne s'agit pas de la configuration du domaine d'envoi de courriels/SendGrid.)
Les requêtes sont authentifiées avec votre clé API secrète, transmise comme nom d'utilisateur en authentification HTTP Basic avec un mot de passe vide. Avec curl : -u {API_KEY}:. Voir Authentification pour plus de détails. L'URL de base de chaque requête est https://app.snipcart.com/api.
Table des matières
- GET /settings/domain
- PUT /settings/domain
- GET /settings/alloweddomains
- POST /settings/alloweddomains
- DELETE /settings/alloweddomains
GET /settings/domain
Retourne le domaine par défaut actuel de votre compte.
URL de la ressource
GET https://app.snipcart.com/api/settings/domainEn-têtes
| Nom | Valeur | Obligatoire? | Description |
|---|---|---|---|
Accept |
application/json |
Oui | Notre API n'accepte que le type de contenu application/json, vous devez donc spécifier l'en-tête Accept: application/json dans chaque requête. |
Exemple de requête
curl -H "Accept: application/json" \
https://app.snipcart.com/api/settings/domain \
-u {API_KEY}:Exemple de réponse
{
"domain": "snipcart.com",
"protocol": "https"
}PUT /settings/domain
Définit le domaine par défaut de votre compte comme étant celui indiqué dans le corps de la requête. Le domaine soumis est normalisé en son nom d'hôte brut (tout schéma, chemin ou préfixe www. est retiré). Si protocol est omis ou n'est pas exactement http ou https, il prend la valeur http par défaut.
URL de la ressource
PUT https://app.snipcart.com/api/settings/domainEn-têtes
| Nom | Valeur | Obligatoire? | Description |
|---|---|---|---|
Accept |
application/json |
Oui | Notre API n'accepte que le type de contenu application/json, vous devez donc spécifier l'en-tête Accept: application/json dans chaque requête. |
Content-Type |
application/json |
Oui | Le corps de la requête est en JSON, le type de contenu doit donc être spécifié. |
Paramètres du corps
| Nom | Obligatoire? | Type | Description |
|---|---|---|---|
domain |
Oui | string | Le nouveau domaine par défaut à associer à votre compte. |
protocol |
Non | string | Soit https, soit http. S'il est omis ou défini à toute autre valeur, il prend http par défaut. |
⚠️ Important : Si domain est absent du corps, la requête retourne 400 Bad Request.
Exemple de requête
curl https://app.snipcart.com/api/settings/domain \
-X PUT \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-u {API_KEY}: \
-d '{"domain": "snipcartnewdomain.com", "protocol": "https"}'Exemple de réponse
{
"domain": "snipcartnewdomain.com",
"protocol": "https"
}GET /settings/alloweddomains
Retourne la liste des domaines et sous-domaines autorisés enregistrés sur le compte, autres que votre domaine de site web par défaut.
URL de la ressource
GET https://app.snipcart.com/api/settings/alloweddomainsEn-têtes
| Nom | Valeur | Obligatoire? | Description |
|---|---|---|---|
Accept |
application/json |
Oui | Notre API n'accepte que le type de contenu application/json, vous devez donc spécifier l'en-tête Accept: application/json dans chaque requête. |
Exemple de requête
curl -H "Accept: application/json" \
https://app.snipcart.com/api/settings/alloweddomains \
-u {API_KEY}:Exemple de réponse
[
{
"domain": "15ddef3a.ngrok.io",
"protocol": "http"
},
{
"domain": "subdomain.snipcart.com",
"protocol": "https"
}
]POST /settings/alloweddomains
Ajoute un ou plusieurs domaines ou sous-domaines à la liste des domaines autorisés du compte. Le corps doit être un tableau (array) JSON, même lors de l'ajout d'un seul domaine. Chaque domaine est normalisé en son nom d'hôte brut, et tout protocol autre que http ou https est ramené à http.
La réponse retourne la liste complète et mise à jour des domaines autorisés (les nouveaux ajoutés ainsi que ceux déjà enregistrés). Votre domaine de site web par défaut n'est jamais inclus dans cette liste.
URL de la ressource
POST https://app.snipcart.com/api/settings/alloweddomainsEn-têtes
| Nom | Valeur | Obligatoire? | Description |
|---|---|---|---|
Accept |
application/json |
Oui | Notre API n'accepte que le type de contenu application/json, vous devez donc spécifier l'en-tête Accept: application/json dans chaque requête. |
Content-Type |
application/json |
Oui | Le corps de la requête est en JSON, le type de contenu doit donc être spécifié. |
Paramètres du corps
| Nom | Obligatoire? | Type | Description |
|---|---|---|---|
| (root) | Oui | array | Un tableau (array) JSON d'objets { "domain": "...", "protocol": "..." }. L'enveloppe sous forme de tableau est obligatoire, même pour une seule entrée. |
domain |
Oui | string | Le domaine ou sous-domaine à ajouter. |
protocol |
Non | string | Soit https, soit http. S'il est omis ou défini à toute autre valeur, il prend http par défaut. |
⚠️ Important : Un tableau vide ou absent retourne 400 Bad Request.
Exemple de requête
curl https://app.snipcart.com/api/settings/alloweddomains \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-u {API_KEY}: \
-d '[{"domain": "subdomain1.snipcart.com"}, {"domain": "snipalt.com", "protocol": "https"}]'Exemple de réponse
[
{
"domain": "subdomain1.snipcart.com",
"protocol": "http"
},
{
"domain": "snipalt.com",
"protocol": "https"
},
{
"domain": "subdomain.snipcart.com",
"protocol": "https"
}
]DELETE /settings/alloweddomains
Supprime un ou plusieurs domaines ou sous-domaines de la liste des domaines autorisés du compte. Le corps doit être un tableau (array) JSON, même lors de la suppression d'un seul domaine. La correspondance s'effectue sur la valeur domain (normalisée en son nom d'hôte brut).
La réponse retourne la liste complète et mise à jour des domaines autorisés après les suppressions. Votre domaine de site web par défaut n'est jamais inclus dans cette liste.
URL de la ressource
DELETE https://app.snipcart.com/api/settings/alloweddomainsEn-têtes
| Nom | Valeur | Obligatoire? | Description |
|---|---|---|---|
Accept |
application/json |
Oui | Notre API n'accepte que le type de contenu application/json, vous devez donc spécifier l'en-tête Accept: application/json dans chaque requête. |
Content-Type |
application/json |
Oui | Le corps de la requête est en JSON, le type de contenu doit donc être spécifié. |
Paramètres du corps
| Nom | Obligatoire? | Type | Description |
|---|---|---|---|
| (root) | Oui | array | Un tableau (array) JSON d'objets { "domain": "...", "protocol": "..." }. L'enveloppe sous forme de tableau est obligatoire, même pour une seule entrée. |
domain |
Oui | string | Le domaine ou sous-domaine à supprimer. |
protocol |
Non | string | Facultatif; seul domain sert à faire correspondre les entrées à supprimer. |
⚠️ Important : Si un domaine du corps ne figure pas actuellement dans la liste des domaines autorisés, la requête entière échoue avec 400 Bad Request et rien n'est supprimé. Un tableau vide ou absent retourne également 400 Bad Request.
Exemple de requête
curl https://app.snipcart.com/api/settings/alloweddomains \
-X DELETE \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-u {API_KEY}: \
-d '[{"domain": "subdomain1.snipcart.com"}, {"domain": "snipalt.com", "protocol": "https"}]'Exemple de réponse
[
{
"domain": "subdomain.snipcart.com",
"protocol": "https"
}
]