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:xxxxxxxxxxxxxxxxxx004Daarop 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