Hopp til innhold

API og integrasjoner (CRM, Make, n8n)

Koble CRM-et ditt eller ERP-et ditt til Sattotal med API-nøkler: synkroniser kunder og leverandører automatisk og sikkert

API-et i Sattotal lar et annet program — CRM-et ditt, ERP-et ditt, Make, n8n, Zapier eller et eget skript — lese og opprette kunder og leverandører i organisasjonen din uten at noen må importere en CSV for hånd. Det styres med API-nøkler som administratoren lager under Innstillinger → API, hver med eget navn og med tillatelser per ressurs, og som kan tilbakekalles når som helst. Her får du vite hva API-et gjør, hvordan du lager nøkkelen, hvordan du kaller API-et og hvordan du setter opp en synkronisering med Make trinn for trinn.

Koble til CRM-et ditt og automatiseringene dine

Alle verktøy som kan sende en HTTP-forespørsel (Make, n8n, Zapier, ditt eget CRM eller ERP), kan lese, opprette og oppdatere kunder og leverandører.

Nøkler med navn og tillatelser

Én nøkkel per integrasjon, og inne i hver nøkkel én tillatelse per ressurs: du kan gi lesetilgang til leverandører uten å gi skrivetilgang til kunder. Opptil 10 aktive nøkler per organisasjon.

Inkrementell synkronisering

Med parameteren actualizadoDesde hentes bare de kundene eller leverandørene som er endret siden forrige kjøring: ideelt for et scenario som kjører med noen minutters mellomrom.

Sikker fra grunnen

Nøkkelen vises bare én gang og lagres kryptert på en måte som ikke kan reverseres. Hver nøkkel har bare tilgang til sin egen organisasjons data og kan tilbakekalles umiddelbart.

Hvem kan bruke det

Nøklene lages og tilbakekalles av organisasjonens administratorer. API-et er med i betalingsplanene (Basic, Pro og Enterprise) og i prøveperioden; på gratisplanen viser skjermen en hengelås med mulighet for å bytte plan. En nøkkel handler alltid på vegne av organisasjonen, ikke en person: den arver ikke tillatelsene til noen tekniker og vises ikke som bruker i teamet.

Slik lager du en nøkkel

1

Gå til Innstillinger → API

Fra sidemenyen, Innstillinger, kortet «API». Du ser listen over organisasjonens nøkler (aktive og tilbakekalte) og et kort «Slik kobler du til» med basis-URL-en og et eksempel.

2

Trykk på «Ny nøkkel»

Gi den et navn som viser hvilken integrasjon det er («Butikkens CRM», «Make», «n8n»). Må du en dag tilbakekalle den, vet du hvilken det er.

3

Velg tillatelsene

Huk av ressursene integrasjonen trenger — Kunder, Leverandører eller begge — og velg for hver av dem «Kun lesing» (slå opp) eller «Lese og skrive» (slå opp, opprette, oppdatere og arkivere). En ressurs som ikke er huket av, er en ressurs nøkkelen ikke når. Velg det minste den trenger.

4

Kopier nøkkelen og lagre den i verktøyet ditt

Hele nøkkelen (den begynner med sat_) vises bare én gang. Kopier den med knappen og lim den inn i Make, n8n eller CRM-et ditt. Mister du den, kan den ikke gjenopprettes: du tilbakekaller den og lager en ny.

Innstillinger → API: liste over nøkler og en nyopprettet nøkkel

CRM Make

sat_Ab3k…x9Zq

Tilbakekall

n8n

sat_Qm7t…p2Lk

Tilbakekalt

Nøkkel opprettet

sat_Ab3k9Zq2Xv8Lp1Mn4Rt7Wy0Cd5Fg6Hj3Kl8Sx9ZqKopier

Dette er eneste gang du ser hele nøkkelen. Mister du den, tilbakekall den og lag en ny.

Tillatelsene til en nøkkel

Kun lesing

