Source code for sinch.domains.number_lookup.api.v1.number_lookup_apis

from typing import Optional, List
from sinch.domains.number_lookup.api.v1.base import BaseLookup
from sinch.domains.number_lookup.api.v1.internal import LookupNumberEndpoint
from sinch.domains.number_lookup.models.v1.internal import LookupNumberRequest
from sinch.domains.number_lookup.models.v1.response import LookupNumberResponse
from sinch.domains.number_lookup.models.v1.types import (
    RndFeatureOptionsDict,
    LookupFeaturesType,
)


[docs] class NumberLookup(BaseLookup):
[docs] def lookup( self, number: str, features: Optional[List[LookupFeaturesType]] = None, rnd_feature_options: Optional[RndFeatureOptionsDict] = None, **kwargs, ) -> LookupNumberResponse: """ Performs a number lookup. You can make a minimal request or add additional options to the features array. :param number: MSISDN in E.164 format to query (e.g., "+12312312312") :type number: str :param features: List of requested features. Options: "LineType", "SimSwap", "VoIPDetection", "RND" :type features: Optional[List[str]] :param rnd_feature_options: Optional dictionary with RND feature options :type rnd_feature_options: Optional[RndFeatureOptionsDict] :param **kwargs: Additional parameters for the request. :type **kwargs: dict :returns: LookupNumberResponse :rtype: LookupNumberResponse """ request_data = LookupNumberRequest( number=number, features=features, rnd_feature_options=rnd_feature_options, **kwargs, ) return self._request(LookupNumberEndpoint, request_data)