Skip to content

DropPay API - Bank v.1 - ISO 20022 Messages - Bank to Customer Report (CAMT.052)

The account report (camt.052.001.02 BankToCustomerAccountReportV06) description is used for reporting intra-day transactions and balances.

The CAMT.052 is usually an intraday report message. Nevertheless DropPay will provide this type of message by putting you in control of which day and time you want the report being referred to, that is you can decide which day your system is running in, today or any day before today.

And more, you can ask DropPay to produce the report with a time range wider than the 24h of selected day.

How it works

In order to get delivered with a CAMT 052 you have to:

  • 1⃣ POST a request that initializes a job with desired parameters in a json object;
  • 2⃣ PATCH the job resource until it's ready to be launched;
  • 3⃣ make the job run (PATCH the status to be READY) and wait for it to issue a new report, catching the event your client has been subscribed to;
  • 4⃣ get the XML 20022 CAMT.052 file directly from an uri provided in a json attribute of the job;

Get further reading all the details time ranged reports.

Time Rangd Reports

In order to get CAMT.052.001 reports produced you can set attributes to define the time range. report_time_range attribute is optional.

Date-time and durations are ISO 8601 compliant representations.

  "time_range_report": {
      "begin": "2016-07-16T19:20:30+01:00",
      "end": "2016-07-16T19:20:30+01:00",
      "duration": "P2M"
    },

Semanthics of time ranges are listed in the table below:

Time Range Description
begin, end produces one CAMT 052 with absolute time range
begin, duration produces one CAMT 052, from begin to begin+duration
end, duration produces one CAMT 052, from end-duration to end
begin, end, duration produces one CAMT 052 with absolute time range, ignores duration

Reports can be produced scheduling a job and then fetching resulting files once job status switch to, DONE or CANCELLED. Files will be available until 48 hours after the status has changed to DONEor CANCELLED. Late fetches will result in a 410/500 HTTP Status Error.

Default range

If time_range_report is not passed in, DropPay will issue reports setting a default time range beginning at 00:00 of the current day and ending at the time the request is performed.

CAMT 052 Versioning

Currently DropPay supports only Version 6 of CAMT 052.

Anyway if any other version compliance will be added in the future, you'll be able to require DropPay to produce CAMT 052 reports accordingly with the version set as job attribute.

    "version": "001.006",

CAMT 052 DropPay specification

You can find XML schema specified as a formatted table in the document DropPay-ISO20022-CAMT.052.001.pdf


REST Entities

Every REST entity is described listing her properties with the following formatting conventions:

  • this is a property name
  • this is an example of property value
  • (type, policy, direction) is the specification of a property
    • type can be "string", "number", "object" or a proper object class name
    • policy can be "optional" or "required"
    • direction can be "posted" or "received" depending on whether you set it in the request or you got it from the response
  • after the dash "-" there's the property description

name: example_value (type, policy, direction) - Property description

CAMT 052.001

CAMT 052.001
  • id: ISO145123G6YY (string, returned) - Unique job identifier
  • description: my wonderful unstoppable job (string, optional, posted) - user's description of the job
  • version: 001.006 (enum, optional, posted, returned) - requested ISO 20022 supported version of XML reports
    • enum members
      • 001.006
  • date_creation: 2016-07-16T19:20:30+01:00 (string, returned) - ISO 8601 time representation of job creation timestamp
  • iban: IT00A1000010000393471122333 (string, required, posted) - bank account IBAN
  • time_range_report: (object, optional, posted)
    • begin: 2016-07-16T19:20:30+01:00 (string, optional, posted) - ISO 8601 time representation of time range start
    • end: 2016-07-16T19:20:30+01:00 (string, optional, posted) - ISO 8601 time representation of time range end
    • duration: P2M (string, required) (string, optional, posted) - ISO 8601 duration representation (in example "two months")
  • status: DRAFT (enum, returned)
    • enum members
      • DRAFT
      • SCHEDULED
      • RUNNING
      • CANCELLED
      • DELETED
      • DONE
  • webhooks: (object, optional, posted)
    • camt052: https://credenA:credenB@app.server.com/listener (string, optional) - optional webhook where to receive event notification of RUNNING-IDLE state switching to.
  • reports: (array[object], returned) - Download URL of the report. Item is added only once the report file with results has been created. Filename is built with Bank Acccount number and issuing timestamp
    • date_issue: 2016-07-16T19:20:30+01:00 - ISO 8601 time representation of statement issuing date
    • file: https://api.drop-pay.io/bank/iso20022/v1/reports/ISO145123G6YY/393471122333-41208652835.xml