Kan liste og slå opp den ressursen. Ethvert forsøk på å opprette, endre eller arkivere får en 403-feil med koden PERMISO_DENEGADO og tillatelsen som mangler.

Lese og skrive

Kan i tillegg til å slå opp også opprette, oppdatere og arkivere i den ressursen. Det er tillatelsen en toveis synkronisering trenger.

Tillatelser gis per ressurs

Tillatelser gis per ressurs, og det har allerede vist seg: da leverandørene kom til, fikk nøklene som allerede fantes — alle for kunder — IKKE tilgang til dem. De måtte hukes av. Det samme gjelder enhver ressurs som legges til senere: en integrasjon ser aldri mer enn det du har gitt den.

Slik autentiserer du deg

Send nøkkelen med hver forespørsel, server til server, i headeren Authorization: Bearer sat_…. Tillater ikke verktøyet ditt autorisasjonsheadere, godtas den også i headeren x-api-key. Basis-URL-en er adressen til ditt Sattotal etterfulgt av /api/v1 (den ligger klar til å kopieres på skjermen Innstillinger → API).

GET /api/v1/me
Authorization: Bearer sat_Ab3k9…x9Zq

API-et har med hensikt ikke CORS: det er laget for servere og automatiseringsverktøy, ikke for nettsider eller apper som kjører i kundenes nettleser. En nøkkel må aldri havne i en nettleser.

Hva du kan gjøre (endepunkter)

Alle svar har formen success + data (pluss pagination i lister). En kunde kan du be om ut fra id-en eller ut fra koden (CLI-0007); en leverandør bare ut fra id-en.

MetodeStiHva det gjørTillatelse
GET/meReturnerer organisasjonen din og nøkkelen du kaller med. Bruk den til å «teste tilkoblingen» i Make eller n8n.Hvilken som helst
GET/clientesSideinndelt liste over kunder. Filtre: busqueda, tipo, activo og actualizadoDesde. Uten activo returneres også de arkiverte.Lesing
POST/clientesOppretter en kunde med samme regler som skjemaet (skatte-ID etter landet ditt, ingen duplikater av skatte-ID eller e-post).Skriving
GET/clientes/{id}Returnerer én kunde ut fra id eller kode.Lesing
PATCH/clientes/{id}Oppdaterer bare feltene du sender. PUT godtas som synonym.Skriving
DELETE/clientes/{id}Arkiverer kunden (activo = false). Ingenting slettes, og kallet kan gjentas uten feil.Skriving
GET/proveedoresSideinndelt liste over leverandører. Filtre: busqueda, activo, tipoProveedor, codigo og actualizadoDesde. Uten activo returneres også de arkiverte.Lesing
POST/proveedoresOppretter en leverandør. Bare navnet er obligatorisk. Finnes det allerede en med samme skatte-ID eller samme navn, svarer den 409 med id-en til den som finnes.Skriving
GET/proveedores/{id}Returnerer én leverandør ut fra id-en. Koden duger IKKE her: se merknaden lenger ned.Lesing
PATCH/proveedores/{id}Oppdaterer bare feltene du sender. Kontaktlisten erstattes i sin helhet. PUT godtas som synonym.Skriving
DELETE/proveedores/{id}Arkiverer leverandøren (activo = false). Ingenting slettes, og kallet kan gjentas uten feil.Skriving
GET/reparacionesSidedelt liste over ordrer, nyeste innlevering først. Filtre: cliente, estado, entradaDesde, entradaHasta og actualizadoDesde.Lesing
GET/reparaciones/{id}Returnerer én ordre ut fra id eller ordrenummer.Lesing
GET/clientes/{id}/reparacionesEn kundes ordrer (ut fra kundens id eller kode), med de samme filtrene.Lesing
GET/clientes/{id}/resumenKundens aktivitetsoversikt: hvor mange reparasjoner kunden har (totalt, åpne og per status), hvor mye kunden har fått pristilbud på, og når kunden sist var innom.Lesing

