Skip to content

Prana API (1.0)

API Prana

Welcome !!! In our developer portal you will find everything you need to interact with our platform.

Our API works with the REST interface through the HTTPS protocol and using the JSON format for processing calls.

All requests are validated against an API Key that can be obtained manually from the Configuration section of the PRANA app.

Our goal is to offer the clearest possible documentation here.

Any suggestions can be sent to: info@prana.software

API Key

To use your API key, you need only call the api with your key in the header as follow:

X-Api-Key

Download OpenAPI description
Languages
Servers
https://api.prana.software

Stock Regularization

Manage your Stock Regularizations

Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations

Stock Transfer

Manage your Stock Transfers

Operations
Operations

Warehouse Movement

Manage your warehouse movements

Operations
Operations
Operations

DeliveryNote

Manage your DeliveryNotes

Operations

Warehouse Accumulate

Manage your warehouse accumulates

Operations
Operations
Operations

Entity Last Update

Manage the last-updated timestamps for entities

Operations

Period

Retrieves the available accounting periods in the app

Operations
Operations
Operations

Purchase Invoice

Manage your Purchase Invoices

Operations
Operations
Operations

Payment Method

Manage your Payment Methods

Operations

Request

Get a specific payment method.

Path
idinteger(int32)required
curl -i -X GET \
  'https://api.prana.software/api/v1/payment/method/{id}'

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
codeinteger(int32)required
descriptionstringrequired
documentstring
firstTerminteger(int32)
termsinteger(int32)
daysTermsinteger(int32)
remittanceboolean
addToCustomerBaseboolean
notCountedAsPaymentForecastboolean
serveFullPrePaidboolean
paymentAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

discountAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

customerAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

saleAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

billCodestring
fdiCodestring
facturaECodestring(ApiFacturaECodeEnum)

Electronic invoice codes

Enum"NOT_SPECIFIED""CASH""DOMICILED_RECEIPT""RECEIPT""TRANSFER""ACCEPTED_LETTER""LETTER_OF_CREDIT""CONTRACT_AWARD""BILL_OF_EXCHANGE""PROMISORY_NOTE_IN_ORDER"
observationsstring
prestashopModulestring
languagesobject
iconstring
Response
application/json
{ "id": 1, "code": 0, "description": "string", "document": "string", "firstTerm": 0, "terms": 0, "daysTerms": 0, "remittance": true, "addToCustomerBase": true, "notCountedAsPaymentForecast": true, "serveFullPrePaid": true, "paymentAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "discountAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "customerAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "saleAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "billCode": "string", "fdiCode": "string", "facturaECode": "01", "observations": "string", "prestashopModule": "string", "languages": { "property1": "string", "property2": "string" }, "icon": "string" }

Request

Update a specific payment method.

Path
idinteger(int32)required
Bodyapplication/jsonrequired
codeinteger(int32)required

Unique code for the payment method.

Example: 10
descriptionstring[ 0 .. 100 ] charactersrequired

Description of the payment method.

Example: "Bank transfer"
documentstring[ 0 .. 10 ] characters

Document code for the payment method.

Example: "DOC01"
firstTerminteger(int32)>= 0

Days to the first term.

Example: 30
termsinteger(int32)>= 0

Number of terms.

Example: 3
daysTermsinteger(int32)>= 0

Number of days for terms.

Example: 90
remittancebooleanrequired

Indicates whether remittance is required.

Example: true
addToCustomerBasebooleanrequired

Indicates if the method adds to the customer base.

Example: true
notCountedAsPaymentForecastbooleanrequired

Indicates if payment is not counted as forecast.

Example: false
serveFullPrePaidbooleanrequired

Indicates if the service is fully prepaid.

Example: false
paymentAccountinteger(int32)

Payment account identifier.

Example: 410
discountAccountinteger(int32)

Discount account identifier.

Example: 411
customerAccountinteger(int32)

Customer account identifier.

Example: 430
saleAccountinteger(int32)

Sale account identifier.

Example: 700
billCodestring[ 0 .. 10 ] characters

Code for the bill.

Example: "BILL01"
fdiCodestring(ApiFDICodesEnum)

FDI code for the payment method. See ApiFDICodes for all possible values.

Enum"A""D""E""F""I""N""P"
Example: "TRANSFER"
facturaECodestring(ApiFacturaECodeEnum)

