inter-API DBS Services

Introduction

These are the services that enable us to obtain the latest status of invoice transactions, add / delete / update records, and limit information of company customers.

Methods:

  • GetDbsLimitInfoList

  • InsertDbsInvoice

  • GetDbsInvoiceResultsList

How to Get Started

Step 1 - Sign Up & Register: To start building with our APIs, you'll need to sign up for account. Read our documentation on how to use the Inter-API services and secure your connection with the right electronic certificate

Step 2 - Get Subscription Key: To get your Subscription Key, you'll first need to Subscribe for a package on Products page.

Step 3 - Activate: Get your subscription key under profile menu. You can also add your applications here.

Step 4 - Test API Methods: Include your access token and the information needed for that API. From there, use the response for your application and you’re all set. Now you can start building applications with our API.

Step 5 - For Production: You 're now up and running on inter-API Portal. Submit for production When you’re finished testing, you may want to submit your app for production. If it seems like we’d be a good fit, we’ll look into it and do some testing together. Then, we’ll talk about next steps to move to production.

GetDbsLimitInfoList

Limit Information of the main company customers is received.

Picture

Request

{
    "Header": {
        "AppKey": "***",
        "Channel": "API",
        "ChannelSessionId": "331eb5f529c74df2b800926b5f34b874",
        "ChannelRequestId": "5252012362481156055"
    },
    "Parameters": [
        {
            "AssociationCode": "SOLEN",
            "SubscriberNumber": "0222",
            "InvoicesIncluded": "012017",
            "CustomerNo": 955807
        }
    ]
}

Response

{
    "$type": "ServiceResponseMessage",
    "Data": {
        "$type": "DBSLimitInfoQueryMessage",
        "DBSLimitResult": [
            {
                "$type": "DBSLimitInfo",
                "ResultCode": "300",
                "ResultMessage": "Bayi limit bilgileri listelenmiştir",
                "AssociationCode": null,
                "SubscriberNumber": null,
                "DdaLimit": null,
                "DdaRisk": null,
                "AvailableLimit": null,
                "FutureInvoiceAmount": null,
                "AccountBranchCode": null,
                "AccountNumber": null,
                "AccountSuffix": null,
                "SubscriberName": null,
                "AccountBalance": null,
                "BlockageAmount": null,
                "AvailableBalance": null
            }
        ]
    }
}

Result Information

Picture

Limit Query Service Transaction Result Messages:

000: Dealer limit information is listed.
301: The dealer code to list the limit information or the defined dealer limit was not found.
304: Company code is not defined in the bank.

InsertDbsInvoice

Creating future records to be collected according to the information received.

Request

{
    "Header": {
        "AppKey": "***",
        "Channel": "API",
        "ChannelSessionId": "test",
        "ChannelRequestId": "e0e87b1c-917f-432b-b428-ca71abc91205"
    },
    "Parameters": [
        {
            "AssociationCode": "SOLEN",
            "SubscriberNumber": "0222",
            "InvoiceNumber": "888888888849635547",
            "InvoiceCurrencyCode": "TRY",
            "PaymentCurrencyCode": "TRY",
            "InvoiceDate": "2020-11-02T00:00:00",
            "InvoiceAmount": 900,
            "LastPaymentDate": "2020-11-02T00:00:00",
            "DelayedLastPaymentDate": "2020-11-02T00:00:00",
            "ParametricCode": "V",
            "Explanation": "deneme",
            "LastPaymentDate": "2020-11-02T00:00:00",
            "DelayedLastPaymentDate": "2020-11-02T00:00:00",
            "ParametricCode": "V",
            "Explanation": "deneme",
            "OperationType": "I",
            "MaturityType": "V",
            "DebitCreditType": "B",
            "SubscriberName": "NAME",
            "SubscriberSurname": "SURNAME",
            "PeriodCode": "202005",
            "InvoiceIncludedBlockage": "E",
            "CustomerNo": 955807
        }
    ]
}

Response

{
    "$type": "ServiceResponseMessage",
    "Data": {
        "$type": "DBSInvoiceTransactionMessage",
        "ErrorCode": "000",
        "ErrorMessage": "İşlem Başarılı Olarak Tamamlandı",
        "RefBranchCode": 0,
        "RefNumber": 0,       
        "RefDate": "0001-01-01T00:00:00",
        "TranId": null,
        "Explanation": null,
        "State": 2
    }
}

Result Information

Picture

Billing Service Transaction Result Messages:

000: Transaction completed successfully

101: The account balance of the dealer is not suitable for cash payment.

102: The dealer does not have a valid payment order

103: Company collection channel definition not found for the sent currency code.

104: Invoice debit-credit type not selected

105: Invoice transaction type not selected (New Invoice, Update, Cancellation)

106: Unpaid forward invoice record with the in-kind invoice number

107: Company code is not defined in the bank.

108: There is a previously paid term invoice record with the same invoice number.

109: Prepaid invoice record with the same invoice number.

