Ontwikkelaars

GET/v3/getnumbers/{prefix_id}/{quantity}

Beschikbare telefoonnummers zoeken

Doorzoek één prefix in de catalogus, bekijk de mogelijkheden van nummers en de accountspecifieke tariefplannen en kies vervolgens een nummer om afzonderlijk te bestellen. Een zoekopdracht reserveert of koopt geen nummer.

Op deze pagina
  1. Kies een afzonderlijk prefix
  2. Bekijk een begrensde reeks resultaten
  3. Zoek een gemakkelijk te onthouden cijferpatroon
  4. Controleer het geselecteerde nummer
  5. Bestel afzonderlijk en bevestig het resultaat
  6. Verzoek
  7. Antwoord
  8. Fouten
  9. Beschikbaarheid en neveneffecten

Kies een afzonderlijk prefix

Gebruik de aanroepen om landen en dekkingsgebieden op te vragen en vervolgens getprefixes zonder groepering. Kopieer van het geselecteerde prefix de uuid. Als returns_numbers gelijk is aan 0, wordt bij dit prefix pas bij het bestellen een nummer toegewezen; gebruik de geretourneerde next_function in plaats van een lijst met afzonderlijke nummers te vereisen.

Bekijk een begrensde reeks resultaten

Gebruik voor een normale zoekopdracht compact=1 en geef de gewenste grootte van de reeks zowel in het pad als in de queryparameter quantity op, zoals hieronder weergegeven. Er is geen parameter voor een pagina of cursor. Een compact resultaat is een steekproef; het herhalen van een verzoek garandeert geen volgende pagina zonder overlap. Beschouw een leeg of klein resultaat niet als het totale aantal nummers in de voorraad.

Zoek een gemakkelijk te onthouden cijferpatroon

Geef number_filter_mode=contains of ends_with op, samen met number_filter_value. De waarde moet 1–15 cijfers bevatten. Een zoekopdracht kan beperkte reeksen kandidaatnummers ophalen voordat het filter wordt toegepast, waardoor andere overeenkomende nummers in de voorraad kunnen worden gemist. Als u een ondersteunde bron nodig hebt om de vereiste zoekopdracht uit te voeren, vraag dan een pid-selector aan bij MultiTEL en gebruik filter_required=1; een ontbrekende of niet-ondersteunde selectie levert een API-fout op.

Controleer het geselecteerde nummer

Lees number, info.uuid, de geselecteerde price[].uuid, de namen van beschikbare functies en de registratievereisten uit hetzelfde resultaat. De array price kan meerdere plannen met verschillende aantallen kanalen en tarieven bevatten. Geldbedragen en aantallen kunnen als tekenreeksen zijn gecodeerd. Optionele metagegevens, waaronder info.state, verschillen per bron; vereis geen universele structuur voor de staatgegevens en leid geen prijzen af uit een ID.

Bij verwerking zonder streaming worden dubbele kandidaatnummers verwijderd en worden de resultaten over de bronnen verdeeld voordat de geselecteerde reeks wordt gesorteerd op de maandprijs van het eerste plan. Andere verwerkingspaden kunnen eerder beginnen met streamen, dus een algemene garantie voor sortering of het verwijderen van duplicaten geldt niet voor elk verzoek. Sortering bewijst evenmin dat de geretourneerde steekproef het goedkoopste nummer uit de hele catalogus bevat.

Bestel afzonderlijk en bevestig het resultaat

Een zoekopdracht koopt of reserveert niets. Bewaar de geretourneerde identificatoren van het nummer en het plan voor het bestelproces onder hetzelfde account. Controleer het daadwerkelijke plan, de vereisten en de kosten voordat u een bestelling indient. Registratievereisten kunnen de activering vertragen; een zoekresultaat legt geen vaste activeringstermijn vast.

Verzoek

Gebruik een ingeschakeld MultiTEL API-account: HTTP Basic-inloggegevens voor een account met wachtwoord, of Authorization: Bearer bij een account met token. De machtigingen en IP-beperkingen van het account zijn van toepassing. Zie de algemene richtlijnen voor authenticatie.