Kundens felter

Feltene er de samme som på kundekortet: nombre og tipo (particular eller empresa) er obligatoriske; nif_cif, apellidos, razonSocial, email, telefono, telefonoSecundario, direccion (calle, numero, piso, codigoPostal, localidad, provincia, pais) og notas er valgfrie. Skatte-ID-en lagres med store bokstaver og e-posten med små. I svaret er alle nøklene alltid med, med null når det ikke finnes noen verdi, slik at feltmappingen i verktøyet ditt ikke brekker. Pass på navnet: nombre er fornavnet (eller firmanavnet for en bedrift), og etternavnet skal for seg i apellidos, i flertall.

Felt som API-et ikke kjenner

Hvis body inneholder en nøkkel som ikke finnes (for eksempel firstName i stedet for nombre, eller apellido i entall i stedet for apellidos), avvises ikke forespørselen, men verdien lagres ikke. For at det ikke skal gå ubemerket hen, inneholder svaret ved oppretting og redigering av kunder avisos.camposIgnorados med en liste over disse nøklene; adressefelt står med sin sti, for eksempel direccion.ciudad. Ser du den, sjekk feltkoblingen i integrasjonen din. Felt som API-et selv returnerer (id, codigo, createdAt …), gir aldri varsel, så du kan hente en kunde, endre den og sende den tilbake i sin helhet.

POST /api/v1/clientes
{ "firstName": "Daniel", "nombre": "Florea", "tipo": "particular" }

201 Created
{
  "success": true,
  "data": { "nombre": "Florea", "apellidos": null, … },
  "avisos": { "camposIgnorados": ["firstName"] }
}

Eksempel: opprette en kunde

Forespørsel

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" }
}

Svar (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"
  }
}

Leverandører

I tillegg til kundene eksponerer API-et leverandørregisteret: de samme fem endepunktene, de samme feilkodene og den samme inkrementelle synkroniseringen. Det er bare registeret: innkjøpene og leverandørfakturaene blir værende der de allerede er, i ERP-et ditt eller i Sattotal.

Leverandørens felter

Bare nombre er obligatorisk. Valgfrie: codigo, cif, email, telefono, telefonoSecundario, web, direccion (på én enkelt linje, ikke et objekt slik som hos kundene), ciudad, provincia, codigoPostal, pais, contactos, tipoProveedor (general, producto, servicio, logistica eller otro), formaPago, plazoPago (i dager; 0 er kontant), cuentaCliente og notas. Hver kontakt har nombre — obligatorisk — samt cargo, telefono, email og notas; kontaktene har ingen egen identifikator.

Slik oppdateres kontaktene

Listen du sender, ERSTATTER den som lå der. Sender du en tom liste, slettes alle kontaktene; sender du ikke nøkkelen (eller sender null), blir de stående som de var. Det er nettopp dette som gjør at du kan lese en leverandør, endre ett felt og sende hele objektet tilbake uten rare følger.

Forespørsel

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" }
  ]
}

Svar (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"
  }
}

Bankopplysningene går ikke ut via API-et

Leverandørens IBAN og bankkontoer blir verken returnert eller tatt imot, og det er med vilje: skulle en nøkkel lekke, ville den ikke kunne brukes til svindel med byttet kontonummer, den vanligste formen hos leverandører. cuentaCliente kommer derimot med, for det er DITT kundenummer hos den leverandøren, og det er det et ERP avstemmer innkjøpene sine mot.

Utjevningstillegget kan bare leses

Feltet excluidoRecargoEquivalencia returneres, og du kan sende det tilbake med samme verdi (slik at du kan returnere hele objektet), men å endre det via API-et gir 400: det avgjør om utjevningstillegget («recargo de equivalencia») legges på innkjøpene dine hos den leverandøren, og det flytter altså beregningsgrunnlaget på innkjøpsfakturaene dine. Det endres på leverandørkortet. Utenfor Spania har det ingen virkning i det hele tatt.