110: The invoice number you sent has already been canceled in the system, it must be sent with the invoice update code.

111: The dealer ID field can have a maximum length of 40 characters.

112: The invoice number field can have a maximum length of 40 characters.

113: The invoice number field cannot be empty.

114: Dealer ID field cannot be empty.

115: Reseller account undefined or closed

116: The defined KMH of the dealer was not found

117: An error occurred while blocking the dealer account.

118: An error occurred while creating a term invoice record.

119: An error occurred during the advance invoice payment.

120: In term invoices, the due date must be later than today.

121: In advance invoices, the invoice term should be today.

122: The delayed due date of the invoice cannot be less than the due date of the invoice.

123: Invoice maturity type was not selected (Cash-Term)

125: The invoice information could not be verified during the advance invoice payment.

126: Invoice amount must be greater than 0

127: Advance invoices cannot be processed with the update and deletion codes.

128: The invoice record to update-delete was not found.

129: Invoice amount exceeds the reseller limit, available limit amount (TRY):

130: Advance Bill Payment Partially Completed

131: No dealer limit definition

132: Could not find the account definition for the dealer in FX currency.

133: An error occurred while receiving the dealer's YP payment account.

134: Invoice currency type is not valid

135: Payment currency is not valid

999: Unexpected Error


GetDbsInvoiceResultsList

The fate of the Invoices in the entered date range is returned.

Request

{
    "Header": {
        "AppKey": "***",
        "Channel": "API",
        "ChannelSessionId": "331eb5f529c74df2b800926b5f34b874",
        "ChannelRequestId": "5252012362481156055"
    },
    "Parameters": [
        {
            "AssociationCode": "SOLEN",
            "QueryDate": "2020-11-01",
            "EndDate": "2020-11-03",
            "CustomerNo": 955807
        }
    ]
}

Response

{
    "$type": "ServiceResponseMessage",
    "Data": {
        "$type": "DBSInvoiceResultQueryMessage",
        "DBSInvoiceResult": [
            {
                "$type": "DBSInvoiceInfo",
                "ResultCode": "000",
                "ResultMessage": "Kayıtlar listelenmiştir",
                "InvoiceNumber": null,
                "SubscriberNumber": null,
                "InvoiceDate": null,
                "InvoiceAmount": null,
                "InvoiceCurrencyCode": null,
                "PaymentDate": null,
                "PaymentAmount": null,
                "PaymentCurrencyCode": null,
                "StatusCode": null,
                "SubscriberName": null
            }
        ]
    }
}
Picture

Invoice Outcome Service Transaction Result Messages:

000: Records are listed as successful

201: No records found to be listed in the entered date ranges

202: In inquiry dates, the end date cannot be greater than the start date

203: Maximum date range for listing exceeded, maximum date range: {X} days

204: Firm code is not defined in the bank.

DBS Services Frequently Asked Questions:

1-      What is the difference between "DelayedLastPaymentDate" and "LastPaymentDate" in InsertDbsInvoice method, would it be appropriate if we send the same?

You must send same.

2-      Is the "PeriodCode" field static in InsertDbsInvoice method? If not, how can we provide this information?

PeriodCode Ex: Billing Date should send like 2020-08-15 202008

3-      What exactly does "InvoiceIncludedBlockage" mean in InsertDbsInvoice method?

There is an additional control in invoice uploads related to institution definitions and can be sent blank.

4-      Can you pass the list of "RecordStatus" values returned from GetDbsInvoiceResultsList method with explanations?

A:Active I: Passive

5-       How can I do the cancellation and update operations with the InsertDbsInvoice method?

For invoice posting Insert (I) for cancellation (D) for cancellation Update (U) commands must be sent.

6-      Even though I have uploaded invoices, there is no change in the customer's limit, will the limit change be at the end of the day, how will the customer see the available limit after the invoices uploaded during the day?

After the invoice upload process, the invoices have reflected the limit.

7-      How do we understand whether the transaction is successful or not when the invoice upload service is called (Does the Confirmation Token show that the transaction was successful, or can we base the error fields to be null?)

You can count as successful states where State: 2 and ErrorCode: "000" are returned.

8-      Can you send us the explanations of "ParametricCode", "OperationType", "MaturityType", "DebitCreditType" values ​​in the invoice upload service?

ParametricCode => Directly proportional to channel payments of invoices. We can pass empty.

OperationType => saving update deletion operations are done

MaturityType = invoice maturity status

DebitCreditType => Card Type. We usually use a debit card

9-      When I want to view the last invoices I have uploaded, the "GetDbsInvoiceResultsList" service gives a response saying "No records found to be listed". I do the query according to the "Invoice Date" field. Is this method correct? I am sending sample requests and responses below.

Can you query with the date in the "LastPaymentDate" parameter that you use while uploading the invoice? Records are listed as in the date in this parameter.

Postman Collection: https://www.getpostman.com/collections/9ad9e27dd73f2a0655f2