Padparameters en URL-queryparameters. Gebruik GET voor het openbare zoekproces. De handler accepteert ook bepaalde formulier- en verzoekwaarden, maar is geen zoek-API met een JSON-verzoekbody.

curl --fail-with-body --get \
  --user "${MULTITEL_API_USERNAME}:${MULTITEL_API_PASSWORD}" \
  --data-urlencode "compact=1" \
  --data-urlencode "quantity=10" \
  "https://api.multitel.net/v3/getnumbers/${PREFIX_ID}/10"
Padparameters
NaamTypeVerplichtBeschrijving
prefix_idstringJaEen afzonderlijke prefix-ID uit een ongegroepeerd getprefixes-antwoord. Kopieer deze exact; vervang deze niet door een ID van een land, dekkingsgebied, gegroepeerd prefix of tariefplan.
quantityintegerNeeBeoogd aantal om op te halen, standaard 1. Niet-positieve waarden worden 1. Alleen quantity in het pad vormt geen betrouwbare limiet voor het totale aantal resultaten: een zoekopdracht die niet aan een bron is gebonden en geen quantity-queryparameter heeft, kan meer nummers ophalen en vóór verdere verwerking tot 50 vermeldingen per bron retourneren. Gebruik voor normaal bladeren met een begrensd aantal resultaten compact=1 en herhaal het gewenste aantal in de query, zoals in het voorbeeld.
Queryparameters
NaamTypeVerplichtBeschrijving
quantityintegerNeeGevraagde uiteindelijke grootte van de reeks. Niet-lege waarden worden omgezet naar gehele getallen, met een minimum van 1. Bij verwerking zonder streaming die niet aan een bron is gebonden, begrenst dit de uiteindelijke toewijzing. Dit dwingt de dienst niet om zoveel nummers te vinden. Compacte zoekopdrachten die aan een bron zijn gebonden, kunnen de compacte reeks van die bron retourneren in plaats van deze limiet toe te passen.
compactstringNeeGebruik 1, true of on voor een kleiner antwoord zonder streaming, met tot 10 vermeldingen per bron vóór de uiteindelijke toewijzing. De resultaten zijn een steekproef van de op dat moment opgehaalde voorraad, geen volledige catalogus.
number_filter_modestringNeeOptionele modus voor cijferpatronen: contains of ends_with. Geef ook number_filter_value op. Resultaten worden gecontroleerd aan de hand van de genormaliseerde cijfers van telefoonnummers; de zoekopdracht doorloopt niet de volledige voorraad om elke mogelijke overeenkomst te garanderen.
number_filter_valuestringNeeTussen 1 en 15 cijfers, zonder spaties, + of leestekens. Voorloopnullen zijn van belang; verstuur de waarde als tekst.
filter_requiredstringNeeGeavanceerd: bij 1, true, yes of on is voor de filtermodus een ondersteunde, expliciet geselecteerde voorraadbron vereist. Anders retourneert de API status.code 422. Dit is niet nodig om de catalogus op de gebruikelijke manier te bekijken.
pidstringNeeGeavanceerde voorraadselector die door MultiTEL wordt verstrekt. Numerieke vormen en ondersteunde hexadecimale vormen van 32 tekens worden geaccepteerd; niet-herkende waarden worden zonder melding genegeerd. Laat deze bij normaal gebruik weg. Leid selectors niet af uit prijs-ID's en ga er niet van uit dat een willekeurige selector de voorraad exclusief afbakent.

Antwoord

Eén JSON-object met status en response. Bij succes is status.code gelijk aan 200 en is response een array met nummervermeldingen. status.results is het aantal elementen in de geretourneerde array; status.msg kan Results: N zijn, of OK bij een gestreamd antwoord. Zonder compact=1 schrijven sommige zoekopdrachten de array response stapsgewijs en sluiten ze af met status; wacht daarom op de volledige JSON-body. Dit is geen JSON die door regeleinden wordt gescheiden. Controleer status.code ook als het HTTP-transport slaagt. Hieronder staan gebruikelijke velden; bronspecifieke metagegevens en optionele velden variëren. Behandel elke identificator als een ondoorzichtige waarde en bewaar het nummer samen met de bijbehorende geselecteerde price[].uuid.

