Other documents
Send PDF letters to Ropo using a JSON index file.
Send letters to Ropo as PDF + index JSON.
Use this for customer letters, contracts, reports, and similar documents.
Prerequisites
You need:
cid+apicodea JWT token in
Authorization: Bearer <token>
Delivery options
You have two common ways to deliver the PDF.
Option A: HTTPS with embedded PDF (base64)
Put the base64-encoded PDF content in:
image.file
Use this when your payload format supports embedded files.
Option B: Deliver the PDF as a separate file (ZIP)
Deliver the PDF file(s) and the index file in the same ZIP package.
Use this when:
you cannot embed base64 in JSON
the PDFs are large
you want to upload file + data together
Minimum letter payload
Send one item in datastream.dataset[].
Field reference
Fields live inside each datastream.dataset[] item.
Core fields
jobtype(string, required)Letter type in Ropo production.
For “other letter”, use
"301".
language(string, optional)Example:
"fin".
sendtype(string, required)Delivery channel.
Supported values:
post(printed and mailed)email
customertype(string, required)"1"= company"2"= consumer
person(string, required ifcustomertypeis"2")Consumer recipient name.
company(string, required ifcustomertypeis"1")Company recipient name.
Address fields
address(string, required)postcode(string, required)city(string, required)addresscountry(string, required)3-letter country code (ISO 3166-1 alpha-3).
Example:
"FIN".
countryname(string, required)Long country name.
Example:
"Finland".
Email and phone
email(string, required ifsendtypeis"email")phone(string, optional)Example:
"+35912345678".
Identifiers and dates
custnum(string, optional)Your customer number.
deliverydate(string, optional)Format:
YYYY-MM-DD.
Contracts
contract[](array, optional)Items contain:
contract_no(string)
PDF attachment (image)
image.filename(string)PDF filename.
Required when the PDF is delivered as a separate file with the index.
image.file(string)Base64-encoded PDF.
Optional.
Use this for HTTPS embedded file delivery.
Usage place (optional)
usageplaces[](array, optional)Items can contain:
address(object)address(string)city(string)addresscountry(string)postcode(string)sitecode(string)
energycontract[](array)contract_no(string)
Properties (propertyrow)
propertyrow[](array, required)Use this to send the document type.
Each item contains:
propname(string, required)propvalue(string, required)
Supported documenttype values
Add one propertyrow item:
Supported propvalue values:
invoice(Lasku)payslip(Palkka)customerletter(Asiakaskirje)questionnaire(Kysely)report(Raportti)contract(Sopimus)test(Testi)electricityinvoice(Sähkölasku)reminder(Maksukehotus)districtheatinginvoice(Lämpölasku)readingcard(Lukemakortti)adInvoice(Ilmoituslasku)interestinvoice(Korkolasku)rentinvoice(Vuokralasku)waterinvoice(Vesilasku)subscriptioninvoice(Tilauslasku)order(Tilaus)circulationinvoice(Levikkilasku)
Full JSON example
Migration notes (V1 → V2)
If you still have a V1 payload, these fields were renamed in V2:
deliverymethod→sendtypecountrycode→addresscountrycountry→countrynameemailaddress→emailphonenumber→phonefilename→image.filenamecontractnumber→usageplaces.energycontract.contract_nocustomernumber→custnumdeliverysite.id→usageplaces.address.sitecodedeliverysite.address→usageplaces.address.address
Last updated
Was this helpful?

