API Integration Services and API Development

API integrations allow two systems to exchange data without a person in between. They appear on websites, in Windows programs and in Office add-ins alike — but the work and risk are the same everywhere: half of the code depends on somebody else’s system that you do not control and that changes without notice. That is why API integration services stand apart here, with their own analysis and price: connecting to third-party services, data synchronization and ERP integration, and API development when others need to reach your system.

The other side

Half of the job is out of your hands

Code that I write, I can fix in an hour. The service on the other side has its own rules, its own quotas and its own outages, and there you wait. Everything that follows on this page is written because of that one sentence.

Everywhere

It runs through everything else I do

The same integration gets built into a website, a Windows program or an Office add-in. Only the screen around it changes; the weight of the work stays the same.

Evidence

You can see what was sent

Every integration gets a log: what was sent, what came back and when. Without it, every disagreement is argued without evidence; with it, you can see whose side the error is on in a minute.

What I do

Six kinds of work. The first three are the most common and the most represented in the portfolio.

Connecting to a third-party service

Your software calls somebody else's: card payments, an accounting service, a courier, a supplier's price list, SMS or email. The call gets written, along with the handling of the response, the behaviour when no response arrives, and a log that stays available for checking.

Two-way synchronization

Two systems hold the same data and both of them change it — a website and an ERP, a shop and a warehouse, a CRM and accounting. Most of the work here hides in the question of whose change is newer and what happens when both sides edited the same record.

Repairing an integration that stopped

It worked for years, then the other side retired an old version, changed how sign-in works or introduced a call limit. I go into the existing code, find what changed and bring the connection back, no matter who wrote it.

Your own API

When somebody else's software needs to take data from you — a partner, an app, a website or a client's system — your own API gets built: access keys, permissions, a call limit and documentation a third-party developer can work from without phoning you.

Payments and electronic invoices

Card payments, refunds and subscriptions, as well as filing to an electronic invoicing system. This is a special case, because an error costs money rather than time, so it is built with retries that cannot charge the same amount twice.

Data transfer and import

A one-off move from an old system into a new one, or a regular import of price lists and stock levels from a supplier. When the work is mainly in the database itself — schema, indexes, cleaning — that is database work.


Why this is a job of its own, not part of the build

When I build a screen, a database or a report, I know every participant and can fix all of them. With an integration that is not true, and that is why it is estimated, tested and charged differently. These six things turn up in almost every such job:

  • The documentation does not match reality. A field that always exists according to the manual sometimes arrives empty, and the example from the documentation returns an error. The first part of the job is establishing how the service actually behaves, not how it is described.
  • Sign-in and keys. A password, a token that expires, an OAuth window somebody has to click through, a certificate with an end date. Each of those is renewed differently and each can bring the connection down at three in the morning.
  • Call limits. Services count calls and either charge for them or refuse them. That is why a queue is built and what has already been fetched is remembered, instead of pulling everything every time.
  • The other side changes without notice. A version is retired, a field is renamed, the terms get stricter. The integration is written so that this becomes visible immediately and in one place, rather than three months later through a customer complaint.
  • Errors that come and go. The service is down for two minutes. The job must neither stop nor run twice — hence retries and the rule that the same order cannot be submitted twice.
  • The sandbox is not production. A test service often accepts what the real one rejects. Part of the work can therefore only be closed on your real data and your real accounts.

For all of those reasons an integration carries its own price on the other pages too — with Office add-ins, for instance, local work is separated from work with a connection to a third-party service. Here that part of the job is described in one place instead of five. Artificial intelligence integration is a special case of the same story: it is also a connection to somebody else's service, except that there the answer to the same question need not be the same twice, so it has its own page and its own analysis.


Delivered

Integrations run through the whole portfolio, because they appear in every kind of software I build: from accounting exchange and Stripe payments to pulling data from suppliers and jobs that run on their own, with nobody at the screen.

Two finished products grew out of exactly this kind of work: the SEF e-invoice add-in for Excel and the Word-GPT VSTO add-in.


