Lunes 9/12 la delegación de Madrid permanecerá abierta en su horario habitual   

API

Leaf Life te lo pone fácil, con nuestra API podrás actualizar tu catálogo y hacer los pedidos de una forma muy sencilla apuntando a un solo endpoint. Para evitar enviarte datos que no necesitas, serás tú quien los pedirá con una consulta.

 

Autenticación

Para poder acceder a la API, necesitas el "client id" y "client secret" que encontraras en tu perfil de usuario, a continuación, añade las cabeceras "Content-Type: application/json", "Accept: application/json" y solicita el token enviando la consulta, el envío de esta petición y todas las demás será por método POST, un ejemplo con curl:

curl \
	-X POST https://api.leaflife.com \
	-H 'Content-Type: application/json' \
	-H 'Accept: application/json' \
	-d '{ "query": "mutation{login(clientId: \"8c4f09821d631b07fbdab7f7ff2f58cdba928a2a\", clientSecret: \"4d09b8992996fd6c8aae4d4f09d2343bf8beec43\") {token}}" }'

Obtendrás una respuesta en JSON con el token, añádelo a las cabeceras (Authorization: Bearer TOKEN) y tendrás acceso a la API, para renovar el token, utiliza la función "updateToken". Por ejemplo, para recuperar la referencia de producto, el PVP y la disponibilidad en el almacén de Madrid, lo haremos de esta forma:

 

Endpoints

  • Producción: https://api.leaflife.com
  • Desarrollo: https://api.leaflife.com/test

Solo se aceptarán conexiones por HTTPS. La petición de crear un nuevo pedido en el entorno de desarrollo devolverá una respuesta, pero los datos no se guardarán en la base de datos.

 

Ejemplos

Como hemos visto anteriormente, para obtener las referencias de los productos, los PVPs y la disponibilidad en el almacén de Madrid, lo haremos de esta forma:

curl \
	-X POST https://api.leaflife.com \
	-H 'Content-Type: application/json' \
	-H 'Accept: application/json' \
	-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NDYyOTcyMDAsImV4cCI6MTU0NjMwMDgwMCwiZGF0YSI6eyJjbGllbnRfaWQiOiI4YzRmMDk4MjFkNjMxYjA3ZmJkYWI3ZjdmZjJmNThjZGJhOTI4YTJhIn19.tb-AIbDMp3479gD7kvJHU3ODbSPFMat69mTbsdk3Vio' \
	-d '{ "query": "{products{code msrpIncVat stockMadrid}}" }'

Para enviar un pedido, lo haremos de esta forma

curl \
	-X POST https://api.leaflife.com \
	-H 'Content-Type: application/json' \
	-H 'Accept: application/json' \
	-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NDYyOTcyMDAsImV4cCI6MTU0NjMwMDgwMCwiZGF0YSI6eyJjbGllbnRfaWQiOiI4YzRmMDk4MjFkNjMxYjA3ZmJkYWI3ZjdmZjJmNThjZGJhOTI4YTJhIn19.tb-AIbDMp3479gD7kvJHU3ODbSPFMat69mTbsdk3Vio' \
	-d @- <<EOF
	{ "query": "mutation{
		createOrder(
			order: {
				products: [
					{
					code: \"AACC.009\",
					amount: 2
					},
					{
					code: \"AACC.010\",
					amount: 3
					}
				],
				payment: \"Transferencia bancaria\",
				shipping: \"Enviar el pedido\",
				send: {
					firstname: \"Jose Luis\",
					lastname: \"Garcia\",
					address: \"Calle General, 1\",
					city: \"Madrid\",
					state: \"Madrid\",
					country: \"España\",
					zipcode: \"28001\",
					phone: \"910010101\"
				}
			}
		)
		{order message}
	}" }
	EOF

 

Funciones

Para ver la documentación completa y todas las opciones que te ofrece la API, recomendamos el uso de un cliente GraphQL, como por ejemplo GraphiQL

 

Límites de llamadas

1000 peticiones máximo por cliente en los últimos 60 minutos. Si se supera este límite, no se aceptarán nuevas peticiones hasta pasado los 60 minutos

 

Mas información

Para obtener mas información, visita la página de GraphQL