Introduction

Qu’est-ce qu’une API ?

Le terme API est l’abréviation d’Application Programming Interfaces, c’est-à-dire interface de programmation d’applications. Il s’agit d’un ensemble de définitions et de protocoles utilisés pour développer et intégrer des logiciels.

À quoi sert cette API ?

Cette API nous permet de fournir des informations et de recueillir les données des clients de The Planet Seeds de manière automatisée.

Nous proposons des méthodes pour obtenir des données de catalogue, de stock, d’unités de mesure, de prix et d’adresses.

De plus, nous offrons la possibilité de modifier des données, comme les adresses, l’enregistrement de commandes ou de devis.

Comment commencer ?

Voici notre URL de base

https://api.theplanetseeds.com/api

Authentification

Nous utilisons des clés API pour authentifier les requêtes.

Vous pouvez consulter, modifier et supprimer vos clés API depuis votre compte utilisateur, dans la section développeurs.

Vos clés API donnent accès à une grande partie de vos informations sensibles : veillez donc à les conserver en lieu sûr. Ne les exposez pas dans des espaces publics comme GitHub ni via des requêtes non sécurisées.

L’authentification de l’API se fait au moyen de l’en-tête HTTP Authorization via Bearer token, en utilisant comme jeton d’accès celui obtenu en exécutant la méthode /login avec votre clé API.

Rappel : toutes les requêtes doivent être effectuées en HTTPS. Effectuées en HTTP, elles échoueront.

Besoin d’aide avec votre clé API ?

Générez une clé API dans votre profil utilisateur

L’en-tête d’authentification doit ressembler à celui de cet exemple :

"Authorization: 
    Bearer yJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"

Erreurs

Nous utilisons les codes de réponse HTTP conventionnels pour indiquer le succès ou l’échec d’une requête API.

Les codes de la plage 2xx indiquent le bon fonctionnement de l’appel.

Les codes de la plage 4xx correspondent à des erreurs dans les appels effectués (champs manquants, informations incorrectes, utilisateur non authentifié, etc.).

Les codes de la plage 5xx correspondent à une erreur dans la syntaxe JSON de l’appel ou, dans de très rares cas, à une erreur de connexion avec les serveurs de The Planet Seeds.

En cas d’erreurs serveur 5xx, vous pouvez contacter it@theplanetseeds.com en envoyant l’appel réalisé et le contenu transmis, afin que nous puissions examiner le problème et chercher une solution si possible.

Résumé des codes d’erreur

200 - OK. Tout fonctionne comme prévu.

204 - OK. Tout a fonctionné correctement, mais l’appel ne doit renvoyer aucun contenu.

400 - Erreur. Erreur lors du traitement de l’appel. L’erreur précise est renvoyée en réponse.

401 - Non autorisé. Aucune authentification valide n’a été effectuée avant la connexion.

403 - Interdit. La clé API ne dispose pas des autorisations nécessaires pour effectuer l’appel.

500 - Erreur serveur. Quelque chose s’est mal passé : JSON mal formé ou erreur de connexion au serveur (peu fréquent).

Login

Effectue une requête d’authentification : la clé API est vérifiée et, si elle est correcte, le jeton à utiliser dans les autres méthodes est renvoyé.

Le jeton généré expire au bout de 24 h.

Endpoint :

POST /login

Méthode pour se connecter

Voici un exemple d’appel pour effectuer la connexion :

1var axios = require('axios');
2var data = JSON.stringify({"apiKey":"$2b$12$zni4xlVH0qqhHS0/QlJ9R.YHOLESSG8/XhzgoyatDnaBJrncNlVN"});
3 
4var config = {
5  method: 'post',
6  url: 'https://api.theplanetseeds.com/api/login',
7  headers: { 
8    'Content-Type': 'application/json'
9  },
10  data : data
11};
12 
13axios(config)
14.then(function (response) {
15  console.log(JSON.stringify(response.data));
16})
17.catch(function (error) {
18  console.log(error);
19});
20

Get Catalogue Prestashop

Renvoie la liste complète des articles préparés pour l’importation de données dans les plateformes Prestashop.


Endpoint :

GET /product/getCsvPrestashop

Réponse d’obtention du catalogue

