Saltar al contenido principal

GraphQL

Meister1 utiliza una API GraphQL. GraphQL es un lenguaje de consulta que permite al cliente determinar qué datos necesita.

Aquí le mostraremos brevemente cómo es una solicitud HTTP en GraphQL. También veremos algunos casos de uso típicos.

Endpoint: https://api.meister1.com/graphql

precaución

Para las consultas se debe usar un encabezado Authorization con el accessToken (véase Autorización)

General

Básicamente, cada solicitud tiene el mismo aspecto. Es una solicitud POST. El esquema que se espera como respuesta se define en el cuerpo.

Solicitud

query {
viewer {
id
email
}
}

cURL

curl 'https://api.meister1.com/graphql' -H 'Content-Type: application/json' \
--data-binary '{"query":"query {\n viewer {\n id\n email\n }\n}"}' --compressed

Respuesta

{
"data": {
"viewer": {
"id": "VSFlcgox",
"email": "user@meister1.de"
}
}
}

Obtener un lead

Solicitud

query {
lead(id: 123456789) {
leadId
salutation
firstName
lastName
address {
street
streetNo
city
zip
lat
lng
}
email
phone
distance
salesStatus
assignee {
firstName
lastName
}
transactions {
flowInputFieldGroups {
label
name
fields {
name
label
values {
label
name
}
}
}
calculations {
... on RetailOffer {
offerNumber
totalPrice
totalPriceNet
totalPriceVat
vat
createdAt
areas {
pos
groups {
pos
title
priceSalesNet
pricePurchaseNet
priceWagesNet
priceTotalNet
positions {
pos
title
description
priceSalesNet
pricePurchaseNet
priceWagesNet
priceTotalNet
items {
pos
title
description
amount
status
unit
priceSalesNet
pricePurchaseNet
priceWagesNet
priceTotalNet
orderNumber
}
}
}
}
}
documents {
id
publicUrl
label
fileName
mime
name
}
}
}
createdAt
}
}

Respuesta

{
"data": {
"lead": {
"leadId": 123456789,
"salutation": "MR",
"firstName": "Max",
"lastName": "Müller",
"address": {
"street": "Neue Promenade",
"streetNo": "3",
"city": "Berlin",
"zip": "10178",
"lat": null,
"lng": null
},
"email": "karol.wyszynski@meister1.de",
"phone": "+49 123123",
"distance": null,
"salesStatus": "OPEN",
"assignee": {
"firstName": "Max",
"lastName": "Mustermann"
},
"transactions": [
{
"flowInputFieldGroups": [
{
"label": "Brennstoff",
"name": "brennstoff",
"fields": [
{
"name": "brennstoff_wunsch",
"label": "Womit möchten Sie in Zukunft heizen?",
"values": [
{
"label": "Erdgas",
"name": "gas"
}
]
},
{
"name": "brennstoff_aktuell",
"label": "Womit heizen Sie aktuell?",
"values": [
{
"label": "Gas",
"name": "gas"
}
]
}
]
}
],
"calculations": [
{
"offerNumber": "M1-HT-7067",
"totalPrice": 10273.66,
"totalPriceNet": 8633.33,
"totalPriceVat": 1640.33,
"vat": 19,
"createdAt": 1695040527603,
"areas": [
{
"pos": "1",
"groups": [
{
"pos": "1.1",
"title": "Demontage der Altanlage",
"priceSalesNet": 17,
"pricePurchaseNet": 15,
"priceWagesNet": 252,
"priceTotalNet": 269,
"positions": [
{
"pos": "1.1.1",
"title": "Demontage",
"description": "<br><p>Die Demontage eines bestehenden Gaskessels ist nicht im Angebot enthalten.2</p><br>Demontage und umweltgerechte Entsorgung eines Warmwasserspeichers (aus dem Keller bis 200 Liter)<br>Rückbau vorhandener Gaszähler und Gasleitungen<br><b>Wir schützen Ihren Wohnbereich während der Montagearbeiten.</b><br>\n Um das zu gewährleisten, werden von uns sämtliche Böden und Treppen im Haus, die als Arbeitsplatz oder Weg benötigt werden, mit Schutzflies abgedeckt und Kanten mit Kantenschutz versehen!",
"priceSalesNet": 17,
"pricePurchaseNet": 15,
"priceWagesNet": 252,
"priceTotalNet": 269,
"items": [
{
"pos": "1.1.1.1",
"title": "Demontage und umweltgerechte Entsorgung eines Warmwasserspeichers (aus dem Keller bis 200 Liter)",
"description": "Demontage und umweltgerechte Entsorgung eines Warmwasserspeichers (aus dem Keller bis 200 Liter)",
"amount": 1,
"status": "ACTIVE",
"unit": "Psch",
"priceSalesNet": 12,
"pricePurchaseNet": 10,
"priceWagesNet": 114,
"priceTotalNet": 126,
"orderNumber": "HA-05090"
},
{
"pos": "1.1.1.2",
"title": "Rückbau Gasanschluss inkl. Zähler und Gasleitungen bis 7m",
"description": "Rückbau vorhandener Gaszähler und Gasleitungen",
"amount": 1,
"status": "ACTIVE",
"unit": "Psch",
"priceSalesNet": 5,
"pricePurchaseNet": 5,
"priceWagesNet": 108,
"priceTotalNet": 113,
"orderNumber": "HA-05252"
},
{
"pos": "1.1.1.3",
"title": "Einrichtung der Baustelle",
"description": "<b>Wir schützen Ihren Wohnbereich während der Montagearbeiten.</b><br>\n Um das zu gewährleisten, werden von uns sämtliche Böden und Treppen im Haus, die als Arbeitsplatz oder Weg benötigt werden, mit Schutzflies abgedeckt und Kanten mit Kantenschutz versehen!",
"amount": 1,
"status": "ACTIVE",
"unit": "Psch",
"priceSalesNet": 0,
"pricePurchaseNet": 0,
"priceWagesNet": 30,
"priceTotalNet": 30,
"orderNumber": "HA-05230"
}
]
}
]
}
]
}
],
"documents": [
{
"publicUrl": "https://api.lokalleads.de/output/download/e95pweea-030b-45ca-a5a8-05e0a538z433-a27b4111-f9a5-4d7f-8f64-0bbc0b46c0bd-123jus3hh4.pdf",
"label": "Angebot",
"fileName": "M1-HT-7067 Angebot.pdf",
"mime": "text/plain; charset=windows-1252",
"name": "pdf"
},
{
"publicUrl": "https://api.lokalleads.de/output/download/88387eaf-67c0-48a7-9403-70c668ecadc1-fc9b043f-311e-42ac-b577-1566749773a3.xml",
"label": "XI:OPD",
"fileName": "M1-HT-7067 XI:OPD.xml",
"mime": "text/xml; charset=utf-8",
"name": "opd_export"
}
]
}
]
}
],
"createdAt": 1695040497329
}
}
}