downlinkMsg Unauthorized


  • Ik probeer via de ReST interface een downlinkMsg te versturen (met postman).
    {{base_url}}/m2m/endpoints/{{DeviceId}}/downlinkMsg/0/data

    {{base_url}} = https://iot.netwerk.t-mobile.nl
    {{DeviceId}} = IMEI:xxxxxxxxxxxxxxxxxx004

    Daarop krijg ik elke keer een 403 Forbidden.
    {
    “msg”: “Unauthorized”,
    “code”: 1001
    }

    P.S. Ik kan wel de details van mijn device opvragen via:
    {{base_url}}/rest/device/xxxx



  • Hoi @Bob-Mooij dat zou wel moeten werken.
    2 vragen, gebruik je een PUT method? en aan Basic auth header?



  • Ik heb hetzelfde probleem met gebruik van Curl. Ik zie overigens hetzelfde met Postman…

    Het eerste Curl commando is de failed downlink. De andere twee Curl commando’s werken wel met hetzelfde basic authentication token…

    $ curl -i -X PUT -H 'Authorization: Basic <token>' -H 'Content-Type: application/json' -d '{ "resourceValue" : "Hallo" }' https://iot.netwerk.t-mobile.nl/m2m/endpoints/IMEI:<IMEI>/downlinkMsg/0/  data
    
    HTTP/2 403 
    date: Mon, 18 Mar 2019 18:28:40 GMT 
    content-type: application/json;charset=ISO-8859-1
    content-length: 34
    x-content-type-options: nosniff
    x-xss-protection: 1; mode=block
    cache-control: no-cache, no-store, max-age=0, must-revalidate
    pragma: no-cache
    expires: 0
    x-frame-options: DENY
    
    {"msg":"Unauthorized","code":1001}
    
    $ curl -i -X POST -H 'Authorization: Basic <token>' -H 'Content-Type: application/json' -d '{ "additionalParams": { "adaptationLayerName": "TMNL_UDP_AL" }, "address": "", "groupName": "<group>",  "identifier": "", "protocol": "HTTP", "serialNumber": "IMEI:<IMEI>" }' https://iot.netwerk.t-mobile.nl/impact/m2m/endpoints
    
    HTTP/2 400 
    date: Mon, 18 Mar 2019 18:28:40 GMT 
    content-type: application/json
    server: nginx/1.10.2
    
    {"msg":"dsm.device.already.exist","code":999}
    
    ### This is to be expected after running the 'Hello World!' example...
    
    $ curl -i -X GET -H 'Authorization: Basic <token>' -H 'Content-Type: application/json' https://iot.netwerk.t-mobile.nl/rest/device?iDisplayLength=-1
    
    HTTP/2 200 
    date: Mon, 18 Mar 2019 18:28:41 GMT 
    content-type: application/json
    server: nginx/1.10.2
    pragma: No-cache
    cache-control: no-cache
    expires: Thu, 01 Jan 1970 00:00:00 GMT 
    
    {"iTotalRecords":1,"iTotalDisplayRecords":1,"sEcho":null,"aaData":[{"id":5...,"deviceId":"IMEI:<IMEI>","networkId":"","subscriberId":"","tenantId":8..,"model":"Sensor","manufacturer":"Generic",   "managed":true,"inUse":true,"os":"other","protocolRealm":["NBIOT-SGI","LORA","DIAMETER","XIRGO","IMPACT_LWM2M","MBUS","HTTP","MQTT-AL","VA"]}]}
    


  • Hoi @eric-barten,

    Ik heb PUT gebruikt en heb de API credentials gebruikt.
    Zie:

    curl -X PUT -H "Authorization: Basic xxxxxxxxx" -H "Content-Type: application/json" -d "{ "resourceValue" : "Hallo" }" https://iot.netwerk.t-mobile.nl/m2m/endpoints/IMEI:xxxxxxx004/downlinkMsg/0/data
    
    {"msg":"Unauthorized","code":1001}
    


  • @bob-mooij heb je al een endpoint geregistreerd of call back url zoals we dat noemen. Het is een beetje vreemd maar dat moet ook eerst gedaan zijn voordat je bepaalde API calls kunt gebruiken.



  • Ik heb een callback url geregistreerd via het dashboard en niet via Postman of Curl. Ik krijg keurig alle uplinks binnen op mijn server. Maakt het uit of je het dashboard gebruikt in plaats van Curl/Postman? Ik had de callback al geregistreerd voordat ik de downlink probeerde…



  • @eric-barten ik heb een callback url (al een hele tijd geleden) geregistreerd via de portal. De uplink berichten komen hier ook netjes op binnen.



  • @Eric-Barten & @Jigs
    Ben weer een stap verder. Via postman {{base_url}}/m2m/applications/registration heb ik succesvol (nogmaals) mijn endpoint geregistreerd. (Het endpoint had ik namelijk ook al via de portal geregistreerd).

    Nu krijg ik op {{base_url}}/m2m/endpoints/{{DeviceId}}/downlinkMsg/0/data het antwoord:

    {
        "requestId": "b7e80c39-6868-4f3b-xxxxxxxxxxx",
        "msg": "Accepted",
        "code": 1002
    }
    

    Ik ga zo testen of het het downlink bericht is aangekomen en/of mijn uplink berichten nogsteeds werken.



  • De down- & uplink berichten werken.

    Dank je wel @Jigs voor de tip om de callback url ook via Curl/Postman te zetten.
    Dank je wel @Eric-Barten



  • Bij was dit ook de oplossing bedankt


 

Looks like your connection to Internet of Things was lost, please wait while we try to reconnect.