Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


Filtering and attribute selection rules are described in the TMF REST Design Guidelines.
Notifications are also described in a subsequent section.

...

GET /partyManagement/individual/{ID}

Note that collections can be retrieved via GET /api/INDIVIDUAL with no {ID}
Description :

...

REQUEST

GET /partyManagement/individual/11?fields=fullName
Accept: application/json

RESPONSE

200
Content-Type: application/json

{
"fullName": "Dr. John Doe"
}

 

...

...

GET /partyManagement/organization/{ID}

Note that collections can be retrieved via GET /api/<RESOURCE> with no {ID}
Description :

...

REQUEST

GET /partyManagement/organization/128
Accept: application/json

RESPONSE

200
Content-Type: application/json

{
"id": "128",
"href": "http://serverlocation:port/partyManagement/organization/128",
"isLegalEntity": true,
"type": "Company",
"existsDuring": {
"startDate": "2013-04-19T16:42:23.0Z"
},
"tradingName": "Telekom",
"nameType": "Co.",
"status": "Initialized",
"otherName": {
"nameType": "Co.",
"tradingName": "Orange",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z",
"endDateTime": "2013-06-19T00:00:00.0Z"
}
},
"characteristic": {
"name": "industry",
"value": "telecom"
},
"organizationIdentification": {
"type": "CompanyRegistrationNumber",
"identificationId": "374748328",
"issuingAuthority": "",
"issuingDate": "2013-06-19T00:00:00.0Z",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z",
"endDateTime": "2013-06-19T00:00:00.0Z"
}
},
"externalReference": [
{
"href": "http://facebook.com/17263635",
"type": "FacebookID"
},
{
"href": "http://google.com/17263635",
"type": "GoogleID"
}
],
"relatedParty": {
"id": "12",
"href": "http://serverlocation:port/partyManagement/organization/12",
"role": "Vendor",
"name": "Richard Cole",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z",
"endDateTime": "2013-06-19T00:00:00.0Z"
}
},
"organizationParentRelationship": {
"relationshipType": "Juridical",
"id": "13",
"href": "http://serverlocation:port/partyManagement/organization/13",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z",
"endDateTime": "2013-06-19T00:00:00.0Z"
}
},
"organizationChildRelationship": {
"relationshipType": "Juridical",
"id": "16",
"href": "http://serverlocation:port/partyManagement/organization/16",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z",
"endDateTime": "2013-06-19T00:00:00.0Z"
}
},
"contactMedium": [
{
"type": "Email",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"emailAddress": "[email protected]"
}
},
{
"type": "PostalAddress",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"city": "Wien",
"country": "Austria",
"postcode": "1020",
"stateOrProvince": "Quebec",
"street1": "Lassallestrasse7",
"street2": ""
}
},
{
"type": "TelephoneNumber",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"type": "mobile",
"number": "+436641234567"
}
},
{
"preferred": true,
"type": "TelephoneNumber",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"type": "business",
"number": "+436641234567"
}
}
]
}

...

PUT partyManagement/individual/{ID}

Description :

  • Allows to overwrite an existing individual entry in the party repository
  • The resource is a managed entity

...

REQUEST

PUT partyManagement/individual/i42
Content-type: application/json

{
"id": "i42",
"href": "http://serverlocation:port/partyManagement/individual/i42",
"gender": "male",
"placeOfBirth": "http://goo.gl/maps/l8F9L",
"countryOfBirth": "Austria",
"nationality": "Canadian",
"maritalStatus": "never married",
"disability": [
{
"disability": "blind"
}
],
"birthDate": "1961-03-05T00:00:00.0Z",
"characteristic": [
{
"name": "hobby",
"value": "hockey"
},
{
"name": "",
"value": ""
}
],
"title": "",
"givenName": "John",
"familyName": "Smith",
"middleName": "",
"fullName": "",
"formattedName": "",
"otherName": [
{
"title": "",
"givenName": "",
"familyName": "",
"middleName": "",
"fullName": "",
"formattedName": "",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z",
"endDateTime": "2013-06-19T00:00:00.0Z"
}
}
],
"location": "http://goo.gl/maps/l8F9L",
"status": "Initialized",
"individualIdentification": [
{
"type": "Passport",
"identificationId": "73736625252",
"issuingAuthority": "",
"issuingDate": "2013-06-19T00:00:00.0Z"
},
{
"type": "SocialSecurityNumber",
"identificationId": "33636363",
"issuingAuthority": "",
"issuingDate": "2013-06-19T00:00:00.0Z"
}
],
"externalReference": [
{
"href": "http://facebook.com/17263635",
"type": "FacebookID"
},
{
"href": "http://google.com/17263635",
"type": "GoogleID"
}
],
"relatedParty": [
{
"id": "1",
"href": "http://serverlocation:port/partyManagement/organization/1",
"role": "Employee",
"name": "Richard Cole",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z",
"endDateTime": "2013-06-19T00:00:00.0Z"
}
}
],
"contactMedium": [
{
"type": "Email",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"emailAddress": "[email protected]"
}
},
{
"type": "PostalAddress",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"city": "Wien",
"country": "Austria",
"postcode": "1020",
"stateOrProvince": "Quebec",
"street1": "Lassallestrasse7",
"street2": ""
}
},
{
"type": "TelephoneNumber",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"type": "mobile",
"number": "+436641234567"
}
},
{
"preferred": true,
"type": "TelephoneNumber",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"type": "business",
"number": "+436641234567"
}
}
]
}