How the work goes

  • You say which two systems need connecting and what ought to happen — for example, "when a customer pays on the website, the invoice should land in accounting".
  • Analysis of the other API. I read the documentation, make test calls with your account and establish what is possible at all. This is the one part that cannot be skipped, because without it neither the price nor the existence of a solution is known.
  • An offer for the agreed scope. After the analysis you get a fixed price and a list of the cases that are covered, including what happens when the other side does not answer.
  • Work on sandbox accounts wherever the third-party service offers them, then verification on your data before it goes live.
  • Handover. You get the code, keys in your own name, the call log and a short note on what to do when the other side changes the rules.

Pricing

The same arrangement as the other services: analysis first, then a piece of work with a known entry price, and small changes by the hour.

First step

Third-party API analysis

Reviewing the documentation and making test calls with your account to determine what is possible and how much it will cost.

Price 29.900 RSD ($285.54)

The analysis is paid for and ordered first, and it is deducted from the price of the work if we continue. If it turns out that the third-party service does not allow what you need, you find that out after the analysis rather than after paid development.

Scopes of work

API integrations

Repair of an integration that stopped

The other side shut down an old version, changed the sign-in or introduced a limit; I get the connection working again, no matter who wrote it.

  • A review of the existing code and logs, including reproducing the failure with a specific example.
  • Identification of whether the cause is a new API version, changed sign-in, data format or call limit.
  • Adaptation of the existing calls and response handling within the workflow that previously worked.
  • Clear error logs and retries that do not perform the same operation twice.
  • Verification of the repaired connection with your account and real example before it is returned to service.
Starting price44.900 RSD($428.78)
Order the analysis

Connecting to another service

Your software calls somebody else's: card payments, accounting, a courier service, a supplier price list, SMS or e-mail.

  • Connection of your existing software to one agreed service through your account and keys.
  • Sending and retrieving the agreed data or performing the agreed action through the API.
  • Mapping of fields, identifiers and statuses between the two systems.
  • Handling of responses, errors and outages, with retries that do not duplicate work.
  • A call log and verification of the connection in a test environment and then with the live account.
Starting price59.900 RSD($572.03)
Order the analysis

Data transfer and import

A one-off or repeatable pull of data from another system into yours, with a check of what actually came across.

  • An inventory and mapping of the agreed fields from the source to the destination system.
  • A script or process for a one-off transfer or regular import according to the agreed schedule.
  • Format validation and the agreed value conversions before data is written to the destination.
  • Batch processing that can continue after an interruption without importing completed records again.
  • A report of transferred, skipped and invalid records, with a list of errors for review.
Starting price59.900 RSD($572.03)
Order the analysis

An API of your own

For when somebody else's software has to take data from you: keys, permissions, a call rate limit and instructions for their developer.

  • API endpoints for reading or writing the precisely agreed data and performing the agreed actions.
  • Access keys, permissions by user or system, and call limits.
  • Input validation, clear statuses and responses that describe each error.
  • Documentation of endpoints and fields, with request examples for the third-party developer.
  • A call log and verification with the system that will use the API.
Starting price89.900 RSD($858.52)
Order the analysis

Payments and e-invoices

A connection to a payment service or to an electronic invoicing system, with a record of every document sent.

  • Connection to one agreed payment or electronic invoicing service through your account.
  • The agreed operations on payments, refunds, subscriptions or electronic documents.
  • Mapping of amounts, customers, documents, identifiers and statuses between the systems.
  • Handling of confirmations and rejections, with retries that cannot charge or submit the same document twice.
  • A record of every exchange and verification with a test account and then the live account.
Starting price89.900 RSD($858.52)
Order the analysis

Two-way synchronisation

Two systems hold the same data and both of them change it: a website and an ERP, a shop and a warehouse, a CRM and accounting.

  • Mapping of the agreed fields, identifiers and statuses shared by both systems.
  • Rules defining which system is the source of truth and what happens when both sides change the same record.
  • Transfer of new and changed data in both directions according to the agreed schedule or event.
  • A queue and retries that respect service limits and do not create duplicates.
  • A record of the last synchronization, errors and records that require manual review.