Leverandørkoden peker ikke ut noen

Til forskjell fra kundens er leverandørkoden (PROV-004) ikke unik: den kan gå igjen selv innenfor ditt eget verksted. Derfor tar GET /proveedores/{id} bare imot id-en. Lagrer ERP-et ditt bare koden, bruker du filteret i listen: GET /proveedores?codigo=PROV-004 returnerer alle som treffer, og så avgjør du hvilken det er.

Reparasjonsordrer (kun lesing)

Med API-et kan du også lese reparasjonsordrer: ordrenummer, status, datoer, enheten (type, merke, modell, serienummer, IMEI) og pristilbudet. Kun lesing: ordrer opprettes og bytter fortsatt status i Sattotal, der innleveringskvitteringen og utleveringen signeres. Nøkkelen må ha ressursen Reparasjoner krysset av; nøkler for kunder eller leverandører har ikke tilgang til dem.

Feltene i ordren

Hver ordre inneholder numeroFicha, estado, prioridad, ubicacion, averiaDeclarada, diagnostico, datoene i forløpet (innlevering, start og slutt på feilsøking og reparasjon, varsel til kunden, utlevering og ultimoCambioEstado, når ordren fikk sin nåværende status), et kundesammendrag (id, codigo, codigoVisible, nombre, apellidos, razonSocial), enheten (id, codigo, tipo, marca, modelo, numeroSerie, imei, color), pristilbudet (numero, total, estado, fechaEnvio og fechaRespuesta, eller null hvis det ikke finnes), den tildelte teknikeren (bare navnet) og plazoEntregaEstimado, leveringstiden kunden fikk oppgitt på innleveringskvitteringen. Interne notater, signaturer, bilder, dokumenter og enhetens passord returneres aldri.

Forespørsel

GET /api/v1/clientes/CLI-0042/reparaciones?estado=reparado
Authorization: Bearer sat_Ab3k9…x9Zq

Svar (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 }
}

Finn kunden ut fra nummeret som ringer

Hvis CRM-et eller sentralbordet ditt åpner kundekortet når en samtale kommer inn, bruker du GET /clientes?telefono=<nummer>. Det søkes i både hovednummeret og det sekundære nummeret, uansett hvordan nummeret er skrevet: mellomrom, bindestreker og landskoden (+47 eller 0047) ignoreres. Da finner «912 34 567» en kunde som er lagret som «+47 912-34-567». Det trengs minst 6 sifre.

Kundeoversikt for CRM-et ditt

GET /clientes/{id}/resumen returnerer i ett kall det et CRM vanligvis viser på kundekortet: totalReparaciones, reparacionesAbiertas (enheten er fortsatt på verkstedet), porEstado, totalPresupuestado og totalPresupuestosAprobados (i verkstedets valuta, som kommer i moneda), primeraReparacion, ultimaReparacion og ultimaActividad (den siste endringen i en av kundens ordrer). Akkurat som ordrene krever det ressursen Reparasjoner.

Forespørsel

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",
    …
  }
}

Synkroniser bare det som er endret

Du trenger ikke hente alt ved hver kjøring. Lagre dato og klokkeslett for siste kjøring i verktøyet ditt, og be bare om kundene eller leverandørene som er endret siden da, med parameteren actualizadoDesde. Svaret er sortert stigende etter endringsdato med en stabil rekkefølge ved like datoer, så du kan bla gjennom det uten å hoppe over poster. Arkiverte poster er også med (med activo = false), slik at CRM-et ditt kan gjenspeile arkiveringen.

GET /api/v1/clientes?actualizadoDesde=2026-09-18T10:00:00Z&limit=100&page=1
Authorization: Bearer sat_Ab3k9…x9Zq
1

Første kjøring

Gå gjennom GET /clientes med limit=100 og page=1, 2, 3… til totalPages er brukt opp. Lagre starttidspunktet.

2

Neste kjøringer

