API

Dokumentationen har automatiskt översatts med maskinöversättning.

Genom att använda DiMaker API kan man skapa filer med personuppgifter och vid behov skicka dem till mottagare. API-förfrågningar kan göras från en annan server eller från en webbläsare via CORS-förfrågan.

Komma igång

I avsnittet "Integration" - "API Tokens" behöver du få ett Secure-token för förfrågningar och tillåta användning av detta token. Dessutom behöver du skapa ett dokument som innehåller variabler för personuppgifter, samt en e-postmalls för utskick och en mapp i Drive för färdiga filer.

Skapa filer

För att skapa filer, skicka POST-DATA, POST-JSON eller GET-förfrågningar till adressen
https://dimaker.app/api/v1/create/
med de data som anges nedan.
Förfrågningskodning - UTF-8. Obligatoriska fält markeras med en asterisk.

  • secure*

    Token (sträng, 36 tecken)

  • doc_id*

    Dokumentets ID (sträng, 36 tecken) som ska användas för att skapa filen. ID kan fås från adressfältet när dokumentet är öppet. Dokumentet får inte ligga i papperskorgen, men kan finnas i vilken som helst dokumentmapp.

  • mask*

    JSON-sträng innehållande alla variabler för ersättning som nyckel (variabel) - värde (text för ersättning). Kan innehålla data för att skapa flera filer (utan begränsning i antal).
    Exempel för en fil:
    [{"%name": "Ivanov", "%points":"100"}]
    Exempel för flera filer:
    [{"%name": "Ivanov", "%points":"100"}, {"%name": "Petrov", "%points":"200"}, {"%name": "Sidorov", "%points":"300"}]
    För att ange en e-postadress, använd %email, och för filnamn - %filename. För att skicka skapade filer till flera e-postadresser, ange dem separat med kommatecken. Status för skick i Drive kommer att visas för den första adressen.
    Du kan endast använda dubbla citattecken i enlighet med standarden. Om nyckelns värde innehåller citattecken, ska de maskeras.

    För att överföra en bild till blocket med bilder kan du använda antingen en direktlänk (http:// eller https://), eller en Base64-kodad bild. I det andra fallet ska strängen börja med "data:image/".

    Alternativ metod
    Om det inte är möjligt att skicka en JSON-sträng kan ersättningssträngarna skickas som förfrågningsfält. Varje ersättningsvariabel ska börja med prefixet mask_, till exempel mask_name, och innehålla ersättningsvärdet. Sökning efter variabeln i dokumentet kommer att göras efter prefixet. Till exempel matchar fältet mask_name variabeln %name. För att ange en e-postadress med denna metod använd mask_email, och för filnamn - mask_filename.

  • mail_id

    E-postmallens ID (sträng, 36 tecken) som ska användas för utskick. ID kan fås från adressfältet när mallen är öppen. Om variabeln inte skickas, kommer inget meddelande att skickas.

  • email_send

    Tid när e-posten ska skickas. Kan anta följande värden:
    onfinish - Skicka alla meddelanden efter att alla filer har skapats (standard)
    oncreate - Skicka meddelanden direkt efter att filen skapats. För skapande av en fil är onfinish och oncreate identiska.
    timeout - Skicka meddelanden efter ett tidsintervall. I detta fall behöver du skicka ytterligare två parametrar:
    email_timeout_value - numerisk värde för intervallet som meddelanden ska skickas efter, heltal
    email_timeout_unit - enhet för tidsintervallet. Kan anta värdena "m" (minuter), "h" (timmar), "d" (dagar).
    Alternativt, för att ange exakt tidsfördröjningen, skicka tiden i unix time-format i email_timeout_timestamp. Om både email_timeout_value och email_timeout_timestamp skickas, har den senare prioritet.

  • folder_id

    Mapp-ID i Drive (sträng, 36 tecken) för att spara filer. Om mappen inte finns kommer den att skapas automatiskt när den första filen skapas.

  • storage_period

    Tiden för lagring av filer i Drive. Om parametern inte anges, lagras filerna permanent tills de tas bort manuellt. För automatisk radering efter ett tidsintervall, måste du använda värdet:
    timeout. I detta fall behöver du skicka ytterligare två parametrar:
       storage_period_timeout_value - numerisk värde för intervallet efter vilket filerna ska raderas, heltal
       storage_period_timeout_unit - enhet för tidsintervallet. Kan anta värdena "m" (minuter), "h" (timmar), "d" (dagar).
    Alternativt, för att ange exakt tid för radering, skicka tiden i unix time-format i storage_period_timeout_timestamp. Om både storage_period_timeout_value och storage_period_timeout_timestamp skickas, har den senare prioritet.

  • page_id

    Sidnummer (heltal eller sträng), om dokumentet innehåller flera sidor. Du kan ange ett nummer (första sidan - 0), eller numren (avgränsade av kommatecken) för sidorna som ska användas för att skapa filen.

  • result

    Bestämmer hur resultatet ska returneras. Kan anta följande värden:

    • Inget värde. En JSON-sträng med resultatet av förfrågan kommer att returneras (se nedan)
    • länk. Vid framgångsrik förfrågan returneras en sträng som innehåller en länk till den skapade filen (om förfrågan skapade flera filer, länken till den första). För att hämta själva filen behövs en förfrågan till den angivna länken. Själva filerna tar från 1 till 5 sekunder att förbereda - en förfrågan innan detta resulterar i ett 404-fel. Om förfrågan inte leder till en filskapelse, returneras en JSON-sträng med felmeddelande (se nedan).
    • fil. Vid framgångsrik förfrågan returneras den skapade filen (om förfrågan skapade flera filer, då endast den första). Eftersom det tar 1-5 sekunder att skapa en fil, sker återgivningen först när filen har skapats. Om det är ett stort antal förfrågningar till API, ökas skapandetiden. Om filen inte förbereds inom 30 sekunder, returnerar API:et ett 404-fel (även om förfrågan att skapa filen i slutändan kommer att exekveras). Om förfrågan inte leder till en filskapelse, returneras en JSON-sträng med felmeddelande (se nedan). Om det förväntas att nätaktiviteten kommer att överskrida 1 förfrågan på 5 sekunder, bör inte den här parametern användas.

Resultat

Servern returnerar en JSON-sträng med följande möjliga värden:

  • resultat

    Resultatet av förfrågan. Kan anta följande värden:
    fel - förfrågningsfel. Inga filer skapades.
    framgångsrik - framgångsrik förfrågan för filskapar. Beroende på API-användningsscenariot kan du meddela om en framgångsrik filskapelse eller visa nedladdningsformuläret.

  • skapa_id

    Skapelse ID. Endast vid en framgångsrik förfrågan. Kan vara användbar för andra förfrågningar till API.

  • filer

    En lista med ID för de skapade filerna. Endast vid en framgångsrik förfrågan. För att erhålla själva filen som JPG behöver du begära https://dimaker.app/getfile/{ID}/. För att ladda ner en PDF ska du lägga till pdf/ till adressen. API returnerar fil-ID direkt, men att förbereda själva filerna tar 1-5 sekunder per fil. Innan de är klara, returnerar en begäran till https://dimaker.app/getfile/{ID}/ ett 404-fel.

  • url

    URL för filhämtarwidget. Endast vid en framgångsrik förfrågan. Ett Iframe med den angivna URL ska skapas. Direkt åtkomst till URL ger inget resultat. Domänen för webbplatsen där filen tas emot måste anges korrekt i API-inställningarna.
    Varje fil tar 1 sekund + några sekunder för hela gruppen att bearbeta. Omedelbart efter begäran kan du öppna en Iframe med angiven URL. Om skapelsen ännu inte är klar visas en motsvarande meddelande. När de är klara, erbjuds nedladdning.
    Du kan visa widgeten i en modaldialog på sidan. För detta behövs det ett Iframe med följande additional styles: position:fixed; width:100%; height:100%; top:0; bottom:0; right:0; left:0; z-index:10000; background: rgba(0, 0, 0, 0.72); Ange ?view=modal till URL-strängen. Lägg till denna iframe i body.

  • fel_text

    Endast vid fel. Textbeskrivning av felet. Möjliga fel: Felaktigt Secure-token, ersättningsmask, dokument-ID, e-postmallens ID, mapp-ID i Drive eller serverns interna fel.

Exempel på hur returnerade data ser ut vid en framgångsrik förfrågan:
{
"resultat":"framgångsrik",
"skapa_id":"b4caf05b-6757-4d9c-b4bc-1924a9b31796",
"url":"https://embed.dimaker.app/widgets/get/927ebf68-2f55-4b20-a18c-c1171ee113db/b4caf05b-6757-4d9c-b4bc-1924a9b31796/",
"filer":[
"369dc61e-40c2-46c0-81f4-e31ca8c33cc2",
"d94c6efb-0076-438b-bb84-fead9c1ae556",
"716e1081-c8ee-442b-b0b0-0681b2ed5d90"
]
}

Skapa flera filer i en förfrågan

I en och samma förfrågan kan man skapa flera filer från olika dokument. Med hjälp av en sådan förfrågan kan man skapa flera filer, till exempel med hjälp av mallar på svenska och engelska. Genom att skicka en enda begäran skapar servern det nödvändiga antalet filer.

För att skicka en sådan begäran måste variabeln doc_id vara en lista (variabelnamn - doc_id[]). I detta fall kan samma begäran innefatta flera doc_id[]-variabler för att skapa flera filer. Andra variabler, som mail_id, email_send och folder_id kan också skickas som listor, så att varje fil skickas med en viss mall, vid en specifik tid eller sparas i en specifik mapp. Om detta inte är nödvändigt, borde endast fältet doc_id vara en lista.

Till exempel, om det är nödvändigt att skapa två filer från olika dokument och placera dem i olika mappar i Drive, måste du skicka två doc_id[]-variabler och två folder_id[]-variabler (i samma ordning). Dessutom, om målet är att skicka dem i ett enda meddelande, ange ett mail_id, och i email_send[] i början ange "manual" och sedan "oncreate". I så fall skapas en fil först, sedan den andra. Och först efter att den andra har skapats skickas den med det angivna mail_id-meddelande.

Skicka fil till sig själv efter skapelse

Filen skickas till kontots e-post så fort den har skapats. I fältet "E-postmall" kan du välja vilken mall som ska användas för att skicka meddelandet. Förberett i E-postmallar kan du skapa en separat mall för att skicka e-postmeddelanden till kontots e-postadress. Om du i e-posttexten skriver in variabeln %data, kommer alla filens data i tabellform att läggas till vid den platsen.

Radera filer

För att radera filer skicka POST-DATA, POST-JSON eller GET-förfrågningar till adressen
https://dimaker.app/api/v1/drive/files/delete/
med de data som anges nedan.
Förfrågningskodning - UTF-8. Obligatoriska fält markeras med en asterisk.

  • secure*

    Token (sträng, 36 tecken)

  • file_id

    Filens ID (sträng, 36 tecken) som ska raderas. Filens ID returneras i files-listan när den skapats via API. Filer får inte ligga i papperskorgen.

    ELLER

  • file_ids

    Lista med fil-ID:n (sträng, 36 tecken) som ska raderas om du vill radera flera filer i en förfrågan.

    ELLER

  • creater_id

    Skapelse ID (sträng, 36 tecken) om filen skapats via API. Skapelse ID kan skickas istället för file_id eller file_ids. Om så är fallet raderas alla filer med detta skapelse-ID. Skapelse ID returneras i create_id-fältet vid filskapelse via API.

    delete_forever

    Ta bort filen fullständigt utan att flytta den till papperskorgen. I standardläge flyttas filen till papperskorgen. Kan anta följande värden:

    • 0 - flytta till papperskorgen (standardläge)
    • 1 - ta bort helt

    Filer i papperskorgen raderas automatiskt efter 60 dagar.

Exempel

Exempel på en korrekt förfrågan för att radera filer:
{
"secure":"b4caf05b-6757-4d9c-b4bc-1924a9b31796",
"file_id":"369dc61e-40c2-46c0-81f4-e31ca8c33cc2"
}

Resultat

Servern returnerar en JSON-sträng med följande möjliga värden:

  • resultat

    Resultatet av förfrågan. Kan anta följande värden:
    fel - förfrågningsfel. Filer raderades inte.
    framgångsrik - lyckad förfrågan att radera filer.

  • filer

    Lista med ID för de raderade filerna. Endast vid en framgångsrik förfrågan.

  • fel_text

    Endast vid fel. Textbeskrivning av felet. Möjliga fel: Felaktigt Secure-token, fil-ID, skapelse-ID, eller serverns interna fel.

Exempel på hur returnerade data ser ut vid en framgångsrik förfrågan:
{
"resultat":"framgångsrik",
"filer":["369dc61e-40c2-46c0-81f4-e31ca8c33cc2"]
}


Andra integrationer

Redo att börja?

Öppna Öppna webbapplikationen