Voici un exemple de réponse correcte obtenue :

REFERENCE;PRODUCT;BRAND;TAX;WEIGHT;STOCK;SHORT_DESCRIPTION;DESCRIPTION;IMAGES;CATEGORY_PATH;ID_CATEGORY_PATH;PRICE_CLIENTE;PVP;WIDTH;HEIGHT;DEPTH;ID_CATEGORY_DEFAULT;REFERENCE_PARENT;ATTR;ATTR2;RATIO;TYPE;
ADSE0002;"Advanced Seeds Auto Top 69";;21;0;99999;"Top 69 pertenece a una nueva generación de plantas autoflorecientes, fruto de cruces selectivos que la dotan de gran estabilidad genética y una producción abundante, dando respuesta a los cultivadores que demandaban variedades autoflorecientes más productivas.<br />Tope de producción en 69 días. Ideal para cultivo interior y exterior.<br />Gran estabilidad genética.<br />En climas frios cultivar solo en verano.";"Genética: Autoflowering<br />Rendimiento: 350 - 450 g/m2<br />THC: 14%<br />Altura interior: 60 - 100 cm<br />Altura Exterior: 60 - 120 cm<br />Floracion Interior: 69 días (max.)<br />Cosecha Exterior: De Abril a Noviembre";https://api.theplanetseeds.com/p/ADSE0002/ADSE0002-00.png;Autoflorecientes > Advanced Seeds Auto;3279 > 3294;10.59;19.42;0;0;0;3294;ADSE0001;3;;auto
ADSE0003;"Advanced Seeds Critical Fem.";;21;0;99999;"<p>Planta grande y ramificada con gran producción de cogollos. Se adapta a todo tipo de sustratos y formas de cultivo.  En interior se aconseja dar un máximo de 15 días de crecimiento para evitar un tamaño final demasiado grande. La  cosecha en exterior es generosa y rápida. El uso de tutores es imprescindible en algunos casos para que las ramas no  se doblen al final de la floración por su propio peso.</p>";"<p><strong>Ficha Técnica</strong></p><ul>  <li><strong>Tipo de variedad:</strong> Critical</li>  <li><strong>THC:</strong> 16 %</li>  <li><strong>Rendimiento:</strong> 450 - 500 G</li>  <li><strong>Altura Interior:</strong> 70 - 90 cm</li>  <li><strong>Altura Exterior:</strong> 200 - 300 cm</li>  <li><strong>Ciclo de floración:</strong> 45 - 55 días</li>  <li><strong>Cosecha:</strong> 1 - 15 Octubre</li></ul>";https://api.theplanetseeds.com/p/ADSE0003/ADSE0003-00.png;Feminizadas > Advanced Seeds Fem;3281 > 3299;7.88;14.46;0;0;0;3299;;3;;fem

Méthode pour obtenir le catalogue adapté à Prestashop

Voici un exemple d’appel pour obtenir le catalogue :

1var axios = require('axios');
2var data = JSON.stringify({"lang":1});
3 
4var config = {
5  method: 'get',
6  url: 'https://api.theplanetseeds.com/api/producto/getCsvPrestashop',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQyNTQzODMsImV4cCI6MTYxNDM0MDc4M30.kDXELgGovdtnpUri5MeaCKZQqT7ba_q_LY7VZ3eurWQ'
9  },
10  data : data
11};
12 
13axios(config)
14.then(function (response) {
15  console.log(JSON.stringify(response.data));
16})
17.catch(function (error) {
18  console.log(error);
19});

Get Catalogue Woocommerce

Renvoie la liste complète des articles préparés pour l’importation de données dans les plateformes Woocommerce.


Endpoint :

GET /product/getCsvWoocommerce

Réponse d’obtention du catalogue

Voici un exemple de réponse correcte obtenue :