REST Endpoints

Security

Requests must be authenticated with User Access Token. User Access Token can be obtained requesting it with and active Connection Code.

Details at Authentication v.1 API Reference

Manage CAMT 052 jobs

DropPay Push API publishes the following methods :

  • POST a new Push order entity to send money
  • GET the Push order entity to read the order status;
  • PATCH the Push order entity to modify the order attributes until it is set with second factor disposition protocol;
  • DELETE the Push order entity
POST Create a new CAM 052 job

Create a new CAMT 052 job

Example

⬆ Request
curl --request POST
--url https://api.drop-pay.io/bank/iso20022/v1/camt/052/
--header 'authorization: Bearer ac9185e9f2984867b11069fd2881ff1a'
--header 'content-type:application/json'
{
    "description `my wonderful unstoppable job`": "",
    "version": "001.006",
    "iban": "IT00A1000010000393471122333",
    "time_range_report": {
        "begin": "2016-07-16T19:20:30+01:00",
        "end": "2016-07-16T19:20:30+01:00",
        "duration": "P2M"
    },
}
Response 200
⬇ Response 200
{
    "id": "ISO145123G6YY",
    "description": "my wonderful unstoppable job",
    "version": "001.006",
    "date_creation": "2016-07-16T19:20:30+01:00",
    "iban": "IT00A1000010000393471122333",
    "time_range_report": {
        "begin": "2016-07-16T19:20:30+01:00",
        "end": "2016-07-16T19:20:30+01:00",
        "duration": "P2M"
        },
    "status": "DRAFT",
    "webhooks": {
        "camt052": "https://credenA:credenB@app.server.com/listener"
    },
    "reports": [
        {
            "date_issue": "2016-07-16T19:20:30+01:00",
            "file": "https://api.drop-pay.io/bank/iso20022/v1/reports/ISO145123G6YY/RPT523623G6YY"
        }
    ],
}
PATCH Update an existent CAM 052 job

Update an existent CAMT 052 job

Example

⬆ Request
curl --request PATCH
--url https://api.drop-pay.io/bank/iso20022/v1/camt/052/ISO145123G6YY
--header 'Authorization: Bearer ac9185e9f2984867b11069fd2881ff1a'
--header 'Content-type: application/json'
URL Parameters
  • id: ISO145123G6YY - Unique ID of the job
{
     "status": "SCHEDULED"
}
Response 200
⬇ Response 200
{
    "id": "ISO145123G6YY",
    "description": "my wonderful unstoppable job",
    "version": "001.006",
    "date_creation": "2016-07-16T19:20:30+01:00",
    "iban": "IT00A1000010000393471122333",
    "time_range_report": {
        "begin": "2016-07-16T19:20:30+01:00",
        "end": "2016-07-16T19:20:30+01:00",
        "duration": "P2M"
        },
    "status": "SCHEDULED",
    "webhooks": {
        "camt052": "https://credenA:credenB@app.server.com/listener"
    },
    "reports": [
        {
            "date_issue": "2016-07-16T19:20:30+01:00",
            "file": "https://api.drop-pay.io/bank/iso20022/v1/reports/ISO145123G6YY/RPT523623G6YY"
        }
    ],
}
GET Read an existent CAM 052 CAM 052 job

Read an existent CAM 052 CAMT 052 job

Example

⬆ Request
curl --request GET
--url https://api.drop-pay.io/bank/iso20022/v1/camt/052/ISO145123G6YY
--header 'Authorization: Bearer ac9185e9f2984867b11069fd2881ff1a'
URL Parameters
  • id: ISO145123G6YY - Unique ID of the job
Response 200
⬇ Response 200
{
    "id": "ISO145123G6YY",
    "description": "my wonderful unstoppable job",
    "version": "001.006",
    "date_creation": "2016-07-16T19:20:30+01:00",
    "iban": "IT00A1000010000393471122333",
    "time_range_report": {
        "begin": "2016-07-16T19:20:30+01:00",
        "end": "2016-07-16T19:20:30+01:00",
        "duration": "P2M"
        },
    "status": "DRAFT",
    "webhooks": {
        "camt052": "https://credenA:credenB@app.server.com/listener"
    },
    "reports": [
        {
            "date_issue": "2016-07-16T19:20:30+01:00",
            "file": "https://api.drop-pay.io/bank/iso20022/v1/reports/ISO145123G6YY/RPT523623G6YY"
        }
    ],
}
DELETE Delete an existent CAM 052 CAM 052 job