Be om GET /clientes?actualizadoDesde=<lagret tid> og behandle bare det som kommer. Lagre starttidspunktet for denne kjøringen på nytt.

3

Koble, ikke dupliser

Lagre Sattotal-id-en sammen med posten i CRM-et ditt. Får du en 409 DUPLICADO når du oppretter, inneholder svaret existenteId: koble til den i stedet for å opprette en ny.

Sideinndeling og søk

Lister godtar page (fra 1) og limit (25 som standard, maks 100; ber du om mer, kuttes det til 100). Feltet busqueda søker i navn, etternavn, firmanavn, skatte-ID, e-post, kode og telefon.

Feilkoder og hva du gjør

Alle feilsvar inneholder success: false, en forklarende tekst og en stabil code som programmet ditt kan ta beslutninger ut fra. Dette er de du kan få:

NO_AUTORIZADO

Nøkkelen mangler, har et format som ikke er vårt eller finnes ikke. Sjekk headeren Authorization.

CLAVE_REVOCADA

Nøkkelen var gyldig, men en administrator har tilbakekalt den. Lag en ny under Innstillinger → API og oppdater den i verktøyet ditt.

PLAN_REQUERIDO

Organisasjonen er på gratisplanen. API-et virker igjen når du bytter til en betalingsplan.

PERMISO_DENEGADO

Nøkkelen har ikke tillatelsen som kreves for den handlingen. Svaret oppgir i ambitoRequerido hvilken som mangler: lag en nøkkel med den tillatelsen.

NO_ENCONTRADO

Det finnes ingen kunde eller leverandør med den id-en i organisasjonen din. Poster i andre organisasjoner er aldri synlige, og det skilles ikke mellom «finnes ikke» og «er ikke din».

DUPLICADO

Det finnes allerede en post med de opplysningene: skatte-ID eller e-post for kunder; skatte-ID, navn eller kode for leverandører. Svaret inneholder campo og existenteId slik at du kan koble den i stedet for å opprette en ny.

VALIDACION

Et felt består ikke valideringen (eller JSON-en er feil formatert). I details står feltet og årsaken, akkurat som i skjemaet.

IDENTIFICADOR_FISCAL_REQUERIDO

Den kunden trenger skatte-ID: i landet ditt er den obligatorisk for kundetypen du sendte (for eksempel alltid for bedrifter).

RATE_LIMIT

For mange forespørsler. Vent antall sekunder som headeren Retry-After oppgir, og prøv igjen.

API_DESACTIVADA

API-et er midlertidig slått av for vedlikehold. Prøv igjen senere.

Grenser

120 forespørsler per minutt per nøkkel (mer enn nok for en periodisk synkronisering; det bremser en løkke som har løpt løpsk). 10 aktive nøkler per organisasjon. Lister returnerer maks 100 poster per side. Er organisasjonen på gratisplanen med månedskvoten brukt opp, stoppes oppretting av kunder akkurat som i appen.

Trinn for trinn: synkronisere kunder med Make

Et typisk scenario: hvert 15. minutt hentes kundene og leverandørene som er nye eller endret i Sattotal, over i CRM-et ditt. I n8n gjør du det samme med noden HTTP Request og en Schedule-node.

1

Lag nøkkelen i Sattotal

Innstillinger → API → Ny nøkkel, tillatelsen «Kun lesing» hvis du bare skal lese, «Lese og skrive» hvis du også skal opprette kunder fra CRM-et. Kopier nøkkelen.

2

HTTP-modulen «Make a request»

URL: basis-URL-en din + /clientes. Metode GET. Headeren Authorization med verdien Bearer og nøkkelen din. Huk av «Parse response» for å jobbe med JSON-en.

3

Test tilkoblingen

Kjør aller først én forespørsel mot /me: returnerer den organisasjonen din og navnet på nøkkelen, er autentiseringen i orden.

4

Legg til det inkrementelle filteret