Tipo;SKU;Nombre;Publicado;"¿Está destacado?";"Visibilidad en el catálogo";"Descripción corta";Descripción;"Día en que empieza el precio rebajado";"Día en que termina el precio rebajado";"Estado del impuesto";"Clase de impuesto";"¿En inventario?";Inventario;"Cantidad de bajo inventario";"¿Permitir reservas de productos agotados?";"¿Vendido individualmente?";"Peso (kg)";"Longitud (cm)";"Anchura (cm)";"Altura (cm)";"¿Permitir valoraciones de clientes?";"Nota de compra";"Precio rebajado";"Precio normal";Categorías;Etiquetas;"Clase de envío";Imágenes;"Límite de descargas";"Días de caducidad de la descarga";Superior;"Productos agrupados";"Ventas dirigidas";"Ventas cruzadas";URL externa";"Texto del botón";Posición;meta:Brand;"Nombre del atributo 1";"Valor(es) del atributo 1";"Atributo visible 1";"Atributo global 1";"Nombre del atributo 2";"Valor(es) del atributo 2";"Atributo visible 2";"Atributo global 2";"Nombre del atributo 3";"Valor(es) del atributo 3";"Atributo visible 3";"Atributo global 3";"Nombre del atributo 4";"Valor(es) del atributo 4";"Atributo visible 4";"Atributo global 4";"Nombre del atributo 5";"Valor(es) del atributo 5";"Atributo visible 5";RATIO;TYPE;
simple;ADSE0002;"Advanced Seeds Auto Top 69";1;0;visible;"Top 69 pertenece a una nueva generación de plantas autoflorecientes, fruto de cruces selectivos que la dotan de gran estabilidad genética y una producción abundante, dando respuesta a los cultivadores que demandaban variedades autoflorecientes más productivas.<br />Tope de producción en 69 días. Ideal para cultivo interior y exterior.<br />Gran estabilidad genética.<br />En climas frios cultivar solo en verano.";"Genética: Autoflowering<br />Rendimiento: 350 - 450 g/m2<br />THC: 14%<br />Altura interior: 60 - 100 cm<br />Altura Exterior: 60 - 120 cm<br />Floracion Interior: 69 días (max.)<br />Cosecha Exterior: De Abril a Noviembre";0;0;taxable;;1;99999;;0;0;0;0;0;0;1;;;10.59;Autoflorecientes > Advanced Seeds Auto;;;https://api.theplanetseeds.com/p/ADSE0002/ADSE0002-00.png;;;;;;;;;;;3 Unidades;3;1;;;auto
simple;ADSE0003;"Advanced Seeds Critical Fem.";1;0;visible;"<p>Planta grande y ramificada con gran producción de cogollos. Se adapta a todo tipo de sustratos y formas de cultivo.  En interior se aconseja dar un máximo de 15 días de crecimiento para evitar un tamaño final demasiado grande. La  cosecha en exterior es generosa y rápida. El uso de tutores es imprescindible en algunos casos para que las ramas no  se doblen al final de la floración por su propio peso.</p>";"<p><strong>Ficha Técnica</strong></p><ul>  <li><strong>Tipo de variedad:</strong> Critical</li>  <li><strong>THC:</strong> 16 %</li>  <li><strong>Rendimiento:</strong> 450 - 500 G</li>  <li><strong>Altura Interior:</strong> 70 - 90 cm</li>  <li><strong>Altura Exterior:</strong> 200 - 300 cm</li>  <li><strong>Ciclo de floración:</strong> 45 - 55 días</li>  <li><strong>Cosecha:</strong> 1 - 15 Octubre</li></ul>";0;0;taxable;;1;99999;;0;0;0;0;0;0;1;;;7.88;Feminizadas > Advanced Seeds Fem;;;https://api.theplanetseeds.com/p/ADSE0003/ADSE0003-00.png;;;;;;;;;;;3 Unidades;3;1;;;fem

Méthode pour obtenir le catalogue adapté à Woocommerce

Voici un exemple d’appel pour obtenir le catalogue :

1var axios = require('axios');
2var data = JSON.stringify({"lang":1});
3 
4var config = {
5  method: 'get',
6  url: 'https://api.theplanetseeds.com/api/product/getCsvWoocommerce',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQyNTQzODMsImV4cCI6MTYxNDM0MDc4M30.kDXELgGovdtnpUri5MeaCKZQqT7ba_q_LY7VZ3eurWQ'
9  },
10  data : data
11};
12 
13axios(config)
14.then(function (response) {
15  console.log(JSON.stringify(response.data));
16})
17.catch(function (error) {
18  console.log(error);
19});

