API ir integracijos (CRM, Make, n8n)
Prijunkite savo CRM ar ERP prie Sattotal API raktais: automatiškai ir saugiai sinchronizuokite klientus ir tiekėjus
Sattotal API leidžia kitai programai — jūsų CRM, ERP, Make, n8n, Zapier ar savo scenarijui — skaityti ir kurti klientus ir tiekėjus jūsų organizacijoje, kad niekam nereikėtų rankiniu būdu importuoti CSV failo. Prieiga valdoma API raktais, kuriuos administratorius sukuria skiltyje „Nustatymai → API“: kiekvienas raktas turi savo pavadinimą ir leidimus pagal išteklių, o atšaukti jį galima bet kada. Čia rasite, ką API daro, kaip sukurti raktą, kaip kreiptis į API ir kaip žingsnis po žingsnio sukurti sinchronizaciją su Make.
Prijunkite CRM ir automatizacijas
Bet kuris įrankis, galintis siųsti HTTP užklausą (Make, n8n, Zapier, jūsų CRM ar ERP), gali skaityti, kurti ir atnaujinti klientus bei tiekėjus.
Raktai su pavadinimais ir leidimais
Vienas raktas vienai integracijai, o kiekviename rakte – atskiras leidimas kiekvienam ištekliui: galite leisti skaityti tiekėjus, neleisdami rašyti klientų. Iki 10 aktyvių raktų organizacijai.
Prieauginė sinchronizacija
Su parametru actualizadoDesde gaunami tik tie klientai ar tiekėjai, kurie pasikeitė nuo paskutinio paleidimo: idealu scenarijui, kuris vykdomas kas kelias minutes.
Saugi iš esmės
Raktas parodomas tik vieną kartą ir saugomas negrįžtamai užšifruotas. Kiekvienas raktas pasiekia tik savo organizacijos duomenis ir atšaukiamas akimirksniu.
Kas gali ja naudotis
Raktus kuria ir atšaukia organizacijos administratoriai. API įtraukta į mokamus planus (Basic, Pro ir Enterprise) ir prieinama bandomuoju laikotarpiu; nemokamame plane ekrane rodoma spynelė su galimybe pakeisti planą. Raktas visada veikia organizacijos, o ne konkretaus asmens vardu: jis nepaveldi jokio techniko leidimų ir nerodomas kaip komandos naudotojas.
Kaip sukurti raktą
Eikite į „Nustatymai → API“
Šoniniame meniu pasirinkite „Nustatymai“, kortelę „API“. Matysite savo organizacijos raktų sąrašą (aktyvių ir atšauktų) ir kortelę „Kaip prisijungti“ su baziniu URL ir pavyzdžiu.
Paspauskite „Naujas raktas“
Suteikite pavadinimą, iš kurio atpažinsite integraciją („Parduotuvės CRM“, „Make“, „n8n“). Jei kada nors teks jį atšaukti, žinosite, kuris tai raktas.
Pasirinkite leidimus
Pažymėkite išteklius, kurių reikia integracijai, — „Klientai“, „Tiekėjai“ arba abu — ir kiekvienam pasirinkite „Tik skaityti“ (peržiūrėti) arba „Skaityti ir rašyti“ (peržiūrėti, kurti, atnaujinti ir archyvuoti). Nepažymėto ištekliaus raktas nepasiekia. Pasirinkite tik tai, ko būtinai reikia.
Nukopijuokite raktą ir išsaugokite jį savo įrankyje
Visas raktas (prasideda sat_) parodomas tik vieną kartą. Nukopijuokite jį mygtuku ir įklijuokite į Make, n8n ar savo CRM. Jei jį pamesite, atkurti nepavyks: atšaukite jį ir sukurkite naują.
Nustatymai → API: raktų sąrašas ir ką tik sukurtas raktas
CRM Make
sat_Ab3k…x9Zq
n8n
sat_Qm7t…p2Lk
Raktas sukurtas
sat_Ab3k9Zq2Xv8Lp1Mn4Rt7Wy0Cd5Fg6Hj3Kl8Sx9ZqKopijuotiTai vienintelis kartas, kai matote visą raktą. Jei jį pamesite, atšaukite jį ir sukurkite naują.
Rakto leidimai
Tik skaityti
Gali pateikti sąrašą ir peržiūrėti tą išteklių. Bet koks bandymas kurti, keisti ar archyvuoti gauna klaidą 403 su kodu PERMISO_DENEGADO ir nurodytu trūkstamu leidimu.
Skaityti ir rašyti
Be peržiūros, gali kurti, atnaujinti ir archyvuoti tame ištekliuje. Tokio leidimo reikia dvikryptei sinchronizacijai.
Leidimai suteikiami pagal išteklių
Leidimai suteikiami pagal išteklių, ir tai jau pasitvirtino: pridėjus tiekėjus, anksčiau sukurti raktai (visi klientų) prie jų prieigos NEGAVO. Ją reikėjo pažymėti. Taip bus ir su bet kuriuo vėliau pridėtu ištekliumi: integracija niekada nemato daugiau, nei jai suteikėte.
Kaip autentifikuotis
Siųskite raktą kiekvienoje užklausoje, iš serverio į serverį, antraštėje Authorization: Bearer sat_…. Jei jūsų įrankis neleidžia autorizacijos antraščių, raktas priimamas ir antraštėje x-api-key. Bazinis URL – jūsų Sattotal adresas su priedu /api/v1 (jį rasite nukopijuotą ekrane „Nustatymai → API“).
GET /api/v1/me Authorization: Bearer sat_Ab3k9…x9Zq
API sąmoningai neturi CORS: ji skirta serveriams ir automatizavimo įrankiams, o ne svetainėms ar programėlėms, veikiančioms jūsų klientų naršyklėje. Raktas niekada neturi patekti į naršyklę.
Ką galima daryti (galiniai taškai)
Visi atsakymai pateikiami forma success + data (o sąrašuose – ir pagination). Klientą galite gauti pagal jo id arba kodą (CLI-0007); tiekėją – tik pagal id.
| Metodas | Kelias | Ką daro | Leidimas |
|---|---|---|---|
| GET | /me | Grąžina jūsų organizaciją ir raktą, kuriuo kreipiatės. Naudokite jį „ryšio patikrinimui“ Make ar n8n. | Bet koks |
| GET | /clientes | Puslapiais suskirstytas klientų sąrašas. Filtrai: busqueda, tipo, activo ir actualizadoDesde. Be activo grąžinami ir archyvuoti. | Skaitymas |
| POST | /clientes | Sukuria klientą pagal tas pačias taisykles kaip forma (mokesčių mokėtojo kodas pagal jūsų šalį, be pasikartojančių PVM kodų ar el. pašto adresų). | Rašymas |
| GET | /clientes/{id} | Grąžina klientą pagal id arba kodą. | Skaitymas |
| PATCH | /clientes/{id} | Atnaujina tik atsiųstus laukus. PUT priimamas kaip sinonimas. | Rašymas |
| DELETE | /clientes/{id} | Archyvuoja klientą (activo = false). Nieko neištrina, galima kartoti be klaidos. | Rašymas |
| GET | /proveedores | Puslapiais suskirstytas tiekėjų sąrašas. Filtrai: busqueda, activo, tipoProveedor, codigo ir actualizadoDesde. Be activo grąžinami ir archyvuoti. | Skaitymas |
| POST | /proveedores | Sukuria tiekėją. Privalomas tik pavadinimas. Jei jau yra tiekėjas su tuo pačiu mokesčių mokėtojo kodu ar pavadinimu, atsakoma 409 su esamo tiekėjo id. | Rašymas |
| GET | /proveedores/{id} | Grąžina tiekėją pagal jo id. Kodas čia NETINKA: žr. įspėjimą žemiau. | Skaitymas |
| PATCH | /proveedores/{id} | Atnaujina tik atsiųstus laukus. Kontaktų sąrašas pakeičiamas visas. PUT priimamas kaip sinonimas. | Rašymas |
| DELETE | /proveedores/{id} | Archyvuoja tiekėją (activo = false). Nieko neištrina, galima kartoti be klaidos. | Rašymas |
| GET | /reparaciones | Puslapiais suskirstytas kortelių sąrašas nuo naujausio priėmimo iki seniausio. Filtrai: cliente, estado, entradaDesde, entradaHasta ir actualizadoDesde. | Skaitymas |
| GET | /reparaciones/{id} | Grąžina kortelę pagal jos id arba kortelės numerį. | Skaitymas |
| GET | /clientes/{id}/reparaciones | Kliento kortelės (pagal jo id arba kodą), su tais pačiais filtrais. | Skaitymas |
| GET | /clientes/{id}/resumen | Kliento veiklos suvestinė: kiek jis turi remontų (iš viso, atvirų ir pagal būseną), kokia bendra jam pateiktų sąmatų suma ir kada jis paskutinį kartą lankėsi. | Skaitymas |
Kliento laukai
Laukai tie patys kaip kliento kortelėje: nombre ir tipo (particular arba empresa) yra privalomi; nif_cif, apellidos, razonSocial, email, telefono, telefonoSecundario, direccion (calle, numero, piso, codigoPostal, localidad, provincia, pais) ir notas – neprivalomi. Mokesčių mokėtojo kodas saugomas didžiosiomis raidėmis, o el. paštas – mažosiomis. Atsakyme visi raktai yra visada, su null, kai reikšmės nėra, kad jūsų įrankio laukų susiejimas nesugestų. Atkreipkite dėmesį į vardą: nombre yra vardas (arba įmonės komercinis pavadinimas), o pavardė perduodama atskirai, lauke apellidos, daugiskaita.
Laukai, kurių API neatpažįsta
Jei užklausos turinyje yra neegzistuojantis raktas (pavyzdžiui, firstName vietoj nombre arba apellido vienaskaita vietoj apellidos), užklausa neatmetama, tačiau tie duomenys neišsaugomi. Kad tai nepraslystų nepastebėta, kliento kūrimo ir redagavimo atsakyme pateikiamas avisos.camposIgnorados su tų raktų sąrašu; adreso raktai nurodomi su keliu, pavyzdžiui, direccion.ciudad. Jei jį pamatysite, patikrinkite savo integracijos laukų susiejimą. Pačios API grąžinami laukai (id, codigo, createdAt…) įspėjimo nesukelia, todėl galite perskaityti klientą, jį pakeisti ir grąžinti visą.
POST /api/v1/clientes
{ "firstName": "Daniel", "nombre": "Florea", "tipo": "particular" }
201 Created
{
"success": true,
"data": { "nombre": "Florea", "apellidos": null, … },
"avisos": { "camposIgnorados": ["firstName"] }
}Pavyzdys: kliento sukūrimas
Užklausa
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" }
}Atsakymas (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"
}
}Tiekėjai
Be klientų, API teikia ir tiekėjų katalogą: tie patys penki galiniai taškai, tie patys klaidų kodai ir ta pati prieauginė sinchronizacija. Tai tik katalogas: pirkimai ir tiekėjų sąskaitos faktūros lieka ten, kur yra – jūsų ERP arba Sattotal.
Tiekėjo laukai
Privalomas tik nombre. Neprivalomi: codigo, cif, email, telefono, telefonoSecundario, web, direccion (viena eilute, o ne objektas kaip klientų), ciudad, provincia, codigoPostal, pais, contactos, tipoProveedor (general, producto, servicio, logistica arba otro), formaPago, plazoPago (dienomis; 0 – grynaisiais iš karto), cuentaCliente ir notas. Kiekvienas kontaktas turi nombre (privalomas), cargo, telefono, email ir notas; kontaktai neturi savo identifikatoriaus.
Kaip atnaujinami kontaktai
Jūsų atsiųstas sąrašas PAKEIČIA buvusį. Jei atsiųsite tuščią sąrašą, visi kontaktai ištrinami; jei rakto nesiųsite (arba atsiųsite null), jie lieka nepakitę. Būtent dėl to galite perskaityti tiekėją, pakeisti vieną lauką ir grąžinti jį visą be netikėtų pasekmių.
Užklausa
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" }
]
}Atsakymas (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"
}
}Banko duomenys per API neteikiami
Tiekėjo IBAN ir banko sąskaitos sąmoningai negrąžinami ir nepriimami: jei raktas nutekėtų, jis netiktų sąskaitos pakeitimo sukčiavimui, kuris su tiekėjais pasitaiko dažniausiai. Pateikiamas cuentaCliente – tai JŪSŲ kliento numeris pas tą tiekėją, pagal kurį ERP suderina savo pirkimus.
Lygiavertiškumo priemoka (recargo de equivalencia) – tik skaitymui
Laukas excluidoRecargoEquivalencia grąžinamas, ir jį galite persiųsti su ta pačia reikšme (kad galėtumėte grąžinti visą objektą), tačiau bandymas jį pakeisti per API grąžina 400: jis lemia, ar jūsų pirkimams iš to tiekėjo taikoma priemoka, t. y. keičia jūsų pirkimo sąskaitų apmokestinamąją vertę. Jis keičiamas tiekėjo kortelėje. Už Ispanijos ribų jis neturi jokio poveikio.
Pagal tiekėjo kodą įrašo nerasite
Skirtingai nei kliento kodas, tiekėjo kodas (PROV-004) nėra unikalus: jis gali kartotis net jūsų pačių servise. Todėl GET /proveedores/{id} priima tik id. Jei jūsų ERP saugo tik kodą, naudokite sąrašo filtrą: GET /proveedores?codigo=PROV-004 grąžina visus atitinkančius, o jūs pasirenkate.
Remonto kortelės (tik skaitymui)
API taip pat leidžia peržiūrėti remonto korteles: kortelės numerį, būseną, datas, įrenginį (tipą, gamintoją, modelį, serijos numerį, IMEI) ir sąmatą. Tai tik skaitymas: kortelės ir toliau kuriamos bei jų būsenos keičiamos Sattotal, kur pasirašomas priėmimo kvitas ir atidavimas. Raktui reikia pažymėto ištekliaus „Remontai“; klientų ar tiekėjų raktai jų nepasiekia.
Kortelės laukai
Kiekvienoje kortelėje yra numeroFicha, estado, prioridad, ubicacion, averiaDeclarada, diagnostico, ciklo datos (priėmimas, diagnostikos ir remonto pradžia bei pabaiga, pranešimas klientui, atidavimas ir ultimoCambioEstado – kada pereita į dabartinę būseną), kliento santrauka (id, codigo, codigoVisible, nombre, apellidos, razonSocial), įrenginys (id, codigo, tipo, marca, modelo, numeroSerie, imei, color), sąmata (numero, total, estado, fechaEnvio ir fechaRespuesta arba null, jei jos nėra), priskirtas technikas (tik vardas) ir plazoEntregaEstimado – priėmimo kvite klientui nurodytas terminas. Vidinės pastabos, parašai, nuotraukos, dokumentai ir įrenginio slaptažodžiai niekada nepateikiami.
Užklausa
GET /api/v1/clientes/CLI-0042/reparaciones?estado=reparado Authorization: Bearer sat_Ab3k9…x9Zq
Atsakymas (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 }
}Kliento paieška pagal skambinantį telefoną
Jei jūsų CRM ar telefonų stotis atidaro kliento kortelę gavus skambutį, naudokite GET /clientes?telefono=<tel. numeris>. Ieškoma pagrindiniame ir papildomame telefone, nepaisant užrašymo būdo: tarpų, brūkšnelių, jūsų šalies tarptautinio kodo (+370 arba 00370) ir pradinio 0. Taip „612 34 567“ suras klientą, išsaugotą kaip „+370 612-34-567“. Reikia bent 6 skaitmenų.
Kliento suvestinė jūsų CRM
GET /clientes/{id}/resumen vienu kreipiniu grąžina tai, ką CRM paprastai rodo kliento kortelėje: totalReparaciones, reparacionesAbiertas (įrenginys vis dar servise), porEstado, totalPresupuestado ir totalPresupuestosAprobados (serviso valiuta, nurodyta lauke moneda), primeraReparacion, ultimaReparacion ir ultimaActividad (paskutinis pakeitimas bet kurioje jo kortelėje). Reikia ištekliaus „Remontai“, kaip ir kortelėms.
Užklausa
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",
…
}
}Sinchronizuokite tik tai, kas pasikeitė
Kiekvieną kartą visko parsisiųsti nereikia. Išsaugokite savo įrankyje paskutinio paleidimo datą ir laiką ir parametru actualizadoDesde prašykite tik nuo tada pakeistų klientų ar tiekėjų. Atsakymas surikiuotas pagal pakeitimo datą didėjimo tvarka su stabiliu lygiųjų atvejų rikiavimu, todėl galite jį skaidyti puslapiais nepraleisdami įrašų. Archyvuoti įrašai taip pat pateikiami (su activo = false), kad jūsų CRM galėtų atspindėti archyvavimą.
GET /api/v1/clientes?actualizadoDesde=2026-09-18T10:00:00Z&limit=100&page=1 Authorization: Bearer sat_Ab3k9…x9Zq
Pirmasis paleidimas
Pereikite GET /clientes su limit=100 ir page=1, 2, 3… kol pasieksite totalPages. Išsaugokite pradžios laiką.
Tolesni paleidimai
Kreipkitės GET /clientes?actualizadoDesde=<išsaugotas laikas> ir apdorokite tik tai, kas gaunama. Vėl išsaugokite šio paleidimo pradžios laiką.
Susiekite, nedubliuokite
Išsaugokite Sattotal id kartu su įrašu savo CRM. Jei kurdami gausite 409 DUPLICADO, atsakyme bus existenteId: susiekite jį, užuot kūrę naują.
Puslapiavimas ir paieška
Sąrašai priima page (nuo 1) ir limit (numatytoji reikšmė 25, daugiausia 100; jei paprašysite daugiau, bus apribota iki 100). Laukas busqueda ieško pagal vardą, pavardę, įmonės pavadinimą, mokesčių mokėtojo kodą, el. paštą, kodą ir telefoną.
Klaidų kodai ir ką daryti
Visuose klaidų atsakymuose yra success: false, paaiškinamasis tekstas ir stabilus code, skirtas sprendimams programiškai priimti. Štai kokius galite gauti:
NO_AUTORIZADORakto nėra, jo formatas ne mūsų arba jis neegzistuoja. Patikrinkite antraštę Authorization.
CLAVE_REVOCADARaktas buvo galiojantis, tačiau administratorius jį atšaukė. Sukurkite naują skiltyje „Nustatymai → API“ ir atnaujinkite jį savo įrankyje.
PLAN_REQUERIDOOrganizacija naudoja nemokamą planą. API vėl veiks perėjus prie mokamo plano.
PERMISO_DENEGADORaktas neturi šiai operacijai reikalingo leidimo. Atsakyme, lauke ambitoRequerido, nurodyta, kurio trūksta: sukurkite raktą su tuo leidimu.
NO_ENCONTRADOJūsų organizacijoje nėra kliento ar tiekėjo su tokiu id. Kitų organizacijų įrašai niekada nematomi, ir „neegzistuoja“ neatskiriama nuo „ne jūsų“.
DUPLICADOĮrašas su tokiais duomenimis jau yra: klientų – mokesčių mokėtojo kodas ar el. paštas; tiekėjų – mokesčių mokėtojo kodas, pavadinimas ar kodas. Atsakyme pateikiami campo ir existenteId, kad galėtumėte jį susieti, užuot kūrę naują.
VALIDACIONKuris nors laukas neatitinka tikrinimo reikalavimų (arba JSON blogai suformuotas). Lauke details nurodytas laukas ir priežastis, kaip ir formoje.
IDENTIFICADOR_FISCAL_REQUERIDOŠiam klientui reikia mokesčių mokėtojo kodo: jūsų šalyje jis privalomas atsiųstam kliento tipui (pavyzdžiui, įmonėms – visada).
RATE_LIMITPer daug užklausų. Palaukite antraštėje Retry-After nurodytą sekundžių skaičių ir bandykite dar kartą.
API_DESACTIVADAAPI laikinai išjungta dėl techninės priežiūros. Bandykite vėliau.
Apribojimai
120 užklausų per minutę vienam raktui (daugiau nei pakanka periodinei sinchronizacijai; sustabdo atsitiktinį ciklą). 10 aktyvių raktų organizacijai. Sąrašai grąžina daugiausia 100 įrašų puslapyje. Jei organizacija naudoja nemokamą planą ir mėnesio limitas išnaudotas, klientų kūrimas sustabdomas taip pat, kaip ir programėlėje.
Žingsnis po žingsnio: klientų sinchronizavimas su Make
Įprastas scenarijus: kas 15 minučių perkelti į jūsų CRM naujus ar pakeistus Sattotal klientus ir tiekėjus. n8n tai daroma analogiškai, su mazgu HTTP Request ir mazgu Schedule.
Sukurkite raktą Sattotal
„Nustatymai → API → Naujas raktas“, leidimas „Tik skaityti“, jei tik skaitysite, arba „Skaityti ir rašyti“, jei iš CRM kursite ir klientus. Nukopijuokite raktą.
HTTP modulis „Make a request“
URL: jūsų bazinis URL + /clientes. Metodas GET. Antraštė Authorization su reikšme Bearer ir jūsų raktu. Pažymėkite „Parse response“, kad galėtumėte dirbti su JSON.
Patikrinkite ryšį
Pirmiausia vieną kartą įvykdykite užklausą į /me: jei ji grąžina jūsų organizaciją ir rakto pavadinimą, autentifikacija veikia.
Pridėkite prieauginį filtrą
Išsaugokite paskutinio paleidimo datą Data store ar kintamajame ir perduokite ją URL kaip actualizadoDesde. Suplanuokite scenarijų kas 15 minučių.
Susiekite laukus su savo CRM
Pereikite data[] ir susiekite id, codigo, nombre, apellidos, email, telefono, nif_cif ir direccion. Išsaugokite Sattotal id savo CRM, kad įrašus atnaujintumėte, o ne dubliuotumėte.
Norėdami kurti klientus iš CRM, naudokite kitą HTTP modulį su metodu POST į /clientes ir kliento JSON turiniu. Jei gausite 409, susiekite pagal existenteId.
Gerosios saugumo praktikos
Vienas raktas vienai integracijai
Taip galite atšaukti vieną, nesugadindami kitų, o sąraše matote, kada kiekvienas buvo naudotas paskutinį kartą.
Niekada naršyklėje ar viešoje saugykloje
Laikykite jį savo įrankio prisijungimo duomenų saugykloje (Make prisijungimuose, n8n credentials, aplinkos kintamuosiuose). Jei įkėlėte jį į saugyklą ar svetainę, laikykite jį nutekėjusiu.
Jei nutekėjo, atšaukite ir sukurkite naują
Atšaukimas įsigalioja iš karto: senas raktas pradeda gauti 401 CLAVE_REVOCADA. Įrašykite naująjį į savo įrankį – ir viskas.
API specifikacija
Visa techninė dokumentacija (keliai, parametrai, schemos ir klaidų kodai) paskelbta atviru formatu adresu /api/v1/openapi.json, rakto nereikia. Numatytoji kalba – ispanų; pridėkite ?lang= su savo kalba, kad gautumėte išverstą versiją (pavyzdžiui, /api/v1/openapi.json?lang=en arba ?lang=ro). Galite ją importuoti į Postman, Insomnia, Make ar n8n ir turėti visas užklausas paruoštas.
Dažniausi klausimai
Pamečiau raktą. Ar galiu jį pamatyti dar kartą?
Ne. Jis parodomas tik sukūrus, o vėliau saugomas negrįžtamai. Atšaukite jį skiltyje „Nustatymai → API“ ir sukurkite naują.
Ar yra webhook'ų, kad Sattotal praneštų mano CRM, kai kas nors pasikeičia?
Kol kas ne. Rekomenduojama periodiškai kreiptis su parametru actualizadoDesde, kuris grąžina tik tai, kas pasikeitė.
Kokius duomenis teikia API?
Klientus ir tiekėjus: sąrašą, kūrimą, peržiūrą, atnaujinimą ir archyvavimą. Leidimai suteikiami pagal išteklių, todėl raktas, sukurtas prieš atsirandant tiekėjams, jų nepasiekia, kol administratorius to nepažymi. Be to, remonto korteles tik skaitymui (būsena, datos, įrenginys ir sąmata), su atskiru leidimu.
Ar galiu ištrinti klientą per API?
Ne, tik archyvuoti (activo = false), kaip ir programėlėje. Tai galioja ir klientams, ir tiekėjams. Archyvuotas įrašas toliau pateikiamas sinchronizuojant, kad jūsų CRM tai atspindėtų.
Ar API yra nemokamame plane?
Ne. Ji įtraukta į Basic, Pro ir Enterprise ir prieinama bandomuoju laikotarpiu. Nemokamame plane galite toliau matyti ir atšaukti sukurtus raktus.
Gaunu tik kliento pavardę. Kodėl neišsaugomas vardas?
Beveik visada kaltas laukų susiejimas: vardas turi būti perduodamas lauke nombre, o pavardė – lauke apellidos. Jei jūsų įrankis siunčia vardą kitu raktu (firstName, name, apellido…), API jį atmeta ir praneša apie tai atsakymo lauke avisos.camposIgnorados. Pataisykite susiejimą ir dar kartą atsiųskite klientą PATCH užklausa.
Ar galiu rasti klientą pagal skambinantį numerį?
Taip. Kreipkitės GET /api/v1/clientes?telefono= su numeriu tokiu, kokį gaunate: nesvarbu, ar jis su tarptautiniu kodu, tarpais ar brūkšneliais, be to, ieškoma ir papildomame telefone. Turėdami jo id, vėliau galite gauti jo korteles (/clientes/{id}/reparaciones) ir suvestinę (/clientes/{id}/resumen).