Lagre datoen for siste kjøring i en Data store eller en variabel, og send den som actualizadoDesde i URL-en. Planlegg scenarioet hvert 15. minutt.

5

Map feltene over til CRM-et ditt

Gå gjennom data[] og map id, codigo, nombre, apellidos, email, telefono, nif_cif og direccion. Lagre Sattotal-id-en i CRM-et ditt slik at du oppdaterer i stedet for å duplisere.

For å opprette kunder fra CRM-et legger du til enda en HTTP-modul med metoden POST mot /clientes og kundens JSON-body. Får du 409, bruk existenteId til å koble.

God sikkerhetspraksis

Én nøkkel per integrasjon

Da kan du tilbakekalle én uten å ødelegge de andre, og i listen ser du når hver av dem sist ble brukt.

Aldri i nettleseren eller i et offentlig repository

Lagre den i verktøyets lager for påloggingsopplysninger (tilkoblinger i Make, credentials i n8n, miljøvariabler). Legger du den i et repository eller på et nettsted, må du regne den som lekket.

Lekker den, tilbakekall og lag en ny

Tilbakekallingen gjelder umiddelbart: den gamle nøkkelen begynner å få 401 CLAVE_REVOCADA. Oppdater den nye i verktøyet ditt, så er du ferdig.

API-spesifikasjon

Den komplette tekniske referansen (stier, parametere, skjemaer og feilkoder) er publisert i et åpent format på /api/v1/openapi.json, uten at det trengs nøkkel. Som standard er den på spansk; legg til ?lang= med språket ditt for å få den oversatt (for eksempel ?lang=nb eller /api/v1/openapi.json?lang=en). Du kan importere den i Postman, Insomnia, Make eller n8n for å ha alle kallene klare.

Vanlige spørsmål

Jeg har mistet nøkkelen, kan jeg se den igjen?

Nei. Den vises bare når den lages, og lagres deretter på en måte som ikke kan reverseres. Tilbakekall den under Innstillinger → API og lag en ny.

Finnes det webhooks slik at Sattotal varsler CRM-et mitt når noe endres?

Ikke enda. Anbefalt måte er å spørre med jevne mellomrom med parameteren actualizadoDesde, som bare returnerer det som er endret.

Hvilke data eksponerer API-et?

Kunder og leverandører: liste, opprette, slå opp, oppdatere og arkivere. Tillatelser gis per ressurs, så en nøkkel som ble laget før leverandørene fantes, når dem ikke før en administrator huker det av. I tillegg reparasjonsordrer med kun lesetilgang (status, datoer, enhet og pristilbud), med egen tillatelse.

Kan jeg slette en kunde via API-et?

Nei, bare arkivere (activo = false), akkurat som i appen. Det gjelder både kunder og leverandører. En arkivert post fortsetter å vises i synkroniseringen, slik at CRM-et ditt kan gjenspeile det.

Er API-et med i gratisplanen?

Nei. Det er med i Basic, Pro og Enterprise og i prøveperioden. På gratisplanen kan du fortsatt se og tilbakekalle nøklene du har laget.

Bare kundens etternavn kommer fram. Hvorfor lagres ikke fornavnet?

Det er nesten alltid feltkoblingen: fornavnet skal i nombre og etternavnet i apellidos. Sender verktøyet ditt fornavnet under en annen nøkkel (firstName, name, apellido …), forkaster API-et den og sier fra i avisos.camposIgnorados i svaret. Rett koblingen og send kunden på nytt med en PATCH.

Kan jeg finne kunden med nummeret som ringer meg?

Ja. Kall GET /api/v1/clientes?telefono= med nummeret slik det kommer inn: det spiller ingen rolle om det har landskode, mellomrom eller bindestreker, og det søkes også i det sekundære nummeret. Med kundens id kan du deretter hente ordrene (/clientes/{id}/reparaciones) og oversikten (/clientes/{id}/resumen).

Vil du prøve det selv?

Prøv Sattotal gratis med eksempeldata, uten kredittkort.