FacturaE code for the payment method. See ApiFacturaECodeEnum for all available values.

Enum"NOT_SPECIFIED""CASH""DOMICILED_RECEIPT""RECEIPT""TRANSFER""ACCEPTED_LETTER""LETTER_OF_CREDIT""CONTRACT_AWARD""BILL_OF_EXCHANGE""PROMISORY_NOTE_IN_ORDER"
Example: "TRANSFERENCIA"
observationsstring

Additional observations about the payment method.

Example: "Requires confirmation"
prestashopModulestring[ 0 .. 50 ] characters

Name of the Prestashop module associated.

Example: "ps_bankwire"
languagesobject

Map of localized languages for the payment method.

iconstring[ 0 .. 100 ] charactersrequired

Icon associated with the payment method.

Example: "icon-bank.png"
curl -i -X PUT \
  'https://api.prana.software/api/v1/payment/method/{id}' \
  -H 'Content-Type: application/json' \
  -d '{
    "code": 10,
    "description": "Bank transfer",
    "document": "DOC01",
    "firstTerm": 30,
    "terms": 3,
    "daysTerms": 90,
    "remittance": true,
    "addToCustomerBase": true,
    "notCountedAsPaymentForecast": false,
    "serveFullPrePaid": false,
    "paymentAccount": 410,
    "discountAccount": 411,
    "customerAccount": 430,
    "saleAccount": 700,
    "billCode": "BILL01",
    "fdiCode": "A",
    "facturaECode": "01",
    "observations": "Requires confirmation",
    "prestashopModule": "ps_bankwire",
    "languages": {
      "property1": "string",
      "property2": "string"
    },
    "icon": "icon-bank.png"
  }'

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
codeinteger(int32)required
descriptionstringrequired
documentstring
firstTerminteger(int32)
termsinteger(int32)
daysTermsinteger(int32)
remittanceboolean
addToCustomerBaseboolean
notCountedAsPaymentForecastboolean
serveFullPrePaidboolean
paymentAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

discountAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

customerAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

saleAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

billCodestring
fdiCodestring
facturaECodestring(ApiFacturaECodeEnum)

Electronic invoice codes

Enum"NOT_SPECIFIED""CASH""DOMICILED_RECEIPT""RECEIPT""TRANSFER""ACCEPTED_LETTER""LETTER_OF_CREDIT""CONTRACT_AWARD""BILL_OF_EXCHANGE""PROMISORY_NOTE_IN_ORDER"
observationsstring
prestashopModulestring
languagesobject
iconstring
Response
application/json
{ "id": 1, "code": 0, "description": "string", "document": "string", "firstTerm": 0, "terms": 0, "daysTerms": 0, "remittance": true, "addToCustomerBase": true, "notCountedAsPaymentForecast": true, "serveFullPrePaid": true, "paymentAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "discountAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "customerAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "saleAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "billCode": "string", "fdiCode": "string", "facturaECode": "01", "observations": "string", "prestashopModule": "string", "languages": { "property1": "string", "property2": "string" }, "icon": "string" }

Request

Delete specific payment method.

Path
idinteger(int32)required
curl -i -X DELETE \
  'https://api.prana.software/api/v1/payment/method/{id}'

Responses

OK

Request

Patch specific Payment Method.

Path
idinteger(int32)required
Bodyapplication/jsonrequired
property name*objectadditional property
curl -i -X PATCH \
  'https://api.prana.software/api/v1/payment/method/{id}' \
  -H 'Content-Type: application/json' \
  -d '{
    "property1": {},
    "property2": {}
  }'

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
codeinteger(int32)required
descriptionstringrequired
documentstring
firstTerminteger(int32)
termsinteger(int32)
daysTermsinteger(int32)
remittanceboolean
addToCustomerBaseboolean
notCountedAsPaymentForecastboolean
serveFullPrePaidboolean
paymentAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

discountAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

customerAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

saleAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

billCodestring
fdiCodestring
facturaECodestring(ApiFacturaECodeEnum)

Electronic invoice codes