Starting price119.900 RSD($1,145.01)
Order the analysis

Smaller changes to an integration that already works do not have to go through a scope of work: for those there is hourly work, where you pay for the time spent. The complete price list is on the pricing page.

What I commit to:

  • I reply the same working day, the next one at the latest.
  • You learn the price before, not after. A fixed price and deadline come after the analysis, and anything outside the agreement is announced before I do it.
  • The connection does not go live before it is checked on real data, including the case where the other side returns an error.
  • What was sent and what came back is logged, so it is clear later where a record stopped.
  • Keys and access are in your name and stay yours. The source code is delivered with the work.
  • Faults are fixed at no charge for 30 days after delivery. A fault is something not working as agreed; a change is wanting something other than what was agreed.

I write this so that you understand the price before ordering, not afterwards. Everything on the list is work I can do, but it is agreed and charged separately.

Not included in the price:

I write this so you understand the price before ordering, not after. Everything on the list is something I can do, but it is agreed and charged separately.

  • Subscriptions and fees of the other service. The account, the plan and any per-transaction fees at the service you connect to are paid by you, from your own account.
  • Whatever the other side does not allow. If their API has no function you need, or it sits behind a more expensive plan, programming cannot solve that.
  • Changes on the other system. I work on your side of the connection. Changes at a partner, a bank or a supplier are arranged by you with them.
  • Cleaning up data that is not ready. If the code lists share no common key, or the same article is named differently in two systems, sorting that out is a separate job.
  • Legal and tax assessment. Technically I can meet what the rules require, but the assessment comes from an accountant or a lawyer.
  • The other service staying available. If they change the API, raise the price or shut the service down, adapting to it is new work.

Before we start, prepare:

  • Access to both systems — a test account or a copy, with documentation if any exists.
  • Keys and permissions at the other service, issued in your name.
  • One contact person who knows how the job is done today and what makes a record correct.
  • A few real data samples, including the ones that went wrong.
  • A decision on what happens when the other side does not answer — wait, retry or report.

Ownership and exit

  • Accounts and keys are in your name. You open the access to the third-party service, so the connection keeps working even if we never speak again.
  • The source code is yours, together with a description of every call that is used.
  • The log stays with you. Records of what was sent and received are kept on your server, not with me.
  • No middleman. Your software calls the third-party service directly; I do not introduce a server of mine that your data would have to pass through.

Frequently asked questions

Because that is where most of the uncertainty sits. Whether the third-party service gives the data you need at all, under what conditions and with what limit, is established through test calls rather than through reading. The amount is deducted from the price of the work if we continue, and if we do not, you keep a written statement of what is possible and can take it to any developer.

It happens, and it is not a fault in what was delivered. The integration is written so that such a change becomes visible immediately, in one place and with a clear message in the log. The adjustment itself is charged as a new change, usually by the hour, because it depends on what the other side altered.

Sometimes there is, through file export and import, email or a shared database. That is slower and more fragile than a real API, and I will tell you so, with an estimate of how long such a solution lasts before it starts to hurt. When even that is impossible, it is better not to start.

You do, and the account is in your name. Many services charge per call or per month, so the analysis includes an estimate of that cost — it can exceed the development itself if data is pulled more often than necessary.

You can, and that is usually how it goes. But it is kept as a separate item with its own price, because it carries a risk the rest of the work does not. That way you also see exactly what the connection to somebody else's system costs you, instead of it being hidden inside a lump sum.

Every integration gets a call log and, when we agree on it, an email notification when something gets stuck. A silent failure is the worst case: data stops arriving and nobody notices until a shortfall shows up in a report.

Which two systems need to talk to each other?

Write down which systems those are and what ought to happen. If the connection is possible, I will tell you how it is done and roughly what it costs; if it is not, I will tell you that too, before you pay for anything.

Send an enquiry

I usually reply the same day.

API integration and connecting business systems