Version | Date |
---|---|
1.0.2 | 19-04-2021 |
1.0.1 | 12-03-2021 |
1.0.0 | 11-01-2021 |
- Remove fields isMatoowan, simcardVersion, history and sms from routes /api/devices and /api/devices/{id}
- Remove field scheduledAt from routes /v1/provisioning-requests and /v1/provisioning-requests/{id}
- Revert POST /v1/pairing error list in response to its original value
Wrong response | Correct response |
---|---|
{ "errors": { "is-a-duplicate": [], "does-not-exist-in-fleet": [], "is-not-available": [], "is-already-paired": [], "wrong-offer-operator": [], "incorrect-customer": [], "forbidden-sim-version": [], "undefined-error": [] } } |
{ "errors": { "is-a-duplicate": [], "does-not-exist-in-fleet": [], "is-not-available": [], "is-already-paired": [], "wrong-operator": [], "is-not-a-valid-offer": [], "undefined-error": [], "generation": [] } } |
- Add new route /token to fit the current API
Note: the existing route /v1/token still works. Both routes /token and /v1/token work the same way
- Authentication
- Consumptions
- Devices
- Agencies
- Manufacturers
- Offers
- Operators
- Pairing
- Profiles
- Provisioning
- Simcards
- SMS
- All current entity identifiers will change
- Remove route Manufacturers (/v1/manufacturers)
- Remove route Profiles (/v1/profiles) to route Offers (/v1/offers)
- Update route Offers (/v1/offers)
- Remove attribute manufacturer of every route
- Remove attribute profileId of every route
- Remove query parameter linked to Manufacturers
- Remove query parameter linked to Profiles
- Add a new level customer on multiple entities
- The level agency is now replaced by the new level customer. The level agency remains as a sub-level of a customer (a customer may have multiple agencies).
- An agency always depends on and is always linked to a customer.
POST /v1/token
- N/A
GET /v1/consumptions/daily/{iccid}
- N/A
GET /v1/consumptions/total/{iccid}
- N/A
GET /v1/devices
- Change of the attribute profileName to offerName
- Add a new attribute customer of type objet with two attributes: id and name
Previous payload | New payload |
---|---|
[ { "id": 1, "reference": "12345", "contractNumber": "123456", "serialNumber": "123456", "apn": "m2minternet", "gsmData": null, "comment": "", "imei": "", "msisdn": "+33xxxxxxxxx", "profileName": "DATA XXX Ko X SMS Voix Entrante XXX", "isMatoowan": true, "simcardIccid": "XXXXXXXXXXXXXXXXXXXX", "simcardState": "active", "simcardVersion": "v1", "operatorSlug": "XXX", "agency": { "id": 2, "name": "Agency 2" }, "modelId": 1234, "modelName": "Device Model name", "manufacturerName": "Manufacturer name", "simcardActivationDate": "XXXX-XX-XX XX:XX:XX", "simcardTerminationDate": null, "networkIp": null, "networkLogin": null, "networkPassword": null, "history": [], "sms": { "in": [], "out": [] } } ] |
[ { "id": 1, "reference": "12345", "contractNumber": "123456", "serialNumber": "123456", "apn": "m2minternet", "gsmData": null, "comment": "Comment", "imei": "000111222", "msisdn": "+33000000000", "offerName": "DATA XXX Ko X SMS Voix Entrante XXX", "simcardIccid": "01234567890123456789", "simcardState": "active", "simcardVersion": "v1", "isMatoowan": false, "operatorSlug": "Operator 1", "customer": { "id": 1, "name": "Customer 1" }, "agency": { "id": 2, "name": "Agency 2" }, "modelId": 1234, "modelName": "Device Model name", "manufacturerName": "Manufacturer name", "simcardActivationDate": "2021-01-01 00:00:00", "simcardTerminationDate": null, "networkIp": null, "networkLogin": null, "networkPassword": null, "history": [], "sms": { "in": [], "out": [] } } ] |
GET /v1/devices/{id}
- Change of the attribute profileName to offerName
- Add a new attribute customer of type objet with two attributes: id and name
Previous payload | New payload |
---|---|
{ "id": 1, "reference": "12345", "contractNumber": "123456", "serialNumber": "123456", "apn": "m2minternet", "gsmData": null, "comment": "", "imei": "", "msisdn": "+33xxxxxxxxx", "profileName": "DATA XXX Ko X SMS Voix Entrante XXX", "isMatoowan": false, "simcardIccid": "XXXXXXXXXXXXXXXXXXXX", "simcardState": "active", "simcardVersion": "v1", "operatorSlug": "XXX", "agency": { "id": 2, "name": "Agency 2" }, "modelId": 1234, "modelName": "Device Model name", "manufacturerName": "Manufacturer name", "simcardActivationDate": "XXXX-XX-XX XX:XX:XX", "simcardTerminationDate": null, "networkIp": null, "networkLogin": null, "networkPassword": null, "history": [], "sms": { "in": [], "out": [] } } |
{ "id": 1, "reference": "12345", "contractNumber": "123456", "serialNumber": "123456", "apn": "m2minternet", "gsmData": null, "comment": "Comment", "imei": "000111222", "msisdn": "+33000000000", "offerName": "DATA XXX Ko X SMS Voix Entrante XXX", "isMatoowan": false, "simcardIccid": "01234567890123456789", "simcardState": "active", "simcardVersion": "v1", "operatorSlug": "Operator 1", "customer": { "id": 1, "name": "Customer 1" }, "agency": { "id": 2, "name": "Agency 2" }, "modelId": 1234, "modelName": "Device Model name", "manufacturerName": "Manufacturer name", "simcardActivationDate": "2021-01-01 00:00:00", "simcardTerminationDate": null, "networkIp": null, "networkLogin": null, "networkPassword": null, "history": [], "sms": { "in": [], "out": [] } } |
PATCH /v1/devices/{id}
- N/A
GET /v1/devices/models
- Deletion of the query parameter operatorSlug as a device model does not depend on a specific operator
- Add of a new query parameter customerId to filter on a specific customer identifier
GET /v1/agencies
- The level agency is now replaced by the new level customer. The level agency remains as a sub-level of a customer (a customer may have multiple agencies).
- An agency always depends on and is always linked to a customer.
- Deletion of attribute default
Previous payload | New payload |
---|---|
[ { "default": false, "id": "1", "name": "My agency" } ] |
[ { "id": 1, "name": "My agency" } ] |
GET
/v1/manufacturers
- Deletion of this route with no replacement
GET /v1/offers
- Deletion of the query parameter agencyId as an offer does not depend on a specific agency anymore but on a specific customer
- Deletion of the query parameter deviceModelId as an offer does not depend on a specific device model anymore
- Add of a new query parameter customerId as replacement of the query parameter agencyId to filter on a specific customer identifier
- Deletion of the attribute profileId as an offer does not depend on a profile anymore
- Deletion of the attribute agencyId as an offer does not depend on an agency anymore
- Deletion of the attribute agencyName as an offer does not depend on an agency anymore
- Add a new attribute customer of type objet with two attributes: id and name
Previous payload | New payload |
---|---|
[ { "id": 2, "profileId": 5, "name": "DATA 500 Ko", "agencyId": 2, "agencyName": "My Agency 2" } ] |
[ { "id": 2, "name": "DATA 500 Ko", "customer": { "id": 2, "name": "Customer 2" } } ] |
GET /v1/offers/{id}
- Deletion of the attribute profileId as an offer does not depend on a profile anymore
- Deletion of the attribute agencyId as an offer does not depend on an agency anymore
- Deletion of the attribute agencyName as an offer does not depend on an agency anymore
- Add a new attribute customer of type objet with two attributes: id and name
Previous payload | New payload |
---|---|
{ "id": 2, "profileId": 5, "name": "DATA 500 Ko", "agencyId": 2, "agencyName": "My Agency 2" } |
{ "id": 2, "name": "DATA 500 Ko", "customer": { "id": 2, "name": "Customer 2" } } |
GET /v1/operators
- Deletion of the query parameter agencyId as an operator does not depend on a specific agency anymore
- Deletion of the query parameter manufacturerId as an operator does not depend on a specific manufacturer anymore
POST /v1/pairing
- Deletion of the attribute templateId
- Deletion of the attribute manufacturerId
- Deletion of the attribute operatorSlug
- Change the name of the attribute profileId to offerId
- Add of a new attribute customerId of type integer
Previous payload | New payload |
---|---|
{ "dry-run": true, "agencyId": "XXX", "manufacturerId": "XXX", "operatorSlug": "XXX", "modelId": "XXX", "profileId": "XXX", "items": [ { "iccid": "XXXXXXXXXXXXXXXXXXXX", "serialNumber": "XXXXXXXXXXXXXXXXXXXX", "reference": "XXXXXXXXXXXXXXXXXXXX", "imei": "XXXXXXXXXXXXXXXXXXXX", "comment": "XXXXXXXXXXXXXXXXXXXX" } ] } |
{ "dry-run": true, "customerId": 1, "agencyId": 2, "modelId": 3, "offerId": 4, "items": [ { "iccid": "1234567890123456789", "serialNumber": "123456", "reference": "abc-1", "imei": "123", "comment": "Comment 1" } ] } |
- Add the return code 400 if the offer does not exist for the given couple customer/agency or if the offer is not compatible with the given device model
Previous payload | New payload | |
---|---|---|
None |
{ "code": "400,", "message": "The offer 1 doesn't have any rattachement for customer Customer 1 and agency 1" } |
|
None |
{ "code": "400,", "message": "Sim Card Offer Not Compatible With Device Model" } |
GET /v1/pairing/templates
- Deletion of the attribute manufacturer
- Change of the attribute name profile to the attribute offer with the same attributes
- Add a new attribute customer of type objet with two attributes: id and name
Previous payload | New payload |
---|---|
[ { "id": "XXXX", "label": "XXXX", "agency": { "agencyId": "XXXX", "agencyName": "XXXX" }, "profile": { "profileId": "XXXX", "profileName": "XXXX" }, "model": { "modelId": "XXXX", "modelName": "XXXX" }, "manufacturer": { "manufacturerId": "XXXX", "manufacturerName": "XXXX" }, "operatorSlug": "XXXX" } ] |
[ { "id": "1", "label": "Pairing template", "customer": { "id": 1, "name": "Customer 1" }, "agency": { "id": 2, "name": "Agency 2" }, "offer": { "id": 3, "name": "Offer 3" }, "model": { "id": 4, "name": "Model 4" }, "operatorSlug": "Operator" } ] |
POST /v1/pairing/templates
- Deletion of the attribute manufacturerId
- Change of the attribute name profile to the attribute offer with the same attributes id and name
- Add a new attribute customerId of type integer
Previous payload | New payload |
---|---|
{ "label": "XXXXX", "agencyId": "XXXXX", "manufacturerId": "XXXXX", "operatorSlug": "XXXXX", "modelId": "XXXXX", "profileId": "XXXXX" } |
{ "label": "Label", "customerId": 1, "agencyId": 2, "offerId": 3, "modelId": 4, "operatorSlug": "Operator" } |
GET /v1/pairing/templates/{id}
- Deletion of the attribute manufacturer
- Change of the attribute name profile to the attribute offer with the same attributes id and name
- Add a new attribute customer of type objet with two attributes: id and name
Previous payload | New payload |
---|---|
{ "id": "XXXX", "label": "XXXX", "agency": { "agencyId": "XXXX", "agencyName": "XXXX" }, "profile": { "profileId": "XXXX", "profileName": "XXXX" }, "model": { "modelId": "XXXX", "modelName": "XXXX" }, "manufacturer": { "manufacturerId": "XXXX", "manufacturerName": "XXXX" }, "operatorSlug": "XXXX" } |
{ "id": "1", "label": "Pairing template", "customer": { "id": 1, "name": "Customer 1" }, "agency": { "id": 2, "name": "Agency 2" }, "offer": { "id": 3, "name": "Offer 3" }, "model": { "id": 4, "name": "Model 4" }, "operatorSlug": "Operator" } |
PATCH /v1/pairing/templates/{id}
- N/A
DELETE /v1/pairing/templates/{id}
- N/A
GET
/v1/profiles
- Deletion of this route with no replacement
POST /v1/provisioning-requests
- Add the missing action reactivate in documentation
GET /v1/provisioning-requests
- Add the missing action reactivate in documentation
- Add a new attribute requestedForCustomer of type string
- Add a new attribute createdByCustomer of type object with two attributes id and name
Previous payload | New payload |
---|---|
[ { "id": 1234, "agencyName": "My Agency", "user": "Me", "status": "done", "action": "activate", "createdAt": "XXXX-XX-XX XX:XX:XX", "items": { "1234": { "id": 1234, "iccid": "XXXXXXXXXXXXXXXXXXXX", "requestAt": "XXXX-XX-XX XX:XX:XX", "status": "done", "requestedForAgency": "My Agency", "operatorSlug": "XXX", "processingDate": "XXXX-XX-XX XX:XX:XX" } }, "createdByAgency": { "id": 1, "name": "My Agency" }, "createdByUser": { "id": 1, "name": "Me" } } ] |
[ { "id": 1234, "agencyName": "My Agency", "user": "Me", "status": "done", "action": "activate", "createdAt": "2021-01-01 00:00:00", "items": [ { "id": 1234, "iccid": "01234567890123456789", "requestAt": "2021-01-01 00:00:00", "status": "done", "requestedForCustomer": "My Customer", "requestedForAgency": "My Agency", "operatorSlug": "Operator 1", "processingDate": "2021-01-01 00:00:00" } ], "createdByCustomer": { "id": 1, "name": "My Customer" }, "createdByAgency": { "id": 1, "name": "My Agency" }, "createdByUser": { "id": 1, "name": "Me" } } ] |
GET /v1/provisioning-requests/{id}
- Add of the missing action reactivate in documentation
- Add a new attribute requestedForCustomer of type string
- Add a new attribute createdByCustomer of type object with two attributes id and name
Previous payload | New payload |
---|---|
{ "id": 1234, "agencyName": "My Agency", "user": "Me", "status": "done", "action": "activate", "createdAt": "XXXX-XX-XX XX:XX:XX", "items": { "1234": { "id": 1234, "iccid": "XXXXXXXXXXXXXXXXXXXX", "requestAt": "XXXX-XX-XX XX:XX:XX", "status": "done", "requestedForAgency": "My Agency", "operatorSlug": "XXX", "processingDate": "XXXX-XX-XX XX:XX:XX" } }, "createdByAgency": { "id": 1, "name": "My Agency" }, "createdByUser": { "id": 1, "name": "Me" } } |
{ "id": 1234, "agencyName": "My Agency", "user": "Me", "status": "done", "action": "activate", "createdAt": "2021-01-01 00:00:00", "items": [ { "id": 1234, "iccid": "01234567890123456789", "requestAt": "2021-01-01 00:00:00", "status": "done", "requestedForCustomer": "My Customer", "requestedForAgency": "My Agency", "operatorSlug": "Operator 1", "processingDate": "2021-01-01 00:00:00" } ], "createdByCustomer": { "id": 1, "name": "My Customer" }, "createdByAgency": { "id": 1, "name": "My Agency" }, "createdByUser": { "id": 1, "name": "Me" } } |
GET /v1/simcards
- Add a new attribute customer of type object with two attributes id and name
Previous payload | New payload |
---|---|
[ { "id": 1, "agency": { "agencyId": 2, "agencyName": "My Agency 2" }, "deviceId": 1, "simcardState": "in-stock", "simcardIccid": "XXXXXXXXXXXXXXXXXXXX", "simcardVersion": "sav", "operatorSlug": "orange", "simcardOrderId": 1, "simcardOrderDate": "XXXX-XX-XX XX:XX:XX", "orderedBy": "Me", "simcardRequest": null } ] |
[ { "id": 1, "customer": { "id": 2, "name": "My Customer 2" }, "agency": { "id": 2, "name": "My Agency 2" }, "deviceId": 1, "simcardState": "in-stock", "simcardIccid": "01234567890123456789", "simcardVersion": "sav", "operatorSlug": "orange", "simcardOrderId": 1, "simcardOrderDate": "2021-01-01 00:00:00", "orderedBy": "John Doe", "simcardRequest": 123456 } ] |
GET /v1/simcards/{id}
- Add a new attribute customer of type object with two attributes id and name
Previous payload | New payload |
---|---|
{ "id": 1, "agency": { "agencyId": 2, "agencyName": "My Agency 2" }, "deviceId": 1, "simcardState": "in-stock", "simcardIccid": "XXXXXXXXXXXXXXXXXXXX", "simcardVersion": "sav", "operatorSlug": "orange", "simcardOrderId": 1, "simcardOrderDate": "XXXX-XX-XX XX:XX:XX", "orderedBy": "Me", "simcardRequest": null } |
{ "id": 1, "customer": { "id": 2, "name": "My Customer 2" }, "agency": { "id": 2, "name": "My Agency 2" }, "deviceId": 1, "simcardState": "in-stock", "simcardIccid": "01234567890123456789", "simcardVersion": "sav", "operatorSlug": "orange", "simcardOrderId": 1, "simcardOrderDate": "2021-01-01 00:00:00", "orderedBy": "John Doe", "simcardRequest": 123456 } |
POST /v1/sms
- Deletion of return code 200 as it was never used