Enum"NOT_SPECIFIED""CASH""DOMICILED_RECEIPT""RECEIPT""TRANSFER""ACCEPTED_LETTER""LETTER_OF_CREDIT""CONTRACT_AWARD""BILL_OF_EXCHANGE""PROMISORY_NOTE_IN_ORDER"
observationsstring
prestashopModulestring
languagesobject
iconstring
Response
application/json
{ "id": 1, "code": 0, "description": "string", "document": "string", "firstTerm": 0, "terms": 0, "daysTerms": 0, "remittance": true, "addToCustomerBase": true, "notCountedAsPaymentForecast": true, "serveFullPrePaid": true, "paymentAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "discountAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "customerAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "saleAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "billCode": "string", "fdiCode": "string", "facturaECode": "01", "observations": "string", "prestashopModule": "string", "languages": { "property1": "string", "property2": "string" }, "icon": "string" }

Request

Create a new payment method.

Bodyapplication/jsonrequired
codeinteger(int32)required

Unique code for the payment method.

Example: 10
descriptionstring[ 0 .. 100 ] charactersrequired

Description of the payment method.

Example: "Bank transfer"
documentstring[ 0 .. 10 ] characters

Document code for the payment method.

Example: "DOC01"
firstTerminteger(int32)>= 0

Days to the first term.

Example: 30
termsinteger(int32)>= 0

Number of terms.

Example: 3
daysTermsinteger(int32)>= 0

Number of days for terms.

Example: 90
remittancebooleanrequired

Indicates whether remittance is required.

Example: true
addToCustomerBasebooleanrequired

Indicates if the method adds to the customer base.

Example: true
notCountedAsPaymentForecastbooleanrequired

Indicates if payment is not counted as forecast.

Example: false
serveFullPrePaidbooleanrequired

Indicates if the service is fully prepaid.

Example: false
paymentAccountinteger(int32)

Payment account identifier.

Example: 410
discountAccountinteger(int32)

Discount account identifier.

Example: 411
customerAccountinteger(int32)

Customer account identifier.

Example: 430
saleAccountinteger(int32)

Sale account identifier.

Example: 700
billCodestring[ 0 .. 10 ] characters

Code for the bill.

Example: "BILL01"
fdiCodestring(ApiFDICodesEnum)

FDI code for the payment method. See ApiFDICodes for all possible values.

Enum"A""D""E""F""I""N""P"
Example: "TRANSFER"
facturaECodestring(ApiFacturaECodeEnum)

FacturaE code for the payment method. See ApiFacturaECodeEnum for all available values.

Enum"NOT_SPECIFIED""CASH""DOMICILED_RECEIPT""RECEIPT""TRANSFER""ACCEPTED_LETTER""LETTER_OF_CREDIT""CONTRACT_AWARD""BILL_OF_EXCHANGE""PROMISORY_NOTE_IN_ORDER"
Example: "TRANSFERENCIA"
observationsstring

Additional observations about the payment method.

Example: "Requires confirmation"
prestashopModulestring[ 0 .. 50 ] characters

Name of the Prestashop module associated.

Example: "ps_bankwire"
languagesobject

Map of localized languages for the payment method.

iconstring[ 0 .. 100 ] charactersrequired

Icon associated with the payment method.

Example: "icon-bank.png"
curl -i -X POST \
  https://api.prana.software/api/v1/payment/method \
  -H 'Content-Type: application/json' \
  -d '{
    "code": 10,
    "description": "Bank transfer",
    "document": "DOC01",
    "firstTerm": 30,
    "terms": 3,
    "daysTerms": 90,
    "remittance": true,
    "addToCustomerBase": true,
    "notCountedAsPaymentForecast": false,
    "serveFullPrePaid": false,
    "paymentAccount": 410,
    "discountAccount": 411,
    "customerAccount": 430,
    "saleAccount": 700,
    "billCode": "BILL01",
    "fdiCode": "A",
    "facturaECode": "01",
    "observations": "Requires confirmation",
    "prestashopModule": "ps_bankwire",
    "languages": {
      "property1": "string",
      "property2": "string"
    },
    "icon": "icon-bank.png"
  }'

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
codeinteger(int32)required
descriptionstringrequired
documentstring
firstTerminteger(int32)
termsinteger(int32)
daysTermsinteger(int32)
remittanceboolean
addToCustomerBaseboolean
notCountedAsPaymentForecastboolean
serveFullPrePaidboolean
paymentAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

discountAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

customerAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

saleAccountobject(ApiChartAccountListReadDto)

Surcharge account information for purchase operations

