Skip to main content

Bank slip issuance via JSON

Request

ENDPOINT
/multibank_instruction
METHOD
POST
Request Body
{
"occurrences": [
{
"amount": 1000,
"automatic_bankruptcy_protest": false,
"bank_teller_instructions": "Não pagar após vencimento.",
"beneficiary_account_key": "8a35e639-8420-4f6c-9647-c2515e5381ef",
"beneficiary_key": "3c866e34-23fe-46c2-a8b0-e39ca4348923",
"days_to_bankruptcy_protest": 0,
"document_number": "123456/01",
"expiration": "2020-06-01",
"fine_percentage": "3",
"interest_daily_value": "0.34",
"occurrence_type": "registration",
"payer_address": "Rua Carlos Sampaio, 123",
"payer_document": "41184562067",
"payer_name": "João Ninguem",
"payer_person_type": "natural",
"payer_postal_code_root": "15800",
"payer_postal_code_suffix": "020",
"printing_policy": "no_printing",
"registration_institution_enumerator": "qi_scd",
"requester_profile": "09",
"requester_profile_code": "329-09-0001-0000002"
}
]
}
Warning!

If the payer's address information for the bank slip is not provided, it will not be possible to protest the bank slip in case of non-payment.

Query params

FieldTypeDescriptionCharacters
use_multi_processbooleanIndicates whether the registration occurrence processing will be sent to queue processing or will be processed sequentially. If this parameter is set to true, it is mandatory to send our banking number our_number in the registration occurrence payload.-

Body params

FieldTypeDescriptionCharacters
occurrences *array of objectsList of occurrences to be processed.Occurrences object

Occurrences object

FieldTypeDescriptionCharacters
amount *doubleBank slip amount.-
automatic_bankruptcy_protestbooleanAutomatic protest configuration.-
bank_teller_instructionsstringTeller instructions (Bank slip message/observations).-
beneficiary_account_keystringBeneficiary account key.-
beneficiary_keystringBeneficiary key.-
days_to_bankruptcy_protestintNumber of days for automatic bankruptcy protest submission.-
document_numberstringDocument number.-
expiration *stringDue date.-
fine_percentagestringFine percentage-
interest_daily_valuestringDaily interest value in reais-
occurrence_type *stringOccurrence type.-
payer_addressstringPayer address.-
payer_document *stringPayer document (CPF or CNPJ).-
payer_name *stringPayer name.-
payer_person_type *stringPayer person type.-
payer_postal_code_rootstringThe first five digits of the postal code.-
payer_postal_code_suffixstringThe last three digits of the postal code.-
printing_policystringBank slip printing policy-
registration_institution_enumerator *stringWill always be qi_scd.qi_scd
requester_profile *stringPortfolio number.02
requester_profile_code *stringPortfolio code composed as follows: "329-portfolio-agency-account_with_7_digits". NOTE: QI Tech's default collection portfolio is number "09".-
notificationobjectPortfolio number.Notification object
discountsobjectList of objects with discount information.Discounts object
guarantor_namestringGuarantor name.-
guarantor_document_rootstringGuarantor CNPJ base.-
guarantor_document_subsidiarystringHead office or branch CNPJ information.-
guarantor_document_digitstringCNPJ check digit.-

Notification object

FieldTypeDescriptionCharacters
document_number *stringDocument number of the user who will receive the notification.-
email *stringEmail of the user who will receive the notification.-
name *stringName of the user who will receive the notification.-
phone *objectObject containing phone information of the user who will receive the notification.Phone object
send_2_way *booleanSend second copy issuance notifications.true/false
send_after_due_date *booleanSend notifications after bank slip due date.true/false
send_before_due_date *booleanSend notifications before bank slip due date.true/false
send_on_protest *booleanSend protest notifications.true/false

Phone object