Get Catalogue CSV

Renvoie la liste complète des articles préparés pour l’importation au format CSV.


Endpoint :

GET /product/getCsv

Réponse d’obtention du catalogue

Voici un exemple de réponse correcte obtenue :

REFERENCE;PRODUCT;BRAND;TAX;STOCK;SHORT_DESCRIPTION;DESCRIPTION;IMAGES;CATEGORY_PATH;ID_CATEGORY_PATH;BASE_PRICE;PVP;WEIGHT;WIDTH;HEIGHT;DEPTH;ID_CATEGORY_DEFAULT;REFERENCE_PARENT;ATTR;ATTR2;TIPO;RATIO
ADSE0002;"Advanced Seeds Auto Top 69";;21;99999;"Top 69 pertenece a una nueva generación de plantas autoflorecientes, fruto de cruces selectivos que la dotan de gran estabilidad genética y una producción abundante, dando respuesta a los cultivadores que demandaban variedades autoflorecientes más productivas.<br />Tope de producción en 69 días. Ideal para cultivo interior y exterior.<br />Gran estabilidad genética.<br />En climas frios cultivar solo en verano.";"Genética: Autoflowering<br />Rendimiento: 350 - 450 g/m2<br />THC: 14%<br />Altura interior: 60 - 100 cm<br />Altura Exterior: 60 - 120 cm<br />Floracion Interior: 69 días (max.)<br />Cosecha Exterior: De Abril a Noviembre";https://api.theplanetseeds.com/p/ADSE0002/ADSE0002-00.png;Autoflorecientes > Advanced Seeds Auto;3279 > 3294;10.59;19.42;0;0;0;0;3294;ADSE0001;3;;auto
ADSE0003;"Advanced Seeds Critical Fem.";;21;99999;"<p>Planta grande y ramificada con gran producción de cogollos. Se adapta a todo tipo de sustratos y formas de cultivo.  En interior se aconseja dar un máximo de 15 días de crecimiento para evitar un tamaño final demasiado grande. La  cosecha en exterior es generosa y rápida. El uso de tutores es imprescindible en algunos casos para que las ramas no  se doblen al final de la floración por su propio peso.</p>";"<p><strong>Ficha Técnica</strong></p><ul>  <li><strong>Tipo de variedad:</strong> Critical</li>  <li><strong>THC:</strong> 16 %</li>  <li><strong>Rendimiento:</strong> 450 - 500 G</li>  <li><strong>Altura Interior:</strong> 70 - 90 cm</li>  <li><strong>Altura Exterior:</strong> 200 - 300 cm</li>  <li><strong>Ciclo de floración:</strong> 45 - 55 días</li>  <li><strong>Cosecha:</strong> 1 - 15 Octubre</li></ul>";https://api.theplanetseeds.com/p/ADSE0003/ADSE0003-00.png;Feminizadas > Advanced Seeds Fem;3281 > 3299;7.88;14.46;0;0;0;0;3299;;3;;fem

Méthode pour obtenir le catalogue au format CSV

Voici un exemple d’appel pour obtenir le catalogue :

1var axios = require('axios');
2var data = JSON.stringify({"lang":1});
3 
4var config = {
5  method: 'get',
6  url: 'https://api.theplanetseeds.com/api/product/getCsv',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQyNTQzODMsImV4cCI6MTYxNDM0MDc4M30.kDXELgGovdtnpUri5MeaCKZQqT7ba_q_LY7VZ3eurWQ'
9  },
10  data : data
11};
12 
13axios(config)
14.then(function (response) {
15  console.log(JSON.stringify(response.data));
16})
17.catch(function (error) {
18  console.log(error);
19});

Get Catégorie

Renvoie l’arborescence complète des catégories de produits, dans le même ordre que sur le site web de The Planet Seeds.

L’attribut father : null définit la catégorie racine de l’arborescence, tandis que les autres indiquent la catégorie immédiatement supérieure.


Endpoint :

GET /product/getCategory

Réponse correcte d’obtention des catégories

Voici un exemple de réponse correcte obtenue :