billCodestring
fdiCodestring
facturaECodestring(ApiFacturaECodeEnum)

Electronic invoice codes

Enum"NOT_SPECIFIED""CASH""DOMICILED_RECEIPT""RECEIPT""TRANSFER""ACCEPTED_LETTER""LETTER_OF_CREDIT""CONTRACT_AWARD""BILL_OF_EXCHANGE""PROMISORY_NOTE_IN_ORDER"
observationsstring
prestashopModulestring
languagesobject
iconstring
Response
application/json
{ "id": 1, "code": 0, "description": "string", "document": "string", "firstTerm": 0, "terms": 0, "daysTerms": 0, "remittance": true, "addToCustomerBase": true, "notCountedAsPaymentForecast": true, "serveFullPrePaid": true, "paymentAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "discountAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "customerAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "saleAccount": { "id": 1, "code": 1000, "description": "Cash account", "cif": "B12345678", "active": true, "color": "#FF5733", "parentCode": 100, "parentDescription": "Assets" }, "billCode": "string", "fdiCode": "string", "facturaECode": "01", "observations": "string", "prestashopModule": "string", "languages": { "property1": "string", "property2": "string" }, "icon": "string" }

Request

Get all your payment methods.

Bodyapplication/jsonrequired
conditionobject(ApiCondition)

Condition to filter results

sortCriteriaArray of objects(ApiSortDto)

List of sorting criteria to apply

pageNumberinteger(int32)required

Page number to retrieve (0-based)

Example: 0
pageSizeinteger(int32)required

Number of items per page

Example: 20
curl -i -X POST \
  https://api.prana.software/api/v1/payment/method/search \
  -H 'Content-Type: application/json' \
  -d '{
    "condition": {
      "field": "name",
      "value": "Example Value",
      "type": "EQ",
      "endValue": 100,
      "innerConditions": [
        {}
      ],
      "conditionType": "AND",
      "empty": false,
      "compareFields": false
    },
    "sortCriteria": [
      {
        "sortField": "name",
        "sortDirection": "ASC"
      }
    ],
    "pageNumber": 0,
    "pageSize": 20
  }'

Responses

OK

Bodyapplication/json
dataArray of objects(ApiPaymentMethodListReadDto)required

List of data items for the current page

data[].​idinteger(int32)required

Unique identifier of the entity

Example: 1
data[].​codeinteger(int32)required

Código único del método de pago

Example: 1
data[].​descriptionstringrequired

Descripción del método de pago

Example: "Transferencia bancaria"
data[].​documentstring

Documento asociado al método de pago

Example: "Contrato"
data[].​firstTerminteger(int32)

Primer plazo de pago en días

Example: 30
data[].​termsinteger(int32)

Número total de plazos

Example: 3
data[].​daysTermsinteger(int32)

Días entre plazos

Example: 30
data[].​remittanceboolean

Indica si es una remesa

Example: true
data[].​addToCustomerBaseboolean

Indica si se debe añadir a la base de clientes

Example: true
data[].​serveFullPrePaidboolean

Indica si sirve como pago anticipado completo

Example: false
data[].​observationsstring

Observaciones adicionales

Example: "Requiere verificación bancaria"
data[].​iconstring

Icono representativo del método de pago

Example: "fa-credit-card"
data[].​facturaECodestring(ApiFacturaECodeEnum)

Código de factura electrónica asociado

Enum"NOT_SPECIFIED""CASH""DOMICILED_RECEIPT""RECEIPT""TRANSFER""ACCEPTED_LETTER""LETTER_OF_CREDIT""CONTRACT_AWARD""BILL_OF_EXCHANGE""PROMISORY_NOTE_IN_ORDER"
pageinteger(int32)required

Current page number (0-based)

Example: 0
totalinteger(int32)required

Total number of items across all pages

Example: 150
pagesinteger(int64)required

Last page number (0-based)

Example: 14
sizeinteger(int32)required

Number of items per page

Example: 10
Response
application/json
{ "data": [ { … } ], "page": 0, "total": 150, "pages": 14, "size": 10 }
Operations

Recurring Billing Templates

Manage your recurring billing templates

Operations
Operations

Billing Series

Manage your Billing Series

Operations
Operations
Operations

PurchaseDeliveryNote

Manage your PurchaseDeliveryNotes

Operations
Operations
Operations