Voorbeeld van de antwoordstructuur; geen actuele accountgegevens of actuele prijsopgave.

{
  "status": {
    "code": 200,
    "msg": "Results: 1",
    "results": 1
  },
  "response": [
    {
      "number": "12125550123",
      "info": {
        "uuid": "NUMBER_ID_FROM_RESPONSE",
        "prefix_uuid": "PREFIX_ID_FROM_RESPONSE",
        "area_uuid": "AREA_ID_FROM_RESPONSE",
        "country_uuid": "COUNTRY_ID_FROM_RESPONSE",
        "country_iso": "US",
        "prefix": "+1212",
        "name": "Example area",
        "state": "US"
      },
      "price": [
        {
          "uuid": "PRICE_PLAN_ID_FROM_RESPONSE",
          "per_minute": "0.01",
          "per_sms": "0",
          "per_mms": "0",
          "free_minutes": "0",
          "setup_price": "1.00",
          "monthly_price": "2.00",
          "yearly_price": "0",
          "channels": "2"
        }
      ],
      "contract": {
        "term": "1 month",
        "renewal": "monthly",
        "notice": "none"
      },
      "restrictions": {
        "needs_registration": "0",
        "restrictions": ""
      },
      "features": [
        "voice"
      ],
      "overflow": "0"
    }
  ]
}

Fouten

  • 401: Authenticatie mislukt. Ongeldige of ontbrekende inloggegevens en geweigerde toegang tot het API-account leveren geen zoekresultaten op.
  • 404: Invalid prefix ID, Invalid country, Invalid area of No numbers found. Lees status.msg; een foutantwoord is geen array met nummers.
  • 400: NUMBER_FILTER_INVALID in response.code: ongeldige modus, een waarde die niet uit 1–15 cijfers bestaat, of filter_required zonder dat zowel de modus als de waarde is opgegeven.
  • 422: NUMBER_FILTER_UNSUPPORTED in response.code: ofwel wordt bij dit prefix pas bij het bestellen een nummer toegewezen (reason=order_only_prefix en next_function geeft de bestelroute aan), ofwel kan de expliciet geselecteerde bron het vereiste filter niet ondersteunen.

Beschikbaarheid en neveneffecten

  • Deze handler zoekt en stelt prijsopgaven op; hij dient geen nummerbestelling in en schrijft geen aankoopkosten voor een nummer af. Hij kan cataloguscaches vernieuwen, verouderde voorraad uit de cache verwijderen, accountgebonden tariefplannen opslaan en zoeklogboeken schrijven.
  • Beschikbaarheid is een momentopname, geen reservering. Een latere bestelling kan mislukken of een andere beschikbaarheid opleveren. Controleer en verwerk het bestelresultaat voordat u opnieuw een aankoop probeert te doen.
  • Prijzen zijn accountspecifiek. Bewaar de geselecteerde plan-ID voor hetzelfde account en controleer de bestelvoorwaarden en kosten afzonderlijk; dit eindpunt op zichzelf bewijst niet dat een prijs geldig blijft tot een latere bestelling.
  • Het voorbeeldnummer en de voorbeeldprijzen zijn fictieve voorbeelden van de antwoordstructuur, geen actuele prijsopgave. Mogelijkheden, aantallen kanalen, looptijd en registratiegegevens moeten uit het daadwerkelijk geselecteerde resultaat worden gelezen.
  • Sommige registratiebeschrijvingen bevatten opgemaakte tekst of links. Behandel geretourneerde tekenreeksen als niet-vertrouwde gegevens wanneer u ze in uw eigen toepassing weergeeft.
  • De beschikbaarheid van mobiele nummers en de bijbehorende vlaggen hangen af van de geschiktheid van het account en de voorraad. Een prefix in de catalogus of een is_mobile-vlag op zichzelf toont niet aan welke mobiele mogelijkheden een bepaald nummer heeft.