Delete an existent CAM 052 CAMT 052 job

Delete method changes semanthic depending upon origin status, so :

  • if origin status is DRAFT or SCHEDULED delete moves order to DELETED
  • if origin status is RUNNING, delete moves order to CANCELLED
  • if origin status is DONE, delete returns a 409:103 HTTP Status Error

Example

⬆ Request
curl --request DELETE
--url https://api.drop-pay.io/bank/iso20022/v1/camt/052/ISO145123G6YY
--header 'Authorization: Bearer ac9185e9f2984867b11069fd2881ff1a'
URL Parameters
  • id: ISO145123G6YY - Unique ID of the job
Response 200
⬇ Response 200
{
    "id": "ISO145123G6YY",
    "description": "my wonderful unstoppable job",
    "version": "001.006",
    "date_creation": "2016-07-16T19:20:30+01:00",
    "iban": "IT00A1000010000393471122333",
    "time_range_report": {
        "begin": "2016-07-16T19:20:30+01:00",
        "end": "2016-07-16T19:20:30+01:00",
        "duration": "P2M"
        },
    "status": "CANCELLED",
    "webhooks": {
        "camt052": "https://credenA:credenB@app.server.com/listener"
    },
    "reports": [
        {
            "date_issue": "2016-07-16T19:20:30+01:00",
            "file": "https://api.drop-pay.io/bank/iso20022/v1/reports/ISO145123G6YY/RPT523623G6YY"
        }
    ],
}

Listing CAMT 052 jobs

GET Read an existent CAM 052 CAM 052 job

Read an existent CAM 052 CAMT 052 job

WARNING!! no item_offsets, total_items->number of reports, paging on number of jobs

Example

⬆ Request
curl --request GET
--url https://api.drop-pay.io/bank/iso20022/v1/camt/052s/{?iban,status,description,date_from,date_to,pg_num,pg_size}
--header 'Authorization: Bearer ac9185e9f2984867b11069fd2881ff1a'
URL Parameters
  • iban (string, optional) - whole CAMT052 history of a DropPay account
  • status (string, optional) - Comma Separated list of Values (CSV) with available status labels.
  • description (string, optional) - text search in job's description property
  • pg_size: 100 (number,optional)
  • pg_offset: 0 (number,optional)
Response 200
⬇ Response 200

`` json { "camt052s": [ { "id": "ISO145123G6YY", "descriptionmy wonderful unstoppable job": "", "version": "001.006", "date_creation2016-07-16T19:20:30+01:00`": "", "iban": "IT00A1000010000393471122333", "time_range_report": { "begin": "2016-07-16T19:20:30+01:00", "end": "2016-07-16T19:20:30+01:00" }, "status": "DRAFT", "webhooks": { "camt052": "https://credenA:credenB@app.server.com/listener" }, "reports": [ { "date_issue": "2016-07-16T19:20:30+01:00", "file": "https://api.drop-pay.io/bank/iso20022/v1/reports/ISO145123G6YY/393471122333-41208652835.xml" } ],

        }
    ],
    "paging_info": {
        "current_page": 0,
        "total_pages": 0,
        "page_size": 0,
        "total_items": 0
    }
}
```

Group Webhooks & Events

Webhooks & Events

Your Application can subscribe to the following webhooks

Webhooks

  • all: an URL you provide that is enabled to receive a POST with the updated Report json payload
  • camt052: an URL you provide that is enabled to receive a POST with the updated Report json payload

Add a webhook property as show below.

    "webhooks": {
        "camt052": "https://credenA:credenB@app.server.com/listener"
    },

Port 443 allowed only (HTTPS)

Please remember that only secure HTTPS on well-known port 443 webhooks are allowed DropPay doesn't validate webhooks URL, but you won't receive any notification event.

Events of useful status updates

Event fired when a new camt.052 report is delivered.

{
    "etime": "2017-06-30T12:00:00+01:00",
    "etype": "iso20022.camt052.issued",
    "edata": { A CAMT052 entity }
}

Event fired when a camt.052 job is complete.

{
    "etime": "2017-06-30T12:00:00+01:00",
    "etype": "iso20022.camt052.done",
    "edata": { A CAMT052 entity }
}

Webhook Event
camt052, all iso20022.camt052.issued
camt052, all iso20022.camt052.done