[
    {
        "id": 2324,
        "father": 1,
        "name": "Semillas",
        "position": null
    },
    {
        "id": 3279,
        "father": 2324,
        "name": "Autoflorecientes",
        "position": null
    },
    {
        "id": 3281,
        "father": 2324,
        "name": "Feminizadas",
        "position": null
    }
]

Méthode pour obtenir les catégories de The Planet Seeds

Voici un exemple d’appel pour obtenir l’arborescence des catégories :

1var axios = require('axios');
2var data = JSON.stringify({"lang":1});
3 
4var config = {
5  method: 'get',
6  url: 'https://api.theplanetseeds.com/api/product/getCategory',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTUxOTQ0MzQsImV4cCI6MTYxNTI4MDgzNH0.4SCvWNwD-nzP033a1Rt95uoWlmQkOfpj0hAqB01yMwI', 
9    'Content-Type': 'application/json'
10  },
11  data : data
12};
13 
14axios(config)
15.then(function (response) {
16  console.log(JSON.stringify(response.data));
17})
18.catch(function (error) {
19  console.log(error);
20});
21
22

Get Stock

Obtient le stock des produits disponibles.


Endpoint :

GET /product/getStock

Réponse correcte d’obtention du stock du produit

Voici un exemple de réponse correcte obtenue :

[
    {
        "itemCode": "ACES0001",
        "stock": 99999
    },
    {
        "itemCode": "ACES0028",
        "stock": 99999
    },
    {
        "itemCode": "ADSE0002",
        "stock": 99999
    },
    {
        "itemCode": "ADSE0003",
        "stock": 99999
    }
]

Méthode pour obtenir le stock du produit

Exemple d’appel getStock :

1var axios = require('axios');
2    
3var config = {
4  method: 'get',
5  url: 'https://api.theplanetseeds.com/api/product/getStock',
6  headers: { 
7    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMjIyNSIsImdyb3VwQ29kZSI6MTA2LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQ5NTE4ODgsImV4cCI6MTYxNTAzODI4OH0.bWL_rLE4mmW9Aq2DmVl50LIKu7VisPgHeY5K_n9_GtI'
8  }
9};
10
11axios(config)
12.then(function (response) {
13  console.log(JSON.stringify(response.data));
14})
15.catch(function (error) {
16  console.log(error);
17});

Get Prix

Obtient le tarif complet du client. Ces prix incluent la remise appliquée. Le prix de vente conseillé du produit est également transmis.


Endpoint :

GET /product/getPrice

Réponse correcte d’obtention du prix du produit

Voici un exemple de réponse correcte obtenue :

[
    {
        "itemCode": "ACES0001",
        "price": 18.18,
        "pvp": 40
    },
    {
        "itemCode": "ACES0028",
        "price": 22.73,
        "pvp": 50
    }
]

Méthode pour obtenir le prix du produit

Exemple d’appel getPrecio :

1var axios = require('axios');
2 
3var config = {
4  method: 'get',
5  url: 'https://api.theplanetseeds.com/api/product/getPrice',
6  headers: { 
7    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTUxOTQ0MzQsImV4cCI6MTYxNTI4MDgzNH0.4SCvWNwD-nzP033a1Rt95uoWlmQkOfpj0hAqB01yMwI'
8  }
9};
10 
11axios(config)
12.then(function (response) {
13  console.log(JSON.stringify(response.data));
14})
15.catch(function (error) {
16  console.log(error);
17});

Create Nouvelle Commande

Envoie une nouvelle commande ou un devis. Les commandes directes et en dropshipping sont autorisées.


Endpoint :

POST /order/newOrder

Objet d’exemple

{
    "isQuote": "Y",
    "isDropship": "Y",
    "shipInstructions": "C/ Test 123 Madrid 28001 Madrid España",
    "shipAddress": "Tienda",
    "billAddress": "Tienda",
    "orderIntructions": "Do not send documentation",
    "remarks": "Order Comments",
    "items": [
        {
            "itemCode": "RIPP0009",
            "quantity": 10
        },
        {
            "itemCode": "SWEE0160",
            "quantity": 1
        }
    ]
}

Réponse correcte obtenue

Order successfully grabbed

Méthode pour créer une nouvelle commande

Exemple d’appel createNuevoPedido :

