# Leadfryer – Täysi dokumentaatio > Leadfryer on suomalainen AI-pohjainen CRM- ja myyntiautomaatioalusta PK-yrityksille ja myyntitiimeille. > Verkkosivusto: https://leadfryer.com > Tuki: tuki@leadfryer.com > Kieli: Suomi, Englanti, Ruotsi --- # OSA 1: KÄYTTÖOHJEET JA OMINAISUUDET --- ## 1. Käyttöönotto ja aloitus ### 1.1 Rekisteröityminen ja kirjautuminen Leadfryeriin rekisteröidytään etusivun kautta. Voit valita sähköposti + salasana -yhdistelmän tai kirjautua Google-tilillä yhdellä klikkauksella. Rekisteröinnin jälkeen vahvistussähköposti lähetetään antamaasi osoitteeseen – klikkaa linkkiä ennen ensimmäistä kirjautumista. Unohtuneen salasanan voit palauttaa kirjautumissivulta 'Unohditko salasanan?' -linkistä. Vaiheet: 1. Siirry osoitteeseen leadfryer.com ja klikkaa 'Rekisteröidy' 2. Täytä sähköpostiosoite ja valitse vahva salasana (vähintään 8 merkkiä) TAI klikkaa 'Kirjaudu Google-tilillä' 3. Tarkista sähköpostisi ja klikkaa vahvistuslinkkiä (tarkista myös roskaposti) 4. Kirjaudu sisään ja Onboarding-velho käynnistyy automaattisesti 5. Voit myöhemmin lisätä Google-kirjautumisen tai salasanan profiiliasetuksista Vinkit: - Jos vahvistussähköposti ei saavu 5 minuutissa, kokeile rekisteröityä uudelleen - Google-kirjautuminen on nopein tapa aloittaa – ei vaadi erillistä vahvistusta - Kaikki kirjautumissessiot ovat SSL-salattuja ja tokenipohjaisia ### 1.2 Onboarding-velho – alkuasetukset Onboarding-velho käynnistyy automaattisesti ensimmäisen kirjautumisen jälkeen. Se opastaa sinut neljän vaiheen läpi: yritystietojen syöttäminen, palvelukuvaus tekoälylle, ensimmäisten asiakkaiden tuonti ja tilaussuunnitelman valinta. Voit ohittaa vaiheita ja palata niihin myöhemmin Asetuksissa. Vaiheet: 1. Vaihe 1: Syötä yrityksesi perustiedot – nimi, toimiala ja Y-tunnus (mahdollistaa PRH-rikastuksen) 2. Vaihe 2: Kuvaile palvelusi tai tuotteesi tekoälyä varten – tätä kuvausta AI käyttää viestien generointiin 3. Vaihe 3: Tuo ensimmäiset asiakkaat – voit syöttää manuaalisesti, tuoda Excel-tiedostolla (CSV/XLSX) tai hakea Y-tunnuksella 4. Vaihe 4: Valitse tilaussuunnitelma – FREE (perustoiminnot), PRO (rajattomat sähköpostit + prospektointi) tai ENTERPRISE (kaikki ominaisuudet) ### 1.3 Dashboard – Yleisnäkymä ja personointi Dashboard on henkilökohtainen kojelautasi, joka kokoaa tärkeimmät mittarit, tehtävät ja aktiviteetit yhteen näkymään. Dashboard mukautuu roolisi mukaan ja voit muokata sitä vapaasti. Asetukset: - Roolipohjainen näkymä: Myyjä, Myyntijohtaja, Admin - Muokkaustila (Edit Mode): vedä ja pudota widgettejä, piilota tai näytä osioita - Widgetit: Myyntiputki-yhteenveto, päivän tehtävät, viimeisimmät aktiviteetit, tulevat tapaamiset ### 1.4 Excel-tuonti ja -vienti Leadfryer tukee asiakastietojen, tuotteiden ja yhteyshenkilöiden tuontia Excel- tai CSV-tiedostosta. Järjestelmä tunnistaa sarakkeet automaattisesti ja ehdottaa kenttien vastaavuuksia. Tuonnin yhteydessä suomalaiset Y-tunnukset rikastavat automaattisesti PRH:n tiedoilla. --- ## 2. Asiakkuudenhallinta (CRM) ### 2.1 Asiakasrekisteri Asiakasrekisteri on Leadfryerin ydin. Jokaisella asiakkaalla on oma kortti, johon tallentuvat perustiedot, yhteyshenkilöt, viestintähistoria, tilaukset, tarjoukset, dokumentit ja aktiviteettiloki. Asetukset: - Engagement-status: Prospekti, Kiinnostunut, Kylmä, Lämmin, Kuuma, Ei kiinnostunut - Segmentti: Vapaavalintainen luokittelu (esim. PK-yritys, Suuryritys) - Myyjä (seller_user_id): Vastuumyyjä – provisiot lasketaan tämän perusteella - Taustatieto: Vapaamuotoinen kenttä – näkyy myös AI:lle - Deal Amount: Potentiaalinen kaupan arvo euroissa - Mukautetut parametrit: JSON-muotoiset lisäkentät - AI-profiili: Asiakaskohtainen AI-profiili viestintään - Verkkolaskutiedot: Verkkolaskuosoite ja -operaattori ### 2.2 Yritystietojen rikastus (PRH) Y-tunnuksen perusteella haetaan automaattisesti: virallinen nimi, osoitetiedot, yhtiömuoto, toimialakoodi, rekisteröintipäivä, kaupparekisteristatus ja taloustiedot (liikevaihto, tulos). ### 2.3 Teknologiatunnistus Tunnistaa yrityksen verkkosivuilla käytettävät teknologiat: CMS (WordPress, Drupal), verkkokauppa (Shopify, WooCommerce), analytiikka (Google Analytics, HubSpot) ja muut. ### 2.4 Yhteyshenkilöt Jokaiselle asiakkaalle voi lisätä rajattomasti yhteyshenkilöitä: nimi, titteli, sähköposti, puhelin, LinkedIn, profiilikuva, segmentti (Päättäjä, Tekijä, Tekninen) ja mukautetut parametrit. ### 2.5 Dokumenttienhallinta Tuetut formaatit: PDF, Word, Excel, PowerPoint, kuvat. AI voi analysoida ladatut dokumentit automaattisesti. ### 2.6 Mukautetut kentät (Custom Fields) Kenttätyypit: lyhyt teksti, pitkä teksti, numero, päivämäärä, yksittäisvalinta, monivalinta, rasti. Näkyvät automaattisesti lomakkeissa ja ovat käytettävissä workflow-ehdoissa. ### 2.7 Emoyhtiö-tytäryhtiö-rakenne Tukee konsernirakenteita ja konsernitason raportointia. ### 2.8 Aktiviteettiloki Tallentaa automaattisesti: sähköpostit, puhelut, tapaamiset, muistiinpanot, statusmuutokset, tilaukset ja kauppojen muutokset. --- ## 3. Viestintä ### 3.1 Sähköpostit Monikanavainen sähköpostilähetys: Leadfryer SMTP, Outlook (Microsoft Graph API) tai Gmail (Google Workspace API). AI personoi viestit asiakkaan tietojen perusteella. Tukee HTML-pohjia, liitteitä, seurantalinkkejä ja A/B-testausta. ### 3.2 SMS-viestit Twilio-integraatio. AI lyhentää viestit SMS-pituuteen. Massakäsittely, SMS-bot automaattisiin vastauksiin. ### 3.3 Puhelut Twilio-pohjainen VoIP. Selainpuhelu, puhelunauhoitus, transkriptio, AI-analyysi. ElevenLabs-puhelinagentit automaattisiin puheluihin. ### 3.4 WhatsApp Business Twilio WhatsApp API. Template-viestit, vapaamuotoiset viestit 24h ikkunassa. Workflow-integraatio. ### 3.5 Saapuvien viestien automaatio Automaattiset toimenpiteet saapuville sähköposteille ja SMS:ille: asiakkaan luonti, liitetiedostojen purku, workflow-käynnistys. --- ## 4. Workflow-automaatiot ### 4.1 Workflown luominen Monikanavainen viestisarja: sähköposti, SMS, puhelu, WhatsApp, viive, ehdollinen logiikka, kalenterikutsu. AI personoi jokaisen viestin. ### 4.2 Askeleet Sähköposti, SMS, WhatsApp, Puhelu, Viive, Ehdollinen haarautuminen, Kalenterikutsu, Odota SMS-vastausta, Sähköposti yhteyshenkilölle. ### 4.3 Ehdollinen logiikka Haarautuminen: engagement_status, vastausmäärä, viimeinen vastaus, mukautettu parametri, aiemman askeleen tila. AI analysoi vastausten sävyä. ### 4.4 Workflow-simulaattori Testaa workflowta yhdellä asiakkaalla ennen käyttöönottoa. Chat-tyylinen näkymä, AI-generoidut viestit vastaavat tuotantolaatua. --- ## 5. Tarjoukset ja tilaukset ### 5.1 Tarjoukset Tuotteita hinnastosta tai vapaita rivejä. Automaattinen hinnoitteluhierarkia: asiakashinta > hinnastohinta > oletushinta. Alennusvaltuusjärjestelmä. Muunna tilaukseksi yhdellä klikkauksella. ### 5.2 Tilaukset Status: Uusi → Vahvistettu → Toimitettu → Laskutettu → Maksettu. Siirto taloushallintoon (Procountor/Netvisor/Talenom). ### 5.3 AI-dokumenttianalyysi Tunnistaa tuotteet, määrät, hinnat ja ehdot dokumenteista. Luo tarjousehdotuksen automaattisesti. --- ## 6. Tuotteet ja hinnoittelu ### 6.1 Tuoterekisteri Nimi, SKU, yksikkö, oletushinta, ALV-%, tuoteryhmä. Excel-tuonti. ### 6.2 Hinnastot Useita hinnastoja: jälleenmyyjä, kampanja, sopimusasiakas. Tuotekohtaiset hinnat tai kokonaishinnastoalennus. ### 6.3 Hinnoitteluhierarkia 1) Asiakaskohtainen erikoishinta, 2) Asiakaskohtainen alennusprosentti, 3) Hinnaston hinta, 4) Oletushinta. ### 6.4 Toimittajat Toimittajakohtaiset ostohinnat ja tuotenumerot. Katteen laskeminen. --- ## 7. Tapaamiset ja kalenteri Tapaamistyypit, tarkistuslistat, muistiovaatimukset. Kaksisuuntainen synkronointi Google Calendar ja Microsoft Outlook. Delegointi tiimin jäsenille. --- ## 8. Toimitukset ja logistiikka ### 8.1 nShift-integraatio Lähetysten luonti, osoitetarrat, seurantakoodit. Posti, Matkahuolto, DHL, UPS. ### 8.2 Shipit-integraatio Vaihtoehtoinen logistiikkaratkaisu kilpailukykyisin hinnoin. ### 8.3 Automaattinen laskutus toimituksen jälkeen Tilauksen status päivittyy automaattisesti 'Laskutettu'-tilaan. Massalaskutus tuettu. ### 8.4 Varastopaikat ja saapuvat toimitukset Varastosaldot, keräily, inventaario. Lähetyslistat PDF- ja Excel-muodossa. ### 8.5 Ostotilausten koontijärjestelmä Analysoi myyntitilaukset valitulta ajanjaksolta (7–90 päivää) ja luo koontitilauksia tavarantoimittajille automaattisesti. Järjestelmä ryhmittelee tuotteet toimittajan mukaan ja näyttää tuotekohtaisesti viimeisen 30 päivän keskimääräisen päivämenekin. Toiminnallisuudet: - Myyntianalyysi: Kerää yhteen kaikki myydyt tuotteet valitulta ajanjaksolta - Menekkiraportti: 30 päivän keskimääräinen päivämyynti tuotekohtaisesti - Puskuriprosentti: Lisää halutessasi x% enemmän tuotteita tilaukselle (esim. +20%) - Toimittajaryhmittely: Automaattinen ryhmittely toimittajan mukaan - Koontitilauksen luonti: Yhdellä klikkauksella jokaiselle toimittajalle oma ostotilaus - Historia: Kaikki luodut ostotilaukset listattuna ja haettavissa Vaiheet: 1. Siirry Logistiikka → Ostotilaukset 2. Valitse analyysijakso (7, 14, 30, 60 tai 90 päivää) 3. Tarkista tuotekohtaiset myyntimäärät ja 30 päivän menekki 4. Säädä puskuriprosenttia tarvittaessa 5. Valitse tai poista yksittäisiä tuotteita checkboxeilla 6. Klikkaa 'Luo ostotilaukset' – jokaiselle toimittajalle syntyy oma tilaus ## 8.6 Kassa ja SumUp-integraatio (UUSI) Leadfryerin kassajärjestelmä on suunniteltu nopeaan myyntiin myymälässä, messuilla tai tapahtumissa. Tukee käteismaksuja ja SumUp-korttimaksupäätettä. ### Kassanäkymä (/pos) - Pikapainikkeet: Suosikkituotteet yhdellä klikkauksella. Linkitettävissä hinnastoon tai manuaalisia. - Ostoskori: Tuotteiden lisäys, määrän muokkaus, poisto. Reaaliaikainen yhteissumma. - Maksutavat: Käteinen tai SumUp-korttimaksu. - Kuitti: Sähköpostikuitti onnistuneen maksun jälkeen – sisältää tuoterividetaljit ja ALV-erittelyn. - Päivän yhteenveto: Tapahtumat ja kokonaismyynti yläpalkissa. ### SumUp-integraatio - Käyttäjäkohtainen konfigurointi: Asetukset → Integraatiot → SumUp - Vaaditut tiedot: API Key + Merchant Code (developer.sumup.com) - Tila: Aktiivinen/Ei yhdistetty ### Kassaraportit (/pos/reports) - Kuukausikohtaiset raportit (viimeiset 12 kuukautta) - KPI: Kokonaismyynti, tapahtumien määrä, käteinen vs. kortti - Myydyt tuotteet: Tuotekohtainen erittely (määrä, arvo) - Päiväkohtainen erittely: Päivittäiset myyntimäärät ### API-rajapinta - `GET/POST /pos/transactions` – Kassatapahtumat - `GET/PUT/DELETE /pos/transactions/:id` – Yksittäinen tapahtuma (sisältää tuoterivit) - `GET/POST /pos/quick-buttons` – Pikapainikkeet - `GET/PUT/DELETE /pos/quick-buttons/:id` – Yksittäinen pikapainike --- ## 9. Laskutus ja taloushallinto ### 9.1 Procountor OAuth2-integraatio. Automaattiset myyntilaskut, maksustatuksen synkronointi. ### 9.2 Netvisor (Beta) XML-pohjainen rajapinta. MAC-allekirjoitus. ### 9.3 Talenom / Easor (Beta) OAuth2-autentikointi Easor-rajapinnan kautta. --- ## 10. Raportit ja analytiikka Myyntiraportit, provisiolaskenta (portaittainen), bonusportaat (tuoteryhmäkohtaiset), aktiviteettitavoitteet, vuosikello, mukautetut raportit (drag-and-drop), kanavien suorituskyky. --- ## 11. Myyntiputki (Pipeline) Kanban-näkymä kaupoille. Vaiheet: Kvalifioitu liidi → Kontaktoitu → Demo/Tapaaminen → Tarjous lähetetty → Neuvottelu → Voitettu / Hävitty. Kauppojen pisteytys (Deal Scoring). --- ## 12. Prospektointi ja signaalit ### 12.1 AI-prospektointi Etsii päättäjiä verkkosivuilta ja julkisista rekistereistä. Rikastaa yhteystiedot automaattisesti. ### 12.2 Signaalit Johtajavaihdokset, rekrytointi-ilmoitukset, teknologiamuutokset, julkiset hankintailmoitukset (Hilma), rakennushankkeet. Säännöt käynnistävät automaattisia toimenpiteitä. ### 12.3 Hankintailmoitukset (Hilma) Avainsanapohjaisia hälytyksiä Hilma AVP API:sta. CPV-koodit, arvorajat, ostajat. ### 12.4 Hankinta-analyysi dashboard Kuukausittainen aikajana, vertailu ostajittain, CPV-koodit. --- ## 13. Lomakkeet ja laskeutumissivut HubSpot-tyylinen visuaalinen editori. Upotettavat lomakkeet, tuotesivut, laskeutumissivut. Kentät, teemat, hero-osiot, kuvagalleriat, SEO. Lomakkeen lähetys luo kaupan ja käynnistää workflown automaattisesti. --- ## 14. Verkkokauppaintegraatiot ### 14.1 Shopify Yksisuuntainen synkronointi (Shopify → Leadfryer). Tuotteet, tilaukset, asiakkaat. ### 14.2 WooCommerce Kaksisuuntainen synkronointi WordPress-lisäosan kautta. --- ## 15. Kalenteri- ja palveluintegraatiot ### 15.1 Microsoft 365 (Outlook) Sähköposti ja kalenteri. OAuth2. ### 15.2 Google Workspace Gmail (luku + lähetys) ja Calendar (luku + tapahtumat). OAuth2. ### 15.3 Eventilla (Beta) Tapahtumien ja osallistujien synkronointi. ### 15.4 Oneflow Sähköiset sopimukset suoraan asiakaskortilta. --- ## 16. Tiimityö ### 16.1 Tiimichat (Slack-tyylinen) Kanavat, yksityisviestit, ketjutetut vastaukset, tiedostojen jako, reaktiot, kiinnitetyt viestit, maininnat. ### 16.2 Tiimin hallinta Käyttäjäroolit (Admin, Myyntijohtaja, Myyjä). Käyttäjien lisäys ja hallinnointi. --- ## 17. Tehtävät ja OKR Tehtävienhallinta, delegointi, viikon ohjeet (keskitetty myynnin ohjaus), OKR-tavoitteet. --- ## 18. Google Ads ja mainosattribuutio Google Ads -integraatio, UTM-attribuutio, GCLID, offline-konversiot, kohderyhmien synkronointi, ROAS-analyysi. --- ## 19. Tiketit ja asiakaspalvelu Tikettijärjestelmä: aihe, kuvaus, prioriteetti (Matala, Normaali, Korkea, Kriittinen), status (Avoin → Työn alla → Odottaa vastausta → Ratkaistu → Suljettu), vastuuhenkilö, linkitetty asiakas. --- ## 20. Työmääräykset Kenttätyö, asennukset, huoltotehtävät. Kohdetiedot, tarkistuslistat, statusten seuranta. --- ## 21. Asetukset ja hallinta Profiili, integraatioiden hallinta, tilaussuunnitelmat, navigoinnin muokkaus, palvelukuvaukset tekoälylle, alennusvaltuudet, provisioasetukset. --- ## 22. AI-assistentit ### 22.1 Myyntiassistentti Chat-pohjainen AI-avustaja myyntityöhön. Tuntee yrityksen palvelut, asiakashistorian ja tuotteet. Tukee RAG-tietopohjaa. ### 22.2 Sähköpostiassistentti Generoi ja muokkaa sähköposteja. Huomioi asiakkaan kontekstin ja viestintähistorian. ### 22.3 Prospektointibotti Etsii ja rikastaa liidejä tekoälyn avulla julkisista rekistereistä ja verkkosivuilta. ### 22.4 Puhelinagentit (ElevenLabs) AI-puhelinagentit automaattisiin sisään- ja ulossoittoihin. Luonnollinen puhe, reaaliaikainen transkriptio. --- # OSA 2: REST API -DOKUMENTAATIO --- ## Yleistä Base URL: https://api.leadfryer.com Autentikointi: X-API-Key -header Content-Type: application/json ### API-avainten hallinta API-avaimet löytyvät: Asetukset → API-avaimet. Avaimet alkavat etuliitteellä "lf_". ### Rate Limits | Taso | Pyyntöjä / tunti | Burst | |------|------------------|-------| | Free | 100 | 10/s | | Pro | 1000 | 50/s | | Business | 10000 | 100/s | | Enterprise | Rajoittamaton | Sovittavissa | ### Virhekoodit | Koodi | Nimi | Kuvaus | |-------|------|--------| | 400 | Bad Request | Pyyntö on virheellinen | | 401 | Unauthorized | API-avain puuttuu tai virheellinen | | 403 | Forbidden | Ei oikeutta resurssiin | | 404 | Not Found | Resurssia ei löydy | | 429 | Too Many Requests | Liian monta pyyntöä | | 500 | Internal Server Error | Palvelinvirhe | --- ## API-resurssit ### Customers (Asiakkaat) #### GET /customers Listaa kaikki asiakkaat sivutettuna. Query-parametrit: - page (number): Sivunumero (oletus: 1) - limit (number): Tulosten määrä per sivu (max 100, oletus: 50) - search (string): Haku nimellä, sähköpostilla, puhelinnumerolla tai Y-tunnuksella - business_id (string): Suodata Y-tunnuksella - status (string): Suodata engagement_status -kentällä (NEW, CONTACTED, SEND_OFFER, KAUPPA, NOT_INTERESTED, REVISIT) - city (string): Suodata kaupungin mukaan - segment (string): Suodata segmentin mukaan Esimerkki: ``` curl -X GET "https://api.leadfryer.com/customers?page=1&limit=50" \ -H "X-API-Key: lf_your_api_key_here" \ -H "Content-Type: application/json" ``` #### GET /customers/:id Hae yksittäinen asiakas. Tukee UUID:tä ja Y-tunnusta. #### POST /customers Luo uusi asiakas. Pakolliset kentät: - company_name (string): Yrityksen nimi Valinnaiset kentät: - business_id, email, phone, address, street_address, city, postal_code, engagement_status, segment, industry, website, notes, billing_method, delivery_method #### PUT /customers/:id Päivitä asiakkaan tiedot. Tukee UUID:tä ja Y-tunnusta. #### DELETE /customers/:id Poista asiakas ja kaikki liittyvät tiedot. VAROITUS: Toimintoa ei voi perua. --- ### Contacts (Yhteyshenkilöt) #### GET /contacts Listaa yhteyshenkilöt. Query-parametrit: - customer_id (uuid): Suodata asiakkaan UUID:llä - business_id (string): Suodata Y-tunnuksella - search (string): Haku nimellä tai sähköpostilla - page, limit #### POST /contacts Luo yhteyshenkilö. Pakolliset: first_name, last_name Asiakkaan tunnistus: customer_id (UUID) TAI business_id (Y-tunnus) Valinnaiset: email, phone, title, segment, linkedin_url, notes #### PUT /contacts/:id Päivitä yhteyshenkilö. #### DELETE /contacts/:id Poista yhteyshenkilö. --- ### Appointments (Tapaamiset) #### GET /appointments Listaa tapaamiset. Query-parametrit: status, from, to, customer_id, business_id, page, limit #### POST /appointments Luo tapaaminen. Pakolliset: customer_id, appointment_date (YYYY-MM-DD), appointment_time (HH:MM) Valinnaiset: contact_id, duration_minutes, service_type, notes #### PUT /appointments/:id Päivitä tapaaminen. #### DELETE /appointments/:id Poista tapaaminen. --- ### Offers (Tarjoukset) #### GET /offers Listaa tarjoukset. Query-parametrit: customer_id, business_id, status, page, limit #### GET /offers/:id Hae tarjouksen tiedot tuoteriveineen. #### POST /offers Luo tarjous tuoteriveineen. Pakolliset: customer_id Valinnaiset: contact_id, valid_until, notes, delivery_terms, payment_terms, items[] Items: - pricing_id (uuid): Tuotteen hinnoittelu-ID - quantity (number): Määrä (oletus: 1) - custom_price (number): Ylikirjoita hinta - discount_percentage (number): Rivialennus % - notes (string): Rivin muistiinpanot #### PUT /offers/:id Päivitä tarjous. #### POST /offers/:id/convert Muunna tarjous tilaukseksi. --- ### Orders (Tilaukset) #### GET /orders Listaa tilaukset. Statukset: draft, confirmed, processing, shipped, delivered, cancelled #### GET /orders/:id Hae tilaus tuoteriveineen. #### POST /orders Luo tilaus. #### PUT /orders/:id Päivitä tilaus. #### DELETE /orders/:id Poista tilaus. --- ### Products / Pricing (Tuotteet) #### GET /products Listaa tuotteet. #### GET /products/:id Hae yksittäinen tuote. #### POST /products Luo tuote. Pakolliset: name, unit_price Valinnaiset: sku, description, unit, vat_percentage, product_group_id #### PUT /products/:id Päivitä tuote. --- ### Purchase Orders (Ostotilaukset) #### GET /purchase-orders Listaa ostotilaukset sivutettuna. Query-parametrit: - status (string): Suodata tilalla (draft, sent, received, cancelled) - supplier_id (uuid): Suodata toimittajan mukaan - page (number): Sivunumero (oletus: 1) - limit (number): Tulosten määrä (max 100, oletus: 50) Esimerkki: ``` curl -X GET "https://api.leadfryer.com/purchase-orders?status=draft" \ -H "X-API-Key: lf_your_api_key_here" ``` #### GET /purchase-orders/:id Hae yksittäinen ostotilaus tuoteriveineen. #### POST /purchase-orders Luo uusi ostotilaus. Pakolliset: order_number (string) Valinnaiset: supplier_id (uuid), status, total_amount, buffer_percentage, analysis_period_start, analysis_period_end, notes, items[] Items: - pricing_id (uuid): Tuotteen hinnoittelu-ID - product_name (string): Tuotteen nimi - quantity (number): Tilattava määrä - sold_quantity (number): Myyty määrä analyysijaksolla - avg_daily_sales (number): Keskimääräinen päivämyynti (30 pv) - unit_price (number): Yksikköhinta - total_price (number): Kokonaishinta Esimerkki: ``` curl -X POST "https://api.leadfryer.com/purchase-orders" \ -H "X-API-Key: lf_your_api_key_here" \ -H "Content-Type: application/json" \ -d '{ "order_number": "PO-20250301-001", "supplier_id": "supplier-uuid", "buffer_percentage": 20, "items": [ { "pricing_id": "pricing-uuid", "product_name": "Tuote A", "quantity": 120, "sold_quantity": 100, "unit_price": 10.50, "total_price": 1260.00 } ] }' ``` #### PUT /purchase-orders/:id Päivitä ostotilauksen tiedot (status, notes, total_amount). #### DELETE /purchase-orders/:id Poista ostotilaus ja sen tuoterivit. --- ### Calls (Puhelut) #### GET /calls Listaa puhelut. #### POST /calls Kirjaa puhelu. Pakolliset: customer_id Valinnaiset: contact_id, notes, duration, status, outcome_id, caller_number, callee_number --- ### Deals (Kaupat) #### GET /deals Listaa kaupat. Vaiheet: qualified_lead, contacted, demo, offer_sent, negotiation, won, lost #### POST /deals Luo kauppa. Pakolliset: name Valinnaiset: customer_id, contact_id, value, stage, expected_close_date, notes #### PUT /deals/:id Päivitä kauppa. --- ### Shipments (Lähetykset) #### GET /shipments Listaa lähetykset. #### POST /shipments Luo lähetys. #### PUT /shipments/:id Päivitä lähetys. #### DELETE /shipments/:id Poista lähetys. --- ### Webhooks #### POST /webhooks Rekisteröi webhook. Tapahtumat: customer.created, customer.updated, order.created, order.status_changed, deal.stage_changed, appointment.created Suojaus: HMAC-SHA256 allekirjoitus X-Webhook-Signature -headerissa. --- ### Tilausten statukset | Status | Kuvaus | |--------|--------| | draft | Luonnos, ei vahvistettu | | confirmed | Vahvistettu, odottaa käsittelyä | | processing | Käsittelyssä, tuotteita kerätään | | shipped | Lähetetty, kuljetuksessa | | delivered | Toimitettu asiakkaalle | | cancelled | Peruutettu | ### Procountor-laskustatukset | Status | Kuvaus | |--------|--------| | UNFINISHED | Keskeneräinen | | NOT_SENT | Ei lähetetty | | SENT | Lähetetty | | PAID | Maksettu | | OVERDUE | Myöhässä | | REMINDED | Muistutettu | | COLLECTION | Perinnässä | | CREDITED | Hyvitetty | --- ## Esimerkkikoodi ### cURL ```bash curl -X GET "https://api.leadfryer.com/customers" \ -H "X-API-Key: lf_your_api_key_here" \ -H "Content-Type: application/json" ``` ### JavaScript ```javascript const API_KEY = "lf_your_api_key_here"; const BASE_URL = "https://api.leadfryer.com"; async function getCustomers(page = 1, limit = 50) { const response = await fetch( `${BASE_URL}/customers?page=${page}&limit=${limit}`, { headers: { "X-API-Key": API_KEY, "Content-Type": "application/json" } } ); return response.json(); } async function createCustomer(data) { const response = await fetch(`${BASE_URL}/customers`, { method: "POST", headers: { "X-API-Key": API_KEY, "Content-Type": "application/json" }, body: JSON.stringify(data) }); return response.json(); } async function createPurchaseOrder(data) { const response = await fetch(`${BASE_URL}/purchase-orders`, { method: "POST", headers: { "X-API-Key": API_KEY, "Content-Type": "application/json" }, body: JSON.stringify(data) }); return response.json(); } ``` ### Python ```python import requests API_KEY = "lf_your_api_key_here" BASE_URL = "https://api.leadfryer.com" headers = { "X-API-Key": API_KEY, "Content-Type": "application/json" } # Hae asiakkaat response = requests.get(f"{BASE_URL}/customers", headers=headers) customers = response.json() # Luo asiakas new_customer = { "company_name": "Uusi Yritys Oy", "business_id": "1234567-8", "email": "info@uusiyritys.fi" } response = requests.post(f"{BASE_URL}/customers", json=new_customer, headers=headers) # Luo ostotilaus purchase_order = { "order_number": "PO-20250301-001", "supplier_id": "supplier-uuid", "buffer_percentage": 20, "items": [ { "pricing_id": "pricing-uuid", "product_name": "Tuote A", "quantity": 120, "unit_price": 10.50, "total_price": 1260.00 } ] } response = requests.post(f"{BASE_URL}/purchase-orders", json=purchase_order, headers=headers) ``` --- Päivitetty: 2026-03-01 © Leadfryer – https://leadfryer.com