Posts

Retry Logic for HttpClient in Business Central AL: Handling 429 and 503 Errors

When you call an external API from Business Central using HttpClient , the happy path is easy. The hard part starts when the API returns 429 Too Many Requests or 503 Service Unavailable . A single failed call can break a posting routine, leave a sales order half-synced, or throw a raw error at the user. This post shows a clean, production-ready retry pattern in AL with exponential backoff. Why You Need Retry Logic Most modern APIs (payment gateways, WhatsApp Cloud API, shipping providers, Azure services) enforce rate limits. When you exceed them, the server responds with HTTP 429 and often a Retry-After header. Transient failures like 503 and 504 are also common under load. Without retry logic, your integration is only as reliable as the busiest second on the remote server. The Core Pattern The idea is simple: wrap the send call in a loop, catch retryable status codes, wait a growing interval between attempts, and give up after a maximum number of tries. codeunit 50120 ...

Writing Your First Business Central API from Scratch (AL Tutorial)

Sooner or later every Business Central developer needs to expose data to the outside world — a website, a Power Automate flow, a mobile app, or another system. The modern way to do this is with a custom API page in AL. Unlike the older "publish as web service" approach, an API page gives you a clean, versioned, high-performance REST endpoint that follows Microsoft's OData v4 conventions. Note: If want to Check Standard API then visit Standard API List   In this tutorial we will build a simple Customer Rating API from scratch, publish it, and call it. You only need VS Code with the AL extension and a Business Central sandbox. Step 1: The table we will expose We will use a small custom table so the example is self-contained. table 50100 "Customer Rating" { DataClassification = CustomerContent; fields { field(1; "No."; Code[20]) { } field(2; "Customer No."; Code[20]) { TableRelation = Cus...