json-api - tickets - zendesk api ticket
¿Cómo crear documentos compuestos? (1)
de http://jsonapi.org/format/#document-compound-documents
Los documentos compuestos requieren un "enlace completo", lo que significa que cada recurso incluido DEBE identificarse con al menos un objeto identificador de recursos en el mismo documento. Estos objetos identificadores de recursos podrían ser datos primarios o representar un enlace de recursos contenido dentro de recursos primarios o incluidos. La única excepción al requisito de enlace completo es cuando los campos de relación que de otro modo contendrían datos de enlace se excluyen a través de conjuntos de campos dispersos.
{
"data": [{
"type": "articles",
"id": "1",
"attributes": {
"title": "JSON API paints my bikeshed!"
},
"links": {
"self": "http://example.com/articles/1"
},
"relationships": {
"author": {
"links": {
"self": "http://example.com/articles/1/relationships/author",
"related": "http://example.com/articles/1/author"
},
"data": { "type": "people", "id": "9" }
},
"comments": {
"links": {
"self": "http://example.com/articles/1/relationships/comments",
"related": "http://example.com/articles/1/comments"
},
"data": [
{ "type": "comments", "id": "5" },
{ "type": "comments", "id": "12" }
]
}
}
}],
"included": [{
"type": "people",
"id": "9",
"attributes": {
"first-name": "Dan",
"last-name": "Gebhardt",
"twitter": "dgeb"
},
"links": {
"self": "http://example.com/people/9"
}
}, {
"type": "comments",
"id": "5",
"attributes": {
"body": "First!"
},
"links": {
"self": "http://example.com/comments/5"
}
}, {
"type": "comments",
"id": "12",
"attributes": {
"body": "I like XML better"
},
"links": {
"self": "http://example.com/comments/12"
}
}]
}
Estoy pensando en usar el estándar JSONAPI para el diseño de nuestra API. Una cosa que esta API debe poder hacer, es aceptar un documento compuesto (con varias capas de profundidad) y crearlo. El objeto raíz es propietario de todos los descendientes (relaciones "a muchos") que el servidor no conoce en ese momento, por lo que no es posible que el cliente proporcione una identificación.
¿Es compatible con la especificación o el cliente tiene que emitir solicitudes http para cada objeto del documento en orden?