1var axios = require('axios');
2var data = JSON.stringify({"isQuote":"Y","isDropship":"Y","shipInstructions":"C/ Test 123 Montilla 14550 Córdoba España","shipAddress":"Tienda Córdoba","billAddress":"Tienda Córdoba","orderIntructions":"No enviar documentación","remarks":"Comentarios del pedido","items":[{"itemCode":"TONE0011","quantity":80},{"itemCode":"LUMI0017","quantity":5},{"itemCode":"SUST0110","quantity":2}]});
3 
4var config = {
5  method: 'post',
6  url: 'https://api.theplanetseeds.com/api/order/newOrder',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTUxOTQ0MzQsImV4cCI6MTYxNTI4MDgzNH0.4SCvWNwD-nzP033a1Rt95uoWlmQkOfpj0hAqB01yMwI', 
9    'Content-Type': 'application/json'
10  },
11  data : data
12};
13 
14axios(config)
15.then(function (response) {
16  console.log(JSON.stringify(response.data));
17})
18.catch(function (error) {
19  console.log(error);
20});

Get Adresse de Livraison

Obtient les adresses de livraison enregistrées dans le compte de l’utilisateur.


Endpoint :

GET /customer/getShippingAddress

Réponse correcte obtenue

[
    {
        "address": "My address",
        "street": "123rd test street",
        "city": "Montilla",
        "zipCode": "28001",
        "state": "Madrid",
        "country": "Madrid",
        "contactPerson": "Manuel Fernández López.",
        "phone": "+34 6xx xx xx xx",
        "schedule": "From 10 a.m. to 2 p.m.",
        "remark": "Transport Remarks"
    }
]

Méthode pour obtenir la ou les adresses de livraison

Exemple d’appel getDireccionEnvio :

1var axios = require('axios');
2 
3var config = {
4  method: 'get',
5  url: 'https://api.theplanetseeds.com/api/customer/getShippingAddress',
6  headers: { 
7    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMjIyNSIsImdyb3VwQ29kZSI6MTI2LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQyNTUxMDIsImV4cCI6MTYxNDM0MTUwMn0.2MiXr-C-JOtyvn__o09MXCLlpe7EiUr3ZFPfSEMmUa8'
8  }
9};
10 
11axios(config)
12.then(function (response) {
13  console.log(JSON.stringify(response.data));
14})
15.catch(function (error) {
16  console.log(error);
17});

Create Adresse de Livraison

Crée une nouvelle adresse de livraison à partir des données de l’appel.


Endpoint :

POST /customer/createShippingAddress

Objet d’exemple

1{
2    "name": "Madrid Shop 2",
3    "street": "Sample Street 123",
4    "zipCode": "28001",
5    "city": "Madrid",
6    "state": "Madrid",
7    "country": "ES",
8    "contactPerson": "Antonio Gutiérrez",
9    "phone": "+34 6xx xx xx xx",
10    "phoneShipping": "+34 6xx xx xx xx",
11    "shippingRemarks": "Transport Remarks"
12}

Réponse correcte obtenue

Address 'Madrid Shop 2' created successfully.

Méthode pour créer une nouvelle adresse de livraison

Exemple d’appel createDireccionEnvio :

1var axios = require('axios');
2var data = JSON.stringify({
3    "name": "Madrid Shop 2",
4    "street": "Sample Street 123",
5    "zipCode": "28001",
6    "city": "Madrid",
7    "state": "Madrid",
8    "country": "ES",
9    "contactPerson": "Antonio Gutiérrez",
10    "phone": "+34 6xx xx xx xx",
11    "phoneShipping": "+34 6xx xx xx xx",
12    "shippingRemarks": "Transport Remarks"
13});
14 
15var config = {
16  method: 'post',
17  url: 'https://api.theplanetseeds.com/api/customer/createShippingAddress',
18  headers: { 
19    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQ5NDE5MDEsImV4cCI6MTYxNTAyODMwMX0.qesOvjyWZfQJF3TOYk4iHa4o0OYoqZElGXam_yyQWsk', 
20    'Content-Type': 'application/json'
21  },
22  data : data
23  };
24 
25axios(config)
26.then(function (response) {
27  console.log(JSON.stringify(response.data));
28})
29.catch(function (error) {
30  console.log(error);
31});
32

