Skip to content

Testing without surprises

There is no separate test environment: the API you use to test is the same one your production uses. Here you see what you can call without spending anything, what is charged for real and how to test carefully.

4 min readReviewed on

There is no separate environment

Everything is real

With a valid key, every request acts on your organization’s real data and balance. There is no test mode with fake data or test money: what is charged, is charged.

There is a single address, https://developers.hablame.co/api/v6, both for testing and for production. What you can do is separate your tests with a key of their own (with its own cost center, to see its usage separately) and with the minimum permissions.

What you can call without spending

These queries are not charged and change nothing. They still count toward your usage limit, like any request.

With one minor exception: asking for a download link is not charged, but it leaves a note in your organization’s audit log that you asked for it.

What is charged for real

The current price of each product is queried at its price endpoint (URL Shortener, Storage); this documentation does not publish figures so they never go out of date. If there is no balance, the operation is rejected before it is carried out (402) and nothing is charged.

How to test carefully

  1. 01
    Start with the ping

    Confirm that the key, the header and the network work before touching an endpoint that is charged.

  2. 02
    Do not give the URL shortener to a key that must not create links

    The urlshortener service is granted in full: with it, a key can also create links, which are charged. While you test other things, use a key without that service, and a bug in your code will not be able to spend balance that way.

  3. 03
    Test writing with little data

    Create one link, not a hundred. Review the full response and go to GET /urlshortener/links to check it ended up as you expected.

  4. 04
    Always send an Idempotency-Key when creating

    If your test is cut off and you retry, a second link is neither created nor charged. How it works.

  5. 05
    Put a cap on your tests

    Your organization can set a spending limit in Cloud: once it is reached, the operations that are charged are rejected without being carried out (URLSHORTENER_SPEND_LIMIT_REACHED).

  6. 06
    Log the requestId

    If something does not go as you expected, that number lets us find your exact request.

The reference tester sends requests to the real API with your key, and when an operation is charged, creates or deletes, it asks you to confirm before sending it. Even so, it is the same API: treat it as a production call.

For SMS sending over SMPP, the Hablame team creates the account: request access and agree with support on your first tests.

For technical questions, email developers@hablame.co. If you have a production incident, message us on WhatsApp at +57 319 660 0002, 24/7.

Need help?

Was this page helpful?

See all support channels