FieldTypeDescriptionCharacters
country_codestringPhone country code (https://ddi.guiamais.com.br/)3
area_codestringPhone area code (https://ddd.guiamais.com.br/)2
numberstringPhone number (numbers only)10

Discounts object

FieldTypeDescriptionCharacters
discount_valuefloatDiscount value.-
discount_numberintOrder in which the discount should be applied.-
discount_limit_datedateDiscount application limit date.10

Response

STATUS
200
Response Body
{
"bank_slips": [
{
"amount": "649.73",
"bank_slip_key": "4bc636d0-1e41-4ce6-801c-475814bf4dcf",
"bank_slip_status": "accepted",
"barcode": "32991916500000649730001090000699935200347340",
"beneficiary_account_key": "1c977186-9167-4ef1-b27d-08483429f74c",
"beneficiary_key": "f01d4877-b1cc-4f4a-a8f9-952c2cef9ca8",
"digitable_line": "32990001039000069993552003473403191650000064973",
"expiration": "2022-11-10",
"nfe_key": null,
"nfe_url": null,
"our_number": 6999352,
"participant_control_number": null,
"payer_postal_code": "38050000",
"protest_status": "not_protested"
}
],
"file_info": {
"beneficiary_code": null,
"beneficiary_name": null,
"file_sequence_id": null,
"file_type_identifier": null,
"file_type_literal": null,
"service_code": null,
"service_literal": null,
"wrote_at": null
},
"occurrence_stats": {
"bank_slip_edit": 0,
"bankruptcy_protest_request": 0,
"cancel_rebate": 0,
"extension": 0,
"notary_office_entry": 0,
"notary_office_exit": 0,
"notary_office_payment": 0,
"notification": 0,
"payment": 0,
"payment_notice": 0,
"payment_write_off": 0,
"protest_cancel_and_write_off_request": 0,
"protest_cancel_request": 0,
"protest_remove_request": 0,
"protest_request": 0,
"rebate": 0,
"registration": 1,
"write_off": 0
},
"semantic_errors": []
}

STATUS
400
Response Body
{
"data": "{\"title\": \"Bad Request\", \"description\": \"Invalid request body.\", \"translation\": \"Corpo da requisição inválido.\", \"extra_fields\": {}, \"code\": \"LEG000069\"}",
"title": "Bad Request",
"description": "Invalid request body.",
"translation": "Corpo da requisição inválido.",
"extra_fields": {},
"code": "LEG000069"
}

Response Params

FieldTypeDescriptionCharacters
bank_slipslistList with information of registered bank slips when the use_multi_process parameter is set to false.Bank Slip Object
file_infolistFile information.File Info Object
occurrence_statsobjectFile information.File Info Object
semantic_errorslistList of errors in processing each bank slip. Will be returned if there are any processing errors and when the use_multi_process parameter is set to false.Semantic Error Object

bank_slip object

FieldTypeDescriptionCharacters
amountfloatBank slip amount.-
bank_slip_keyuuidUnique identification key for the bank slip at QI Tech.36
bank_slip_statusenumUnique identification key for the bank slip at QI Tech.bank_slip_status enumerators
barcodestringBank slip barcode.44
beneficiary_account_keyuuidUnique identification key for the account where the bank slip was registered.36
beneficiary_keyuuidUnique identification key for the account holder where the bank slip was registered.36
digitable_lineuuidBank slip digitable line.47
expirationstringBank slip due date.10
nfe_keystringElectronic invoice unique identification key.-
nfe_urlstringElectronic invoice URL.-
our_numberintOur banking number. It is a sequential identification number for this bank slip in relation to the account (collection portfolio) where it was registered. Its value can be provided in the bank slip registration request. If not provided, QI Tech will generate a value for this field (being an incremental value, e.g.: 1st bank slip registered in the account will have our_number value of 1, the 16th bank slip registered in the account will have our_number value of 16).-
participant_control_numberstringParticipant control number.10
payer_postal_codestringBank slip payer postal code.8
protest_statusstringBank slip protest status, if protest was requested.protest_status enumerators

bank_slip_status enumerators

EnumeratorDescription
acceptedBank slip accepted for processing
registeredBank slip registration was completed in the bank slip registration chamber
paidBank slip payment amount was credited to the beneficiary's account
written_offBank slip written off (bank slip is no longer payable)
rejectedBank slip registration rejected by the bank slip registration chamber
payment_noticeNotice that bank slip payment was processed at the paying bank (but settlement to the beneficiary's account has not yet occurred)
notary_office_payment_noticeNotice that payment of a protested bank slip was processed at the paying bank (but the notary office has not yet transferred the payment and settlement to the beneficiary's account has not yet occurred)

protest_status enumerators

EnumeratorDescription
not_protestedBank slip has no protest request.
protest_requestedBank slip with protest request being processed by QI Tech.
notary_office_entryBank slip protest request was accepted by the notary office.
protest_cancel_requestedProtest cancellation request being processed by QI Tech.
notary_office_exitBank slip protest was removed from the notary office.
protestedProtest was confirmed by the notary office and the bank slip is protested.
paid_at_notary_officeNotary office identified the protest payment and is processing the payment transfer to QI Tech.
judicially_suspendedJudicially suspended protest.
protest_remove_requestedProtest removal request was accepted by the notary office.