API és integrációk (CRM, Make, n8n)
Kösd össze a CRM-edet vagy az ERP-det a Sattotallal API-kulcsokkal: szinkronizáld az ügyfeleket és a beszállítókat automatikusan és biztonságosan
A Sattotal API-ja lehetővé teszi, hogy egy másik program — a CRM-ed, az ERP-d, a Make, az n8n, a Zapier vagy egy saját szkript — ügyfeleket és beszállítókat olvasson és hozzon létre a szervezetedben, anélkül hogy bárkinek kézzel kellene CSV-t importálnia. API-kulcsokkal vezérelhető, amelyeket az adminisztrátor a Beállítások → API alatt hoz létre, mindegyik saját névvel és erőforrásonkénti jogosultságokkal, és amelyek bármikor visszavonhatók. Itt megtalálod, mit tud, hogyan hozd létre a kulcsot, hogyan hívd az API-t, és hogyan állíts össze lépésről lépésre egy szinkronizálást a Make-kel.
Kösd össze a CRM-edet és az automatizálásaidat
Bármely eszköz, amely képes HTTP-kérést küldeni (Make, n8n, Zapier, a saját CRM-ed vagy ERP-d), olvashat, létrehozhat és frissíthet ügyfeleket és beszállítókat.
Nevesített kulcsok jogosultságokkal
Integrációnként egy kulcs, és minden kulcson belül erőforrásonként egy jogosultság: adhatsz olvasási jogot a beszállítókhoz anélkül, hogy írási jogot adnál az ügyfelekhez. Szervezetenként legfeljebb 10 aktív kulcs.
Inkrementális szinkronizálás
Az actualizadoDesde paraméterrel csak azok az ügyfelek vagy beszállítók jönnek le, akik az előző futás óta változtak: ideális egy néhány percenként futó szcenárióhoz.
Biztonságos alapból
A kulcs csak egyszer jelenik meg, és visszafordíthatatlanul titkosítva tároljuk. Minden kulcs csak a saját szervezete adataihoz fér hozzá, és azonnal visszavonható.
Ki használhatja
A kulcsokat a szervezet adminisztrátorai hozzák létre és vonják vissza. Az API a fizetős csomagok (Basic, Pro és Enterprise) része, és a próbaidőszakban is elérhető; az ingyenes csomagban a képernyő lakatot mutat a csomagváltás lehetőségével. A kulcs mindig a szervezet nevében jár el, nem egy személy nevében: nem örökli egyik technikus jogosultságait sem, és nem jelenik meg felhasználóként a csapatban.
Hogyan hozz létre kulcsot
Lépj be a Beállítások → API menübe
Az oldalsó menüből: Beállítások, „API” kártya. Látni fogod a szervezeted kulcsainak listáját (aktívak és visszavontak), valamint egy „Így csatlakozz” kártyát az alap URL-lel és egy példával.
Kattints az „Új kulcs” gombra
Adj neki olyan nevet, amely azonosítja az integrációt („Bolti CRM”, „Make”, „n8n”). Így ha egyszer vissza kell vonnod, tudni fogod, melyik az.
Válaszd ki a jogosultságokat
Jelöld be azokat az erőforrásokat, amelyekre az integrációnak szüksége van — Ügyfelek, Beszállítók vagy mindkettő —, és mindegyiknél válaszd a „Csak olvasás” (lekérdezés) vagy az „Olvasás és írás” (lekérdezés, létrehozás, frissítés és archiválás) szintet. A be nem jelölt erőforrás olyan erőforrás, amelyet a kulcs nem ér el. Válaszd a legkevesebbet, amire szüksége van.
Másold ki a kulcsot, és mentsd el az eszközödben
A teljes kulcs (sat_ előtaggal kezdődik) csak egyszer jelenik meg. Másold ki a gombbal, és illeszd be a Make-be, az n8n-be vagy a CRM-edbe. Ha elveszíted, nem lehet visszaszerezni: vissza kell vonni, és újat létrehozni.
Beállítások → API: kulcslista és a frissen létrehozott kulcs
CRM Make
sat_Ab3k…x9Zq
n8n
sat_Qm7t…p2Lk
A kulcs létrejött
sat_Ab3k9Zq2Xv8Lp1Mn4Rt7Wy0Cd5Fg6Hj3Kl8Sx9ZqMásolásEz az egyetlen alkalom, amikor a teljes kulcsot látod. Ha elveszíted, vond vissza, és hozz létre újat.
Egy kulcs jogosultságai
Csak olvasás
Listázhatja és lekérdezheti az adott erőforrást. Minden létrehozási, módosítási vagy archiválási kísérlet 403-as hibát kap PERMISO_DENEGADO kóddal és a hiányzó jogosultsággal.
Olvasás és írás
A lekérdezés mellett az adott erőforrásban létrehozhat, frissíthet és archiválhat. Ez a jogosultság kell a kétirányú szinkronizáláshoz.
A jogosultságok erőforrásonként érvényesek
A jogosultságok erőforrásonként érvényesek, és ez már meg is mutatkozott: amikor a beszállítók megjelentek, a már létező kulcsok — mind ügyfelekhez készült — NEM kaptak hozzájuk hozzáférést. Be kellett jelölni nekik. Ugyanez lesz minden később hozzáadott erőforrással: egy integráció soha nem lát többet, mint amit megadtál neki.
Hogyan hitelesíts
Küldd el a kulcsot minden kérésben, szerverről szerverre, az Authorization: Bearer sat_… fejlécben. Ha az eszközöd nem enged hitelesítési fejléceket, az x-api-key fejlécben is elfogadjuk. Az alap URL a Sattotalod címe, utána /api/v1 (másolásra készen megtalálod a Beállítások → API képernyőn).
GET /api/v1/me Authorization: Bearer sat_Ab3k9…x9Zq
Az API-nak szándékosan nincs CORS-a: szervereknek és automatizálási eszközöknek készült, nem weboldalaknak vagy az ügyfeleid böngészőjében futó alkalmazásoknak. Egy kulcs soha nem kerülhet böngészőbe.
Mit lehet csinálni (végpontok)
Minden válasz success + data formátumú (a listáknál pagination is van). Ügyfelet az id-je vagy a kódja alapján kérhetsz le (CLI-0007); beszállítót viszont csak az id-je alapján.
| Metódus | Útvonal | Mit csinál | Jogosultság |
|---|---|---|---|
| GET | /me | Visszaadja a szervezetedet és a kulcsot, amellyel hívsz. Ezzel „teszteld a kapcsolatot” a Make-ben vagy az n8n-ben. | Bármelyik |
| GET | /clientes | Lapozható ügyféllista. Szűrők: busqueda, tipo, activo és actualizadoDesde. activo nélkül az archiváltakat is visszaadja. | Olvasás |
| POST | /clientes | Ügyfelet hoz létre az űrlappal azonos szabályok szerint (adóazonosító az országod szerint, adóazonosító- vagy e-mail-duplikátum nélkül). | Írás |
| GET | /clientes/{id} | Egy ügyfelet ad vissza id vagy kód alapján. | Olvasás |
| PATCH | /clientes/{id} | Csak az elküldött mezőket frissíti. A PUT szinonimaként elfogadott. | Írás |
| DELETE | /clientes/{id} | Archiválja az ügyfelet (activo = false). Semmit nem töröl, és hiba nélkül megismételhető. | Írás |
| GET | /proveedores | Lapozható beszállítólista. Szűrők: busqueda, activo, tipoProveedor, codigo és actualizadoDesde. activo nélkül az archiváltakat is visszaadja. | Olvasás |
| POST | /proveedores | Beszállítót hoz létre. Csak a név kötelező. Ha már van ilyen adóazonosítójú vagy ilyen nevű beszállító, 409-es választ ad a meglévő id-jével. | Írás |
| GET | /proveedores/{id} | Egy beszállítót ad vissza az id-je alapján. A kód itt NEM működik: lásd az alábbi figyelmeztetést. | Olvasás |
| PATCH | /proveedores/{id} | Csak az elküldött mezőket frissíti. A kapcsolattartók listája egészében cserélődik. A PUT szinonimaként elfogadott. | Írás |
| DELETE | /proveedores/{id} | Archiválja a beszállítót (activo = false). Semmit nem töröl, és hiba nélkül megismételhető. | Írás |
| GET | /reparaciones | A munkalapok lapozható listája, a legutóbbi átvétellel kezdve. Szűrők: cliente, estado, entradaDesde, entradaHasta és actualizadoDesde. | Olvasás |
| GET | /reparaciones/{id} | Egy munkalapot ad vissza azonosító vagy munkalapszám alapján. | Olvasás |
| GET | /clientes/{id}/reparaciones | Egy ügyfél munkalapjai (az ügyfél azonosítója vagy kódja alapján), ugyanazokkal a szűrőkkel. | Olvasás |
| GET | /clientes/{id}/resumen | Az ügyfél tevékenységének összefoglalója: hány javítása van (összesen, nyitott és állapotonként), mekkora összegben kapott árajánlatot, és mikor járt nálad utoljára. | Olvasás |
Az ügyfél mezői
A mezők ugyanazok, mint az ügyfél adatlapján: a nombre és a tipo (particular vagy empresa) kötelező; a nif_cif, apellidos, razonSocial, email, telefono, telefonoSecundario, direccion (calle, numero, piso, codigoPostal, localidad, provincia, pais) és notas opcionális. Az adóazonosítót nagybetűvel, az e-mailt kisbetűvel tároljuk. A válaszban minden kulcs mindig jelen van, null értékkel, ha nincs adat, hogy az eszközödben a mezők leképezése ne törjön el. Figyeljen a névre: a nombre a keresztnév (cégnél a cégnév), a vezetéknév külön, az apellidos mezőbe kerül, többes számban.
Mezők, amelyeket az API nem ismer
Ha a kérés törzsében olyan kulcs van, amely nem létezik (például firstName a nombre helyett, vagy egyes számú apellido az apellidos helyett), a kérést nem utasítjuk el, de az adat nem mentődik. Hogy ez ne maradjon észrevétlen, az ügyfél létrehozásakor és szerkesztésekor a válasz tartalmazza az avisos.camposIgnorados listát ezekkel a kulcsokkal; a cím mezői az útvonalukkal szerepelnek, például direccion.ciudad. Ha megjelenik, ellenőrizze az integráció mezőmegfeleltetését. Az API által visszaadott mezők (id, codigo, createdAt…) soha nem váltanak ki figyelmeztetést, így egy ügyfelet beolvashat, módosíthat és egészben visszaküldhet.
POST /api/v1/clientes
{ "firstName": "Daniel", "nombre": "Florea", "tipo": "particular" }
201 Created
{
"success": true,
"data": { "nombre": "Florea", "apellidos": null, … },
"avisos": { "camposIgnorados": ["firstName"] }
}Példa: ügyfél létrehozása
Kérés
POST /api/v1/clientes
Authorization: Bearer sat_Ab3k9…x9Zq
Content-Type: application/json
{
"nombre": "Daniel",
"apellidos": "Florea",
"tipo": "empresa",
"razonSocial": "Assista Tech SRL",
"nif_cif": "RO12345678",
"codigoPersonalizado": "801",
"email": "daniel@example.com",
"telefono": "+40 700 000 000",
"direccion": { "localidad": "București", "pais": "RO" }
}Válasz (201)
{
"success": true,
"data": {
"id": "64b0…0001",
"codigo": "CLI-0042",
"codigoPersonalizado": "801",
"codigoVisible": "801",
"tipo": "empresa",
"nombre": "Daniel",
"apellidos": "Florea",
"razonSocial": "Assista Tech SRL",
"nif_cif": "RO12345678",
"email": "daniel@example.com",
"activo": true,
"createdAt": "2026-09-18T10:00:00.000Z",
"updatedAt": "2026-09-18T10:00:00.000Z"
}
}Beszállítók
Az ügyfelek mellett az API a beszállítói törzset is elérhetővé teszi: ugyanaz az öt végpont, ugyanazok a hibakódok és ugyanaz a növekményes szinkronizálás. Csak a törzsről van szó: a beszerzések és a bejövő számlák ott maradnak, ahol eddig is voltak, az ERP-dben vagy a Sattotalban.
A beszállító mezői
Csak a nombre kötelező. Opcionális: codigo, cif, email, telefono, telefonoSecundario, web, direccion (egyetlen sorban, nem objektum, mint az ügyfeleknél), ciudad, provincia, codigoPostal, pais, contactos, tipoProveedor (general, producto, servicio, logistica vagy otro), formaPago, plazoPago (napokban; a 0 az azonnali fizetés), cuentaCliente és notas. Minden kapcsolattartónak van nombre mezője — ez kötelező —, valamint cargo, telefono, email és notas; a kapcsolattartóknak nincs saját azonosítójuk.
Hogyan frissülnek a kapcsolattartók
Az elküldött lista LECSERÉLI a korábbit. Ha üres listát küldesz, az összes kapcsolattartó törlődik; ha nem küldöd el a kulcsot (vagy null értéket küldesz), minden marad a régiben. Épp ettől tudsz beolvasni egy beszállítót, átírni benne egy mezőt, és az egész objektumot visszaküldeni furcsa mellékhatások nélkül.
Kérés
POST /api/v1/proveedores
Authorization: Bearer sat_Ab3k9…x9Zq
Content-Type: application/json
{
"nombre": "Distribuciones Norte",
"cif": "B12345678",
"tipoProveedor": "producto",
"plazoPago": 30,
"cuentaCliente": "C-4471",
"contactos": [
{ "nombre": "Ana Ruiz", "cargo": "Ventas", "email": "ana@norte.es" }
]
}Válasz (201)
{
"success": true,
"data": {
"id": "64b0…0009",
"codigo": "PROV-004",
"nombre": "Distribuciones Norte",
"cif": "B12345678",
"tipoProveedor": "producto",
"plazoPago": 30,
"cuentaCliente": "C-4471",
"contactos": [
{ "nombre": "Ana Ruiz", "cargo": "Ventas",
"telefono": null, "email": "ana@norte.es", "notas": null }
],
"excluidoRecargoEquivalencia": false,
"activo": true,
"createdAt": "2026-09-19T08:00:00.000Z",
"updatedAt": "2026-09-19T08:00:00.000Z"
}
}A bankszámlaadatok nem jönnek ki az API-n
A beszállító IBAN-ját és bankszámláit az API sem nem adja vissza, sem nem fogadja el, és ez szándékos: ha egy kulcs kiszivárogna, nem lehetne vele elkövetni a számlaszámcserés csalást, ami a beszállítóknál a leggyakoribb. A cuentaCliente viszont kijön, mert az a TE vevőkódod az adott beszállítónál, és ez alapján egyezteti a beszerzéseit egy ERP.
Az egyenértékűségi felár csak olvasható
Az excluidoRecargoEquivalencia mezőt visszaadjuk, és ugyanazzal az értékkel visszaküldheted (hogy a teljes objektumot vissza tudd adni), de API-ból megváltoztatni 400-as választ ad: ez dönti el, hogy az adott beszállítótól származó beszerzéseidre rákerül-e az egyenértékűségi felár („recargo de equivalencia”), vagyis elmozdítja a bejövő számláid adóalapját. A beszállító adatlapján módosítható. Spanyolországon kívül semmilyen hatása nincs.
A beszállítói kód nem azonosít
Az ügyfélkóddal ellentétben a beszállítói kód (PROV-004) nem egyedi: akár a saját műhelyeden belül is ismétlődhet. Ezért a GET /proveedores/{id} csak az id-t fogadja el. Ha az ERP-d csak a kódot tárolja, használd a lista szűrőjét: a GET /proveedores?codigo=PROV-004 visszaadja az összes találatot, és te döntöd el, melyik az.
Javítási munkalapok (csak olvasás)
Az API-val a javítási munkalapok is lekérdezhetők: munkalapszám, állapot, dátumok, a készülék (típus, márka, modell, sorozatszám, IMEI) és az árajánlat. Csak olvasás: a munkalapokat továbbra is a Sattotalban kell létrehozni és állapotukat ott kell léptetni, ahol az átvételi elismervényt és a kiadást is aláírják. A kulcshoz be kell jelölni a Javítások erőforrást; az ügyfél- vagy beszállítói kulcsok nem férnek hozzájuk.
A munkalap mezői
Minden munkalap tartalmazza a következőket: numeroFicha, estado, prioridad, ubicacion, averiaDeclarada, diagnostico, a folyamat dátumai (átvétel, a hibafeltárás és a javítás kezdete és vége, az ügyfél értesítése, a kiadás és az ultimoCambioEstado, vagyis hogy a munkalap mikor került a jelenlegi állapotába), az ügyfél összefoglalója (id, codigo, codigoVisible, nombre, apellidos, razonSocial), a készülék (id, codigo, tipo, marca, modelo, numeroSerie, imei, color), az árajánlat (numero, total, estado, fechaEnvio és fechaRespuesta, vagy null, ha nincs), a hozzárendelt technikus (csak a neve) és a plazoEntregaEstimado, vagyis az átvételi elismervényen az ügyfélnek megadott várható elkészülési idő. A belső jegyzetek, aláírások, fotók, dokumentumok és a készülék jelszavai soha nem kerülnek ki.
Kérés
GET /api/v1/clientes/CLI-0042/reparaciones?estado=reparado Authorization: Bearer sat_Ab3k9…x9Zq
Válasz (201)
{
"success": true,
"data": [{
"id": "64b0…0042",
"numeroFicha": "ORD-2026-0042",
"estado": "reparado",
"prioridad": "normal",
"averiaDeclarada": "No carga",
"diagnostico": "Conector de carga dañado",
"fechas": {
"entrada": "2026-09-20T09:00:00.000Z",
"finReparacion": "2026-09-22T17:30:00.000Z",
"entrega": null
},
"cliente": { "id": "64b0…0001", "codigoVisible": "801", "nombre": "Daniel" },
"dispositivo": {
"tipo": "movil", "marca": "Apple", "modelo": "iPhone 13",
"numeroSerie": "F2LXX0000", "imei": "356789012345678"
},
"presupuesto": { "numero": "PRES-2026-0010", "total": 89.9, "estado": "aprobado" },
"tecnico": { "nombre": "Andrei Popescu" },
"plazoEntregaEstimado": "3 días laborables"
}],
"pagination": { "total": 1, "page": 1, "limit": 25, "totalPages": 1 }
}Az ügyfél megkeresése a hívó telefonszám alapján
Ha a CRM-ed vagy a telefonközpontod bejövő hívásnál megnyitja az ügyfél adatlapját, használd a GET /clientes?telefono=<szám> hívást. A keresés a fő és a másodlagos telefonszámban is fut, és nem számít, hogyan van leírva a szám: a szóközöket, a kötőjeleket és az országhívószámot (+36 vagy 0036) figyelmen kívül hagyja. Így a „30 123 4567” megtalálja a „+36 30-123-4567” formában mentett ügyfelet. Legalább 6 számjegy kell.
Ügyfélösszefoglaló a CRM-ednek
A GET /clientes/{id}/resumen egyetlen hívással visszaadja azt, amit egy CRM általában az ügyfél adatlapján mutat: totalReparaciones, reparacionesAbiertas (a készülék még a műhelyben van), porEstado, totalPresupuestado és totalPresupuestosAprobados (a műhely pénznemében, amely a moneda mezőben érkezik), primeraReparacion, ultimaReparacion és ultimaActividad (az utolsó változás bármelyik munkalapján). A munkalapokhoz hasonlóan a Javítások erőforrás kell hozzá.
Kérés
GET /api/v1/clientes?telefono=0722 123 456
→ { "data": [{ "id": "64b0…0001", "codigoVisible": "801", "telefono": "+40 722 123 456", … }] }
GET /api/v1/clientes/801/resumen
{
"success": true,
"data": {
"cliente": { "id": "64b0…0001", "codigoVisible": "801" },
"moneda": "RON",
"totalReparaciones": 7,
"reparacionesAbiertas": 1,
"porEstado": { "entregado": 6, "en_reparacion": 1 },
"totalPresupuestosAprobados": 1240.5,
"ultimaReparacion": "2026-10-02T09:15:00.000Z",
"ultimaActividad": "2026-10-06T16:40:00.000Z",
…
}
}Csak azt szinkronizáld, ami változott
Nem kell minden futásnál mindent lekérni. Tárold az eszközödben az utolsó futás dátumát és idejét, és csak az azóta módosult ügyfeleket vagy beszállítókat kérd le az actualizadoDesde paraméterrel. A válasz módosítási dátum szerint növekvő sorrendben érkezik, stabil holtverseny-feloldással, így rekordok kihagyása nélkül lapozhatod. Az archivált rekordok is megjelennek (activo = false értékkel), hogy a CRM-ed tükrözni tudja az archiválást.
GET /api/v1/clientes?actualizadoDesde=2026-09-18T10:00:00Z&limit=100&page=1 Authorization: Bearer sat_Ab3k9…x9Zq
Első futás
Járd végig a GET /clientes hívást limit=100 és page=1, 2, 3… paraméterrel, amíg a totalPages el nem fogy. Mentsd el a kezdési időt.
További futások
Kérd le a GET /clientes?actualizadoDesde=<mentett idő> hívást, és csak azt dolgozd fel, ami megérkezik. Mentsd el újra ennek a futásnak a kezdési idejét.
Kapcsolj össze, ne duplikálj
Tárold a Sattotal id-jét a CRM-ed rekordja mellett. Ha létrehozáskor 409 DUPLICADO választ kapsz, a válasz existenteId-t hoz: azt kapcsold össze, ne hozz létre újat.
Lapozás és keresés
A listák elfogadják a page (1-től) és a limit (alapértelmezés 25, legfeljebb 100; ha többet kérsz, 100-ra vágjuk) paramétert. A busqueda mező a névben, vezetéknévben, cégnévben, adóazonosítóban, e-mailben, kódban és telefonszámban keres.
Hibakódok és mi a teendő
Minden hibaválasz success: false értéket, egy tájékoztató szöveget és egy stabil code mezőt hoz, amely programból történő döntéshez készült. Ezeket kaphatod:
NO_AUTORIZADOHiányzik a kulcs, nem a mi formátumunkat követi, vagy nem létezik. Ellenőrizd az Authorization fejlécet.
CLAVE_REVOCADAA kulcs érvényes volt, de egy adminisztrátor visszavonta. Hozz létre újat a Beállítások → API alatt, és frissítsd az eszközödben.
PLAN_REQUERIDOA szervezet az ingyenes csomagban van. Az API fizetős csomagra váltás után újra működik.
PERMISO_DENEGADOA kulcsnak nincs meg a művelethez szükséges jogosultsága. A válasz az ambitoRequerido mezőben jelzi, melyik hiányzik: hozz létre egy kulcsot ezzel a jogosultsággal.
NO_ENCONTRADONincs ilyen id-vel rendelkező ügyfél vagy beszállító a szervezetedben. Más szervezetek rekordjai soha nem láthatók, és a „nem létezik” nem különböztethető meg attól, hogy „nem a tiéd”.
DUPLICADOMár létezik rekord ezzel az adattal: adóazonosító vagy e-mail-cím az ügyfeleknél; adóazonosító, név vagy kód a beszállítóknál. A válasz campo és existenteId mezőt hoz, hogy össze tudd kapcsolni ahelyett, hogy újat hoznál létre.
VALIDACIONValamelyik mező nem megy át az ellenőrzésen (vagy a JSON hibás formátumú). A details tartalmazza a mezőt és az okot, ugyanúgy, mint az űrlapon.
IDENTIFICADOR_FISCAL_REQUERIDOEnnek az ügyfélnek adóazonosító kell: az országodban az elküldött ügyféltípusnál kötelező (például cégeknél mindig).
RATE_LIMITTúl sok kérés. Várj annyi másodpercet, amennyit a Retry-After fejléc jelez, és próbáld újra.
API_DESACTIVADAAz API karbantartás miatt átmenetileg ki van kapcsolva. Próbáld újra később.
Korlátok
120 kérés percenként és kulcsonként (bőven elég egy időszakos szinkronizáláshoz; megfékez egy véletlen végtelen ciklust). Szervezetenként 10 aktív kulcs. A listák oldalanként legfeljebb 100 rekordot adnak vissza. Ha a szervezet az ingyenes csomagban van, és a havi keret elfogyott, az ügyfelek felvétele ugyanúgy leáll, mint az alkalmazásban.
Lépésről lépésre: ügyfelek szinkronizálása a Make-kel
Egy tipikus szcenárió: 15 percenként áthozni a CRM-edbe a Sattotalban új vagy módosult ügyfeleket és beszállítókat. Az n8n-ben ugyanez a HTTP Request csomóponttal és egy Schedule csomóponttal megy.
Hozd létre a kulcsot a Sattotalban
Beállítások → API → Új kulcs, „Csak olvasás” jogosultság, ha csak olvasni fogsz, „Olvasás és írás”, ha a CRM-ből ügyfeleket is fogsz létrehozni. Másold ki a kulcsot.
HTTP modul: „Make a request”
URL: az alap URL-ed + /clientes. Metódus: GET. Authorization fejléc Bearer értékkel és a kulcsoddal. Jelöld be a „Parse response” opciót, hogy a JSON-nal dolgozhass.
Teszteld a kapcsolatot
Mindenekelőtt futtass egyszer egy kérést a /me végpontra: ha visszaadja a szervezetedet és a kulcs nevét, a hitelesítés rendben van.
Add hozzá az inkrementális szűrőt
Tárold az utolsó futás dátumát egy Data store-ban vagy egy változóban, és add át actualizadoDesde paraméterként az URL-ben. Ütemezd a szcenáriót 15 percenkéntre.
Képezd le a mezőket a CRM-edbe
Iterálj a data[] tömbön, és képezd le az id, codigo, nombre, apellidos, email, telefono, nif_cif és direccion mezőket. Tárold a Sattotal id-jét a CRM-edben, hogy frissíts duplikálás helyett.
Ügyfelek CRM-ből való létrehozásához egy másik HTTP modul kell POST metódussal a /clientes végpontra, az ügyfél JSON törzsével. Ha 409-et kapsz, az existenteId-vel kapcsold össze.
Biztonsági jó gyakorlatok
Integrációnként egy kulcs
Így egyet visszavonhatsz a többi megtörése nélkül, és a listában látod, mikor használták utoljára az egyes kulcsokat.
Soha ne böngészőben vagy nyilvános tárolóban
Tárold az eszközöd hitelesítő-tárolójában (Make-kapcsolatok, n8n-hitelesítő adatok, környezeti változók). Ha feltöltöd egy tárolóba vagy egy weboldalra, tekintsd kiszivárgottnak.
Ha kiszivárog, vond vissza, és hozz létre újat
A visszavonás azonnali: a régi kulcs 401 CLAVE_REVOCADA választ kezd kapni. Frissítsd az újat az eszközödben, és kész.
API-specifikáció
A teljes műszaki referencia (útvonalak, paraméterek, sémák és hibakódok) nyílt formátumban érhető el a /api/v1/openapi.json címen, kulcs nélkül. Alapértelmezés szerint spanyolul jelenik meg; fűzd hozzá a ?lang= paramétert a nyelved kódjával, és lefordítva kapod meg (például ?lang=hu vagy /api/v1/openapi.json?lang=en). Importálhatod a Postman, Insomnia, Make vagy n8n eszközökbe, hogy minden hívás készen álljon.
Gyakori kérdések
Elveszítettem a kulcsot, megnézhetem újra?
Nem. Csak a létrehozáskor jelenik meg, utána visszafordíthatatlanul tároljuk. Vond vissza a Beállítások → API alatt, és hozz létre újat.
Vannak webhookok, hogy a Sattotal értesítse a CRM-emet, ha valami változik?
Még nincsenek. Az ajánlott módszer az időszakos lekérdezés az actualizadoDesde paraméterrel, amely csak a változásokat adja vissza.
Milyen adatokat tesz elérhetővé az API?
Ügyfeleket és beszállítókat: listázás, létrehozás, lekérdezés, frissítés és archiválás. A jogosultságok erőforrásonként érvényesek, így egy olyan kulcs, amely még a beszállítók megjelenése előtt készült, addig nem fér hozzájuk, amíg egy adminisztrátor be nem jelöli neki. Emellett a javítási munkalapok csak olvasásra (állapot, dátumok, készülék és árajánlat), saját jogosultsággal.
Törölhetek ügyfelet az API-n keresztül?
Nem, csak archiválni lehet (activo = false), ugyanúgy, mint az alkalmazásban. Ez az ügyfelekre és a beszállítókra egyaránt érvényes. Az archivált rekord továbbra is megjelenik a szinkronizálásban, hogy a CRM-ed tükrözni tudja.
Benne van az API az ingyenes csomagban?
Nem. A Basic, Pro és Enterprise csomagok része, és a próbaidőszakban is elérhető. Az ingyenes csomagban továbbra is megnézheted és visszavonhatod a létrehozott kulcsaidat.
Az ügyfélnek csak a vezetékneve érkezik meg. Miért nem mentődik a keresztnév?
Szinte mindig a mezőmegfeleltetés a gond: a keresztnév a nombre, a vezetéknév az apellidos mezőbe kerül. Ha az eszköze más kulccsal küldi a nevet (firstName, name, apellido…), az API eldobja, és jelzi ezt a válasz avisos.camposIgnorados részében. Javítsa a megfeleltetést, és küldje el újra az ügyfelet egy PATCH kéréssel.
Megtalálhatom az ügyfelet arról a számról, amelyről éppen hív?
Igen. Hívd meg a GET /api/v1/clientes?telefono= végpontot a számmal úgy, ahogy beérkezik: mindegy, hogy van-e benne országhívószám, szóköz vagy kötőjel, és a másodlagos telefonszámban is keres. Az ügyfél azonosítójával ezután lekérheted a munkalapjait (/clientes/{id}/reparaciones) és az összefoglalóját (/clientes/{id}/resumen).