Update Adresse de Livraison

Met à jour les données d’une adresse de livraison existante. Seuls le champ « address » et les champs à mettre à jour sont obligatoires.


Endpoint :

PATCH /customer/updateShippingAddress

Réponse correcte obtenue

Address 'Madrid Shop 2' updated successfully.

Méthode pour mettre à jour les données de vos adresses de livraison

Exemple d’appel updateDireccionEnvio :

1var axios = require('axios');
2var data = JSON.stringify({"address":"My address","country":"ES","zipCode":"","phone":"+34 6xx xx xx xx","phoneShipping":"+34 6xx xx xx xx xx "});
3 
4var config = {
5  method: 'patch',
6  url: 'https://api.theplanetseeds.com/api/customer/updateShippingAddress',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMjIyNSIsImdyb3VwQ29kZSI6MTA2LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQ5NTE4ODgsImV4cCI6MTYxNTAzODI4OH0.bWL_rLE4mmW9Aq2DmVl50LIKu7VisPgHeY5K_n9_GtI', 
9    'Content-Type': 'application/json'
10  },
11  data : data
12};
13 
14axios(config)
15.then(function (response) {
16  console.log(JSON.stringify(response.data));
17})
18.catch(function (error) {
19  console.log(error);
20});

Delete Adresse de Livraison

Supprime l’adresse de livraison indiquée dans l’appel. L’adresse doit être exacte.


Endpoint :

DELETE /customer/deleteShippingAddress

Objet d’exemple

1{
2    "address": "Madrid Tienda"
3}

Réponse correcte obtenue

Address 'Madrid Tienda 2' deleted successfully.

Méthode pour supprimer une adresse de livraison

Exemple d’appel deleteDireccionEnvio :

1var axios = require('axios');
2var data = JSON.stringify({  "address": "Tienda Madrid" });
3 
4var config = {
5  method: 'delete',
6  url: 'https://api.theplanetseeds.com/api/customer/deleteShippingAddress',
7  headers: { 
8    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQ5NDE5MDEsImV4cCI6MTYxNTAyODMwMX0.qesOvjyWZfQJF3TOYk4iHa4o0OYoqZElGXam_yyQWsk', 
9    'Content-Type': 'application/json'
10  },
11  data : data
12};
13 
14axios(config)
15.then(function (response) {
16  console.log(JSON.stringify(response.data));
17})
18.catch(function (error) {
19  console.log(error);
20});

Get Adresse de Facturation

Obtient les adresses de facturation enregistrées dans le compte de l’utilisateur.


Endpoint :

GET /customer/getBillingAddress

Réponse correcte obtenue

[
    {
        "address": "Madrid Address",
        "street": "Sample street 123",
        "city": "Madrid",
        "zipCode": "28001",
        "state": "Madrid",
        "country": "España"
    }
]

Méthode pour obtenir la ou les adresses de facturation

Exemple d’appel getDireccionFacturacion :

1var axios = require('axios');
2 
3var config = {
4  method: 'get',
5  url: 'https://api.theplanetseeds.com/api/customer/getBillingAddress',
6  headers: { 
7    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJkQ29kZSI6IkMwMDAxMCIsImdyb3VwQ29kZSI6MTI3LCJsaXN0TnVtIjoxMiwibm9EaXNjb3VudCI6Ik4iLCJkaXNjUmVsIjoiSCIsIm11ZXN0cmFPY3VsdGFzIjoxLCJpYXQiOjE2MTQ5NDE5MDEsImV4cCI6MTYxNTAyODMwMX0.qesOvjyWZfQJF3TOYk4iHa4o0OYoqZElGXam_yyQWsk'
8  }
9};
10 
11axios(config)
12.then(function (response) {
13  console.log(JSON.stringify(response.data));
14})
15.catch(function (error) {
16  console.log(error);
17});

Collection de méthodes

Pour faciliter l’utilisation de toutes ces méthodes, nous avons créé une collection pour Postman.

Il vous suffit d’importer ce fichier, de suivre les méthodes d’authentification et de connexion et vous disposerez de toutes les données nécessaires pour effectuer les requêtes vers notre API.