RESPONSE

201
Content-Type: application/json

{
"id": "i42",
"href": "http://serverlocation:port/partyManagement/individual/i42",
"gender": "male",
"placeOfBirth": "http://goo.gl/maps/l8F9L",
"countryOfBirth": "Austria",
"nationality": "Canadian",
"maritalStatus": "never married",
"disability": [
{
"disability": "blind"
}
],
"birthDate": "1961-03-05T00:00:00.0Z",
"characteristic": [
{
"name": "hobby",
"value": "hockey"
},
{
"name": "",
"value": ""
}
],
"title": "",
"givenName": "John",
"familyName": "Smith",
"middleName": "",
"fullName": "",
"formattedName": "",
"otherName": [
{
"title": "",
"givenName": "",
"familyName": "",
"middleName": "",
"fullName": "",
"formattedName": "",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z",
"endDateTime": "2013-06-19T00:00:00.0Z"
}
}
],
"location": "http://goo.gl/maps/l8F9L",
"status": "Initialized",
"individualIdentification": [
{
"type": "Passport",
"identificationId": "73736625252",
"issuingAuthority": "",
"issuingDate": "2013-06-19T00:00:00.0Z"
},
{
"type": "SocialSecurityNumber",
"identificationId": "33636363",
"issuingAuthority": "",
"issuingDate": "2013-06-19T00:00:00.0Z"
}
],
"externalReference": [
{
"href": "http://facebook.com/17263635",
"type": "FacebookID"
},
{
"href": "http://google.com/17263635",
"type": "GoogleID"
}
],
"relatedParty": [
{
"id": "1",
"href": "http://serverlocation:port/partyManagement/organization/1",
"role": "Employee",
"name": "Richard Cole",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z",
"endDateTime": "2013-06-19T00:00:00.0Z"
}
}
],
"contactMedium": [
{
"type": "Email",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"emailAddress": "[email protected]"
}
},
{
"type": "PostalAddress",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"city": "Wien",
"country": "Austria",
"postcode": "1020",
"stateOrProvince": "Quebec",
"street1": "Lassallestrasse7",
"street2": ""
}
},
{
"type": "TelephoneNumber",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"type": "mobile",
"number": "+436641234567"
}
},
{
"preferred": true,
"type": "TelephoneNumber",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"type": "business",
"number": "+436641234567"
}
}
]
}

...

...

PUT partyManagement/organization/{ID}

Description :

  • Allows to overwrite an existing organization entry in the party repository
  • The resource is a managed entity

...

REQUEST

PUT /partyManagement/organization/128
Content-type: application/json
{
"id": "128",
"href": "http://serverlocation:port/partyManagement/organization/128",
"isLegalEntity": true,
"type": "Company",
"existsDuring": {
"startDate": "2013-04-19T16:42:23.0Z"
},
"tradingName": "Telekom",
"nameType": "Co.",
"status": "Initialized",
"otherName": {
"nameType": "Co.",
"tradingName": "Orange",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z",
"endDateTime": "2013-06-19T00:00:00.0Z"
}
},
"characteristic": {
"name": "industry",
"value": "telecom"
},
"organizationIdentification": {
"type": "CompanyRegistrationNumber",
"identificationId": "374748328",
"issuingAuthority": "",
"issuingDate": "2013-06-19T00:00:00.0Z",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z",
"endDateTime": "2013-06-19T00:00:00.0Z"
}
},
"externalReference": [
{
"href": "http://facebook.com/17263635",
"type": "FacebookID"
},
{
"href": "http://google.com/17263635",
"type": "GoogleID"
}
],
"relatedParty": {
"id": "1",
"href": "http://serverlocation:port/partyManagement/organization/12",
"role": "Vendor",
"name": "Richard Cole",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z",
"endDateTime": "2013-06-19T00:00:00.0Z"
}
},
"organizationParentRelationship": {
"relationshipType": "Juridical",
"id": "13",
"href": "http://serverlocation:port/partyManagement/organization/13",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z",
"endDateTime": "2013-06-19T00:00:00.0Z"
}
},
"organizationChildRelationship": {
"relationshipType": "Juridical",
"id": "16",
"href": "http://serverlocation:port/partyManagement/organization/16",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z",
"endDateTime": "2013-06-19T00:00:00.0Z"
}
},
"contactMedium": [
{
"type": "Email",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"emailAddress": "[email protected]"
}
},
{
"type": "PostalAddress",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"city": "Wien",
"country": "Austria",
"postcode": "1020",
"stateOrProvince": "Quebec",
"street1": "Lassallestrasse7",
"street2": ""
}
},
{
"type": "TelephoneNumber",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"type": "mobile",
"number": "+436641234567"
}
},
{
"preferred": true,
"type": "TelephoneNumber",
"validFor": {
"startDateTime": "2013-04-19T16:42:23.0Z"
},
"medium": {
"type": "business",
"number": "+436641234567"
}
}
]
}

RESPONSE

201
Content-Type: application/json

{ JSON Resource Representation with all attributes
}

...

...

PATCH partyManagement/individual/{ID}

This Uniform Contract operation is used to partially update the representation of an individual.
Description:

...

REQUEST

PATCH partyManagement/individual/11
Content-type: application/json-patch+json
{
"op": "add",
"path": "/relatedParty",
"value": {
"id": "1",
"href": "http://serverlocation:port/partyManagement/organization/1",
"role": "Employee",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
}
}
}

RESPONSE

201
Content-Type: application/json

{ JSON resource representation with all attributes including the changed one
See individual resource model for details
}

 

...

...

PATCH partyManagement/organization/{ID}

This Uniform Contract operation is used to partially update the representation of an organization
Description:

...

REQUEST

PATCH partyManagement/organization/131
Content-type: application/json-patch+json
[
{
"op": "replace",
"path": "/organizationChildRelationship/1",
"value": {
"relationshipType": "Juridical",
"id": "1311",
"href": "http://serverlocation:port/partyManagement/organization/1311",
"validFor": {
"startDateTime": "2001-04-19T16:42:23-04:00",
"endDateTime": "2013-04-19T16:42:23-04:00"
}
}
}, {
"op": "replace",
"path": "/organizationChildRelationship/2",
"value": {
"relationshipType": "Juridical",
"id": "1311",
"href": "http: //serverlocation: port/partyManagement/organization/1312",
"validFor": {
"startDateTime": "2001-04-19T16: 42: 23-04: 00",
"endDateTime": "2013-04-19T16:42:23-04:00"
}
}
}, {
"op": "add",
"path": "/organizationChildRelationship",
"value": {
"relationshipType": "Juridical",
"id": "1319",
"href": "http: //serverlocation: port/partyManagement/organization/1319",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
}
}
}
]

RESPONSE

201
Content-Type: application/json

{
JSON resource representation with all attributes including the changed one
See individual resource model for details
}

 

...

POST partyManagement/individual

This operation is used to create an individual.

...

REQUEST

POST partyManagement/organization
Content-type: application/json

{
"isLegalEntity": true,
"type": "Company",
"existsDuring": {
"startDate": "2003-04-19T16:42:23-04:00",
"endDate": ""
},
"tradingName": "Orange Romania",
"nameType": "Co.",
"organizationIdentification": [
{
"type": "CompanyRegistrationNumber",
"identificationId": "374748328",
"issuingAuthority": "",
"issuingDate": "2013-06-19T00:00:00-04:00",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": "2013-06-19T00:00:00-04:00"
}
}
],
"externalReference": [
{
"href": "http: //facebook.com/17263635",
"type": "FacebookID"
}
],
"organizationParentRelationship": {
"relationshipType": "Juridical",
"id": "13",
"href": "http: //serverlocation: port/partyManagement/organization/13",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
}
},
"contactMedium": [
{
"type": "Email",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
},
"medium": {
"emailAddress": "[email protected]"
}
}, {
"type": "PostalAddress",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
},
"medium": {
"street1": "Lassallestrasse7",
"street2": "",
"postcode": "1020",
"stateOrProvince": "Quebec",
"city": "Wien",
"country": "Austria"
}
}, {
"type": "TelephoneNumber",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
},
"medium": {
"type": "mobile",
"number": "+436641234567"
}
}, {
"preferred": true,
"type": "TelephoneNumber",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
},
"medium": {
"type": "business",
"number": "+436641234567"
}
}
]
}

RESPONSE

201
Content-Type: application/json

{
"id": "44",
"href": "http://serverlocation:port/partyManagement/organization/44",
"isLegalEntity": true,
"type": "Company",
"existsDuring": {
"startDate": "2003-04-19T16:42:23-04:00",
"endDate": ""
},
"tradingName": "Orange Romania",
"nameType": "Co.",
"organizationIdentification": [
{
"type": "CompanyRegistrationNumber",
"identificationId": "374748328",
"issuingAuthority": "",
"issuingDate": "2013-06-19T00:00:00-04:00",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": "2013-06-19T00:00:00-04:00"
}
}
],
"externalReference": [
{
"href": "http: //facebook.com/17263635",
"type": "FacebookID"
}
],
"organizationParentRelationship": {
"relationshipType": "Juridical",
"id": "13",
"href": "http: //serverlocation: port/partyManagement/organization/13",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
}
},
"contactMedium": [
{
"type": "Email",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
},
"medium": {
"emailAddress": "[email protected]"
}
}, {
"type": "PostalAddress",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
},
"medium": {
"street1": "Lassallestrasse7",
"street2": "",
"postcode": "1020",
"stateOrProvince": "Quebec",
"city": "Wien",
"country": "Austria"
}
}, {
"type": "TelephoneNumber",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
},
"medium": {
"type": "mobile",
"number": "+436641234567"
}
}, {
"preferred": true,
"type": "TelephoneNumber",
"validFor": {
"startDateTime": "2013-04-19T16:42:23-04:00",
"endDateTime": ""
},
"medium": {
"type": "business",
"number": "+436641234567"
}
}
]
}

...

...

DELETE partyManagement/individual/{ID} or /organization/{ID}

Only useful and allowed for administration matters

REQUEST

DELETE partyManagement/individual/11

RESPONSE

200

 

...

...

POST partyManagement/importJob

ImportJob Tasks are created as resources.
The ImportJob is attached to the URL of the root resource where the content of the file specified by the ImportJob will be applied.
For example to apply the content of the import file located at ftp://ftp.myParty.com/party/54 to the partyManagement root.

REQUEST

POST ../partyManagement/importJob
Content-type: application/json

{
"url": "ftp://ftp.myParty.com/party/54"
}

RESPONSE

201
Content-Type: application/json
Location: ../partyManagement/importJob/554

{
        "id": "54",
        "href": "http:/api/partyManagement/importJob/54",
        "status": "running",
        "path": "partyManagement/",
        "content-type": "application/json",
        "errorLog": "",
        "creationDate": "2013-04-19T16:42:23-04:00",

        "url": "ftp://ftp.myParty.com/party/54"

            }    

 

...

...

POST partyManagement/exportJob

ExportJob Tasks are created as resources.
The ExportJob is attached to a specific resource acting as the root for the collection of resources to be streamed to a File.
An ExportJob can be attached to a specific Resource in the Party Management application or may be attached to the Individual or Organization collections

...

REQUEST

POST ../partyManagement/exportJob
Content-type: application/json

{
}

RESPONSE

201
Content-Type: application/json
Location: ../partyManagement/exportJob/54


{
        "id": "54",
        "href": "http:/api/catalogManagement/exportJob/54",
        "status": "running",
        "path": "partyManagement/",
        "content-type": "application/json",
        "errorLog": "",
        "creationDate": "2013-04-19T16:42:23-04:00",
        "completionDate": "2013-04-21T16:42:23-04:00",
        "url": "ftp://ftp.myParty.com/party/54"
    }    

 

...

GET partyManagement/exportJob


ExportJob resources can be found under the API/exportJob collection and may be retrieved using the normal GET constructs.
For example:

REQUEST

GET ../partyManagement/exportJob/54
Content-type: application/json

{
}

RESPONSE

200
Content-Type: application/json

 

{
        "id": "54",
        "href": "http:/api/catalogManagement/exportJob/54",
        "status": "running",
        "path": "partyManagement/",
        "content-type": "application/json",
        "errorLog": "",
        "creationDate": "2013-04-19T16:42:23-04:00",
        "completionDate": "2013-04-21T16:42:23-04:00",
        "url": "ftp://ftp.myParty.com/party/54"
    }    

 

...

GET partyManagement/IMPORTJob


ImportJob resources can be found under the API/importJob collection and may be retrieved using the normal GET constructs.
For example:

...