TPF Pro ebay API access

Viewing 2 reply threads
  • Author
    Posts
  • April 4, 2026 at 1:33 PM #53892

    Mark Moran
    Participant

    I’ve attempted to write an ebay posting interface to my Tap Forms Pro DB for posting items for sale off and on. I know just enough javascript to get myself in trouble. AI is sometimes a hinderence rather than a help. But it’s telling me the following. It’s recommending running a local js file because tap forms can’t access the ebay api directly?? Is it correct?

    My question to claude:
    can the tap forms pro script just access the ebay api directly?

    No — the blocker is that eBay’s API requires an Authorization: Bearer <token> header on every request, and Tap Forms Pro’s HTTP methods can only set Content-Type. There’s no way to pass custom headers:

    // These are ALL the HTTP calls Tap Forms can make:
    Utils.getJsonFromUrl(url)
    Utils.getTextFromUrl(url)
    Utils.postJsonToUrl(json, url)
    Utils.postContentToUrlWithContentType(content, url, contentType) // ← only Content-Type, nothing else

    eBay also requires the OAuth token refresh call to use Authorization: Basic base64(clientId:clientSecret) — also a custom header.

    The local server exists purely to add those headers. It’s a thin shim:

    Tap Forms → POST http://localhost:3721/post-to-ebay (no auth needed, local only)
    server.js → POST https://api.ebay.com/&#8230; (adds Authorization: Bearer <token>)

    If Tap Forms ever adds a Utils.postWithHeaders(url, headers, body) method, you could go direct. Until then, the proxy is the only path.

    April 4, 2026 at 6:01 PM #53895

    Daniel Leu
    Participant

    There’s Utils.makeHTTPRequest(), but there’s Utils.postContentToUrlWithHeaders() as well.

    • This reply was modified 11 hours, 1 minute ago by Daniel Leu.

    Cheers, Daniel

    ---
    See https://lab.danielleu.com/tapformspro/ for scripts and tips&tricks

    April 5, 2026 at 3:44 AM #53899

    Mark Moran
    Participant

    There’s Utils.makeHTTPRequest(), but there’s Utils.postContentToUrlWithHeaders() as well.

    Here’s API’s reponse:

    Right, that function exists — but it only controls the Content-Type header. The third parameter is locked to content type only. You still can’t pass an Authorization: Bearer <token> header, which eBay requires on every single API call.

    Here’s the gap:

    // What Tap Forms lets you do:
    Utils.postContentToUrlWithContentType(body, url, ‘application/json’);
    // ↑ sends: Content-Type: application/json ✅
    // ✗ cannot: Authorization: Bearer abc123 ❌ ← eBay blocks without this

    // What eBay needs on every request:
    // POST https://api.ebay.com/sell/inventory/v1/inventory_item/SKU123
    // Authorization: Bearer <token> ← no way to set this in Tap Forms
    // Content-Type: application/json

    And even before that, getting the OAuth token in the first place requires:

    // Token refresh call needs:
    // Authorization: Basic base64(clientId:clientSecret) ← also a custom header

    If the Tap Forms API accepted an optional headers dictionary like this, it would work:

    // Hypothetical — does NOT exist in Tap Forms
    Utils.postContentToUrlWithContentType(body, url, ‘application/json’, {
    ‘Authorization’: ‘Bearer ‘ + token
    });

Viewing 2 reply threads

You must be logged in to reply to this topic.