processo.apidoc 47.8 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906
	/**
	 * @api {get} /:unidade/processos/:processo Consultar processo
	 * @apiName consultarProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 *
	 * @apiPermission RO_SEI_BROKER ou RO_SEI_BROKER_CONSULTA
	 * 
	 * @apiDescription Este método realiza uma consulta a processos no SEI e no SIPAR.
	 *
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
	 * @apiParam (Path Parameters) {String} processo Número do processo que deseja consultar
	 * 
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [assuntos=N] Exibir assuntos do processo
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [interessados=N] Exibir interessados no processo
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [observacoes=N] Exibir observações feitas no processo
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [andamento=N] Exibir andamento do processo
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [andamento-conclusao=N] Exibir o andamento da conclusão do processo
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [ultimo-andamento=N] Exibir o último andamento dado ao processo
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [unidades=N] Exibir unidades onde o processo está aberto
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [relacionados=N] Exibir processos relacionados
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [anexados=N] Exibir processos anexados
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [auto-formatacao=S] O broker utilizará a mascara padrão para formatar o número do processo
	 *
	 * @apiExample {curl} Exemplo de requisição:
	 * 	curl -i https://<host>/sei-broker/service/COSAP/processos/33910000029201653
	 *
	 * @apiSuccess (Sucesso - 200) {ResultadoConsultaProcesso} resultadoConsultaProcesso Objeto de retorno da consulta aos processos, pode um conter processo do SEI ou do SIPAR
	 * @apiSuccess (Sucesso - 200) {RetornoConsultaProcedimento} resultadoConsultaProcesso.sei Resultado de processo do SEI
	 * @apiSuccess (Sucesso - 200) {Andamento} resultadoConsultaProcesso.sei.andamentoConclusao Andamento da conclusão do processo (opcional)
	 * @apiSuccess (Sucesso - 200) {Data} resultadoConsultaProcesso.sei.andamentoConclusao.dataHora Data e hora do registro de andamento
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.andamentoConclusao.descricao Descrição do andamento
	 * @apiSuccess (Sucesso - 200) {Unidade} resultadoConsultaProcesso.sei.andamentoConclusao.unidade Unidade responsável pelo andamento
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.andamentoConclusao.unidade.descricao Nome da unidade
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.andamentoConclusao.unidade.idUnidade Código da unidade
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.andamentoConclusao.unidade.sigla Sigla da unidade
	 * @apiSuccess (Sucesso - 200) {Usuario} resultadoConsultaProcesso.sei.andamentoConclusao.usuario Usuário responsável pela ação
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.andamentoConclusao.usuario.idUsuario Código do usuário
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.andamentoConclusao.usuario.nome Nome do usuário
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.andamentoConclusao.usuario.sigla Login do usuário
	 * @apiSuccess (Sucesso - 200) {Andamento} resultadoConsultaProcesso.sei.andamentoGeracao Andamento da geração do processo (opcional)
	 * @apiSuccess (Sucesso - 200) {Data} resultadoConsultaProcesso.sei.andamentoGeracao.dataHora Data e hora do registro de andamento
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.andamentoGeracao.descricao Descrição do andamento
	 * @apiSuccess (Sucesso - 200) {Unidade} resultadoConsultaProcesso.sei.andamentoGeracao.unidade Unidade responsável pelo andamento
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.andamentoGeracao.unidade.descricao Nome da unidade
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.andamentoGeracao.unidade.idUnidade Código da unidade
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.andamentoGeracao.unidade.sigla Sigla da unidade
	 * @apiSuccess (Sucesso - 200) {Usuario} resultadoConsultaProcesso.sei.andamentoGeracao.usuario Usuário responsável pela ação
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.andamentoGeracao.usuario.idUsuario Código do usuário
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.andamentoGeracao.usuario.nome Nome do usuário
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.andamentoGeracao.usuario.sigla Login do usuário
	 * @apiSuccess (Sucesso - 200) {Assunto} resultadoConsultaProcesso.sei.assuntos Lista de assuntos
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.assuntos.codigoEstruturado Código do assunto
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.descricao Descrição do assunto
	 * @apiSuccess (Sucesso - 200) {Data} resultadoConsultaProcesso.sei.dataAutuacao Data de autuação do processo
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.especificacao Especificação do processo
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.idProcedimento Id interno do processo no SEI
	 * @apiSuccess (Sucesso - 200) {Interessado} resultadoConsultaProcesso.sei.interessados Lista de interessados no processo (opcional)
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.interessados.nome Nome do interessado
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.interessados.sigla Login do interessado
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.idProcedimento Id interno do processo no SEI
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.linkAcesso Link para acesso ao processo
	 * @apiSuccess (Sucesso - 200) {Observacao} resultadoConsultaProcesso.sei.observacoes Observações feitas sobre o processo (opcional)
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.observacoes.descricao Descrição da obsevação
	 * @apiSuccess (Sucesso - 200) {Unidade} resultadoConsultaProcesso.sei.observacoes.unidade Unidade responsável pela observação
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.observacoes.unidade.descricao Nome da unidade
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.observacoes.unidade.idUnidade Código da unidade
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.observacoes.unidade.sigla Sigla da unidade 
	 * @apiSuccess (Sucesso - 200) {ProcedimentoResumido} resultadoConsultaProcesso.sei.procedimentosAnexados Lista com os processos anexados
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.procedimentosAnexados.idProcedimento Identificador do processo
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.procedimentosAnexados.procedimentoFormatado Número do processo visível para o usuário
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.procedimentosAnexados.tipoProcedimento Tipo do processo 
	 * @apiSuccess (Sucesso - 200) {ProcedimentoResumido} resultadoConsultaProcesso.sei.procedimentosRelacionados Lista com os processos relacionados
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.procedimentosRelacionados.idProcedimento Identificador do processo
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.procedimentosRelacionados.procedimentoFormatado Número do processo visível para o usuário
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.procedimentosRelacionados.tipoProcedimento Tipo do processo
	 * 
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.procedimentoFormatado Número do processo visível para o usuário
	 * @apiSuccess (Sucesso - 200) {TipoProcedimento} resultadoConsultaProcesso.sei.tipoProcedimento Tipo de procedimento
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.tipoProcedimento.idTipoProcedimento Identificador do tipo de procedimento
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.tipoProcedimento.nome Nome do tipo de procedimento
	 * @apiSuccess (Sucesso - 200) {Andamento} resultadoConsultaProcesso.sei.ultimoAndamento Ultimo andamento do processo (opcional)
	 * @apiSuccess (Sucesso - 200) {Data} resultadoConsultaProcesso.sei.ultimoAndamento.dataHora Data e hora do registro de andamento
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.ultimoAndamento.descricao Descrição do andamento
	 * @apiSuccess (Sucesso - 200) {Unidade} resultadoConsultaProcesso.sei.ultimoAndamento.unidade Unidade responsável pelo andamento
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.ultimoAndamento.unidade.descricao Nome da unidade
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.ultimoAndamento.unidade.idUnidade Código da unidade
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.ultimoAndamento.unidade.sigla Sigla da unidade
	 * @apiSuccess (Sucesso - 200) {Usuario} resultadoConsultaProcesso.sei.ultimoAndamento.usuario Usuário responsável pela ação
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.ultimoAndamento.usuario.idUsuario Código do usuário
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.ultimoAndamento.usuario.nome Nome do usuário
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.ultimoAndamento.usuario.sigla Login do usuário
	 * @apiSuccess (Sucesso - 200) {UnidadeProcedimentoAberto} resultadoConsultaProcesso.sei.unidadesProcedimentoAberto Unidades onde o processo está aberto (opcional)
	 * @apiSuccess (Sucesso - 200) {Unidade} resultadoConsultaProcesso.sei.unidadesProcedimentoAberto.unidade Unidade onde o processo está aberto
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.unidadesProcedimentoAberto.unidade.descricao Nome da unidade
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.unidadesProcedimentoAberto.unidade.idUnidade Código da unidade
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sei.unidadesProcedimentoAberto.unidade.sigla Sigla da unidade
	 * 
	 * @apiSuccess (Sucesso - 200) {DocumentoSIPAR} resultadoConsultaProcesso.sipar Resultado de processo do SIPAR
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sipar.digito Digito do processo
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sipar.operadora Operadora relacionada ao processo
	 * @apiSuccess (Sucesso - 200) {Data} resultadoConsultaProcesso.sipar.emissao Data de emissão
	 * @apiSuccess (Sucesso - 200) {Data} resultadoConsultaProcesso.sipar.registro Data de registro
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sipar.tipo Tipo do processo
	 * @apiSuccess (Sucesso - 200) {String} resultadoConsultaProcesso.sipar.resumo Resumo sobre o processo
	 * @apiSuccess (Sucesso - 200) {Long} resultadoConsultaProcesso.sipar.orgaoPosse Código do orgão que tem a posse do processo
	 * @apiSuccess (Sucesso - 200) {Long} resultadoConsultaProcesso.sipar.orgaoOrigem Código do orgão de origem do processo
	 * @apiSuccess (Sucesso - 200) {Long} resultadoConsultaProcesso.sipar.orgaoRegistro Código do orgão de registro do processo
	 * @apiSuccess (Sucesso - 200) {Long} resultadoConsultaProcesso.sipar.assunto Código do assunto
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */

	/**
	 * @api {post} /:unidade/processos/concluidos Concluir processo
	 * @apiName concluirProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER
	 * 
	 * @apiDescription Conclui o processo informado.
	 *
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
	 * 
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [auto-formatacao=S] O broker utilizará a mascara padrão para formatar o número do processo
	 * 
	 * @apiParam (Request Body) {String} processo Numero do processo a ser concluído
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	endpoint: [POST] https://<host>/sei-broker/service/COSAP/processos/concluidos
	 *
	 *	body:
	 *	33910000029201653
	 *
	 * @apiSuccess (Sucesso - 200) {Boolean} resultado Booleano informando sucesso da requisição
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */

	/**
	 * @api {post} /:unidade/processos/enviados Enviar processo
	 * @apiName enviarProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER
	 *
	 * @apiDescription Envia processos a outras unidades.
	 * 
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI. Representa a unidade de localização atual do processo.
	 * 
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [reabir=N] Reabrir automaticamente caso esteja concluído na unidade
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [auto-formatacao=S] O broker utilizará a mascara padrão para formatar o número do processo
	 * 
	 * @apiParam (Request Body) {String} processo Numero do processo a ser enviado. Em caso de processo apensado, o processo a ser enviado deve ser o processo PAI. Não é possível tramitar através do processo FILHO.
	 * @apiParam (Request Body) {String[]} unidadesDestino Lista com os identificadores das unidades de destino do processo, código ou nome da unidade.
	 * @apiParam (Request Body) {Boolean} manterAbertoOrigem=false Informa se o processo deve continuar aberto na unidade de origem .
	 * @apiParam (Request Body) {Boolean} removerAnotacoes=false Informa se as anotações do processo devem ser removidas.
	 * @apiParam (Request Body) {Boolean} enviarEmailNotificacao=false Informa se deve ser enviado um e-mail de notificação.
	 * @apiParam (Request Body) {Date} dataRetornoProgramado=null Data para retorno programado do processo a unidade (padrão ISO-8601).
	 * @apiParam (Request Body) {Integer} qtdDiasAteRetorno=null Quantidade de dias até o retorno do processo.
	 * @apiParam (Request Body) {Boolean} somenteDiasUteis=false Informa se só serão contabilizados dias úteis.
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	endpoint: [POST] https://<host>/sei-broker/service/COSAP/processos/enviados
	 *
	 *	body:
	 *	{
	 *		"numeroDoProcesso":"1600000000098",
	 *		"unidadesDestino":["110000934","110000934"],
	 *		"manterAbertoOrigem":false,
	 *		"removerAnotacoes":false,
	 *		"enviarEmailNotificacao":true,
	 *		"dataRetornoProgramado":2016-04-14T19:39:22.292+0000,
	 *		"qtdDiasAteRetorno":5,
	 *		"somenteDiasUteis":true}
	 *	}
	 *
	 * @apiSuccess (Sucesso - 200) {Boolean} resultado Booleano informando sucesso da requisição
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */

	/**
	 * @api {delete} /:unidade/processos/concluidos/:processo Reabrir processo
	 * @apiName reabrirProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER
	 * 
	 * @apiDescription Reabre um processo.
	 *
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
	 * @apiParam (Path Parameters) {String} processo Numero do processo a ser reaberto
	 * 
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [auto-formatacao=S] O broker utilizará a mascara padrão para formatar o número do processo
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	curl -X DELETE https://<host>/sei-broker/service/COSAP/processos/concluidos/33910000029201653
	 *
	 * @apiSuccess (Sucesso - 200) {Boolean} resultado Booleano informando sucesso da requisição
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */

	/**
	 * @api {get} /:unidade/processos/tipos Tipos de processo
	 * @apiName listarTiposProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER ou RO_SEI_BROKER_CONSULTA
	 * 
	 * @apiDescription Consulta os tipos de processo.
	 * 
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
	 * 
	 * @apiParam (Query Parameters) {String} [serie] Tipo do documento cadastrado no serviço
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	curl -i https://<host>/sei-broker/service/COSAP/processos/tipos
	 *
	 * @apiSuccess (Sucesso - 200) {Boolean} resultado Booleano informando sucesso da requisição
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */

	/**
	 * @api {post} /:unidade/processos Abrir processo
	 * @apiName abrirProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER
	 * 
	 * @apiDescription Abre um processo.
	 *
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
	 * 
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [auto-formatacao=S] O broker utilizará a mascara padrão para formatar o número do processo
	 * 
	 * @apiParam (Request Body) {NovoProcesso} novoProcesso Objeto de representação de novo processo.
	 * @apiParam (Request Body) {Procedimento} novoProcesso.dadosProcesso Dados do processo.
	 * @apiParam (Request Body) {String} novoProcesso.dadosProcesso.idTipoProcedimento Identificador do tipo de processo no SEI (Consultar tipos de processo).
	 * @apiParam (Request Body) {String} [novoProcesso.dadosProcesso.numeroProtocolo] Número do processo, se não for informado o sistema irá gerar um novo número automaticamente.
	 * @apiParam (Request Body) {String} [novoProcesso.dadosProcesso.dataAutuacao] Data de autuação do processo, se não for informada o sistema utilizará a data atual.
	 * @apiParam (Request Body) {String} novoProcesso.dadosProcesso.especificacao Especificação do processo.
	 * @apiParam (Request Body) {Assunto[]} [novoProcesso.dadosProcesso.assuntos] Assuntos do processo, os assuntos informados serão adicionados aos assuntos sugeridos para o tipo de processo. Passar um array vazio caso nenhum outro assunto seja necessário(caso apenas os sugeridos para o tipo bastem para classificação).
	 * @apiParam (Request Body) {String} novoProcesso.dadosProcesso.assuntos.codigoEstruturado Código do assunto
	 * @apiParam (Request Body) {String} novoProcesso.dadosProcesso.assuntos.descricao Descrição do assunto								
	 * @apiParam (Request Body) {Interessado[]} [novoProcesso.dadosProcesso.interessados] Informar um conjunto com os dados de interessados. Se não existirem interessados deve ser informado um conjunto vazio.
	 * @apiParam (Request Body) {String} novoProcesso.dadosProcesso.interessados.nome Nome do interessado
	 * @apiParam (Request Body) {String} novoProcesso.dadosProcesso.interessados.sigla Login do interessado								
	 * @apiParam (Request Body) {String} [novoProcesso.dadosProcesso.observacao] Texto da observação, passar null se não existir.
	 * @apiParam (Request Body) {String = "0 (público)","1 (restrito)", "2 (sigiloso)", "null (herda do tipo do processo)"} [novoProcesso.dadosProcesso.nivelAcesso] Nível de acesso do processo.
	 * @apiParam (Request Body) {String} [novoProcesso.dadosProcesso.idHipoteseLegal] Identificador da hipótese legal associada.	 * 
	 * @apiParam (Request Body) {Documento[]} [novoProcesso.documentos] Informar os documentos que devem ser gerados em conjunto com o processo (ver serviço de incluir documento para instruções de preenchimento). Se nenhum documento for gerado informar um conjunto vazio. 
	 * @apiParam (Request Body) {String[]} [novoProcesso.processosRelacionados] Lista com os identificadores dos processos(idProcedimento) que devem ser relacionados automaticamente com o novo processo, atenção, não passar o número do processo formatado.
	 * @apiParam (Request Body) {String[]} [novoProcesso.unidadesDestino] Lista com os identificadores das unidades de destino do processo, código ou nome da unidade.
	 * @apiParam (Request Body) {Boolean} [novoProcesso.manterAbertoOrigem=false] Indica se o processo deve ser mantido aberto na unidade de origem.
	 * @apiParam (Request Body) {Boolean} [novoProcesso.enviarEmailNotificacao=false] Indica se deve ser enviado email de aviso para as unidades destinatárias. 
	 * @apiParam (Request Body) {Date} [novoProcesso.dataRetornoProgramado] Data para definição de Retorno Programado.
	 * @apiParam (Request Body) {Integer} [novoProcesso.qtdDiasAteRetorno] Número de dias para o Retorno Programado.
	 * @apiParam (Request Body) {Boolean} [novoProcesso.somenteDiasUteis=false] Indica se o valor passado no parâmetro qtdDiasAteRetorno corresponde a dias úteis ou não.
	 * @apiParam (Request Body) {String} [novoProcesso.idMarcador] Identificador de um marcador da unidade para associação.
	 * @apiParam (Request Body) {String} [novoProcesso.textoMarcador] Texto do marcador. 
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	endpoint: [POST] https://<host>/sei-broker/service/COSAP/processos
	 *
	 *	body:
	 *	{
	 *		"dadosProcesso":{
	 *				"idTipoProcedimento":"100000375",
	 *				"especificacao":"Documentação REST",
	 *				"assuntos":[],
	 *				"interessados":[{"sigla":"andre.guimaraes","nome":"André Luís Fernandes Guimarães"}],
	 *				"observacao":"Exemplo de requisição",
	 *				"nivelAcesso":0
	 *			},
	 *			"documentos":[],
	 *			"processosRelacionados":["186649"],
	 *			"unidadesDestino":["COTEC","110000935","COSAP"],
	 *			"manterAbertoOrigem":true,
	 *			"enviarEmailNotificacao":true,
	 *			"qtdDiasAteRetorno":null,
	 *			"somenteDiasUteis":false
	 *	}
	 * 
	 * @apiSuccess (Sucesso Response Body - 201) {String} idProcedimento Número do processo gerado
	 * @apiSuccess (Sucesso Response Body - 201) {String} procedimentoFormatado Número formatado do processo gerado
	 * @apiSuccess (Sucesso Response Body - 201) {String} linkAcesso Link de acesso ao processo
	 * @apiSuccess (Sucesso Response Body - 201) {RetornoInclusaoDocumento} retornoInclusaoDocumentos Retorno dos documentos inseridos no processo (opcional)
	 * @apiSuccess (Sucesso Response Body - 201) {String} retornoInclusaoDocumentos.idDocumento Número interno do documento
	 * @apiSuccess (Sucesso Response Body - 201) {String} retornoInclusaoDocumentos.documentoFormatado Número do documento visível para o usuário
	 * @apiSuccess (Sucesso Response Body - 201) {String} retornoInclusaoDocumentos.linkAcesso Link para acesso ao documento
	 * 
	 * @apiSuccess (Sucesso Response Header - 201) {header} Location URL de acesso ao recurso criado.
	 * 
	 * @apiSuccessExample {json} Success-Response:
	 *     HTTP/1.1 200 OK
	 *     {
	 *       "idProcedimento":"33910000056201626",
	 *       "procedimentoFormatado":"33910.000056/2016-26",
	 *       "linkAcesso":"https://sei-hm.ans.gov.br/controlador.php?acao=arvore_visualizar&acao_origem=procedimento_visualizar&id_procedimento=267&infra_sistema=100000100&infra_unidade_atual=110000934&infra_hash=7a6a75f6b8ec6b43aaffc6616159a85e35e444b9b32da54108e467bc9f3bdfab",
	 *       "retornoInclusaoDocumentos":[]
	 *     }
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */

	/**
	 * @api {get} /processos Listar processos
	 * @apiName consultarProcessos
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER ou RO_SEI_BROKER_CONSULTA
	 * 
	 * @apiDescription Lista os processos conforme os filtros informados.
	 * 
	 * @apiParam (Query Parameters) {Boolean} [crescente=false] Ordenar em ordem crescente, processos mais antigos primeiro
	 * @apiParam (Query Parameters) {String} [interessado] Identificador do interessado
	 * @apiParam (Query Parameters) {String} [unidade] Unidade da qual deseja filtrar os processos
	 * @apiParam (Query Parameters) {String} [pagina=1] Número da página
	 * @apiParam (Query Parameters) {String} [qtdRegistros=50] Quantidade de registros retornados por página
	 * @apiParam (Query Parameters) {String} [tipo] Identificador do tipo de processo que deseja filtrar
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	curl -i https://<host>/sei-broker/service/processos
	 *
	 * @apiSuccess (Sucesso Response Body - 200) {List} processos Lista com os processos encontrados
	 * @apiSuccess (Sucesso Response Body - 200) {ProcessoResumido} processos.processoResumido Resumo do processo encontrado no SEI
	 * @apiSuccess (Sucesso Response Body - 200) {String} processos.processoResumido.numero Número do processo
	 * @apiSuccess (Sucesso Response Body - 200) {String} processos.processoResumido.numeroFormatado Número do processo formatado
	 * @apiSuccess (Sucesso Response Body - 200) {String} processos.processoResumido.descricao Descrição do processo
	 * @apiSuccess (Sucesso Response Body - 200) {String} processos.processoResumido.unidade Unidade responsável pelo processo
	 * @apiSuccess (Sucesso Response Body - 200) {Data} processos.processoResumido.dataGeracao Data de geração do processo
	 * @apiSuccess (Sucesso Response Body - 200) {Tipo} processos.processoResumido.tipo Objeto com os dados do tipo de processo
	 * @apiSuccess (Sucesso Response Body - 200) {String} processos.processoResumido.tipo.codigo Código do tipo
	 * @apiSuccess (Sucesso Response Body - 200) {String} processos.processoResumido.tipo.nome Nome do tipo
	 * 
	 * @apiSuccess (Sucesso Response Header - 200) {header} total_registros quantidade de registros que existem para essa consulta.
	 *
	 * @apiSuccessExample {json} Success-Response:
	 *     HTTP/1.1 200 OK
	 *     {
	 *       "numero": "33910007118201710",
	 *       "numeroFormatado": "33910.007118/2017-10",
	 *       "descricao": "D:2237021 - SUL AMÉRICA SEGURO SAÚDE S/A",
	 *       "unidade": "NÚCLEO-RJ",
	 *       "dataGeracao": "2017-10-09T03:00:00.000+0000",
	 *       "tipo": {
	 *       	"codigo": "100000882",
	 *       	"nome": "Fiscalização: Sancionador"
	 *       }
	 *     }
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */

	/**
	 * @api {get} /:unidade/processos/:processo/andamentos Listar andamentos
	 * @apiName listarAndamentos
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER ou RO_SEI_BROKER_CONSULTA
	 * 
	 * @apiDescription Lista as andamentos do processo.
	 *
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
	 * @apiParam (Path Parameters) {String} processo Número do processo.
	 * 
	 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [exibir-atributos="N"] Sinalizador para retorno dos atributos associados.
	 * @apiParam (Query Parameters) {String[]} [andamento] Filtra andamentos pelos identificadores informados.
	 * @apiParam (Query Parameters) {String[]} [tarefa="1,48,65"] Filtra andamentos pelos identificadores de tarefas informados (consultar lista de tarefas).
	 * @apiParam (Query Parameters) {String[]} [tarefa-modulo] Filtra andamentos pelos identificadores de tarefas de módulo informados.
	 *
	 * @apiExample {curl} Exemplo de requisição:
	 * 	curl -i https://<host>/sei-broker/service/cosap/processos/33910003114201754/andamentos
	 * 
	 * @apiSuccess (Sucesso - 200) {Andamento[]} andamentos Lista dos andamentos do processo.
	 * @apiSuccess (Sucesso - 200) {String} andamentos.idAndamento Identificador do andamento.
	 * @apiSuccess (Sucesso - 200) {String} andamentos.idTarefa Identificador da tarefa.
	 * @apiSuccess (Sucesso - 200) {String} andamentos.descricao Descrição do andamento.
	 * @apiSuccess (Sucesso - 200) {String} andamentos.dataHora Data e hora do andamento.
	 * @apiSuccess (Sucesso - 200) {Unidade} andamentos.unidade Unidade onde o andamento ocorreu.
	 * @apiSuccess (Sucesso - 200) {String} andamentos.unidade.idUnidade Identificador da unidade.
	 * @apiSuccess (Sucesso - 200) {String} andamentos.unidade.sigla Sigla da unidade.
	 * @apiSuccess (Sucesso - 200) {String} andamentos.unidade.descricao Descrição da unidade.
	 * @apiSuccess (Sucesso - 200) {Usuario} andamentos.usuario Usuário responsável pelo andamento.
	 * @apiSuccess (Sucesso - 200) {String} andamentos.usuario.idUsuario Identificador do usuário.
	 * @apiSuccess (Sucesso - 200) {String} andamentos.usuario.sigla Login do usuário.
	 * @apiSuccess (Sucesso - 200) {String} andamentos.usuario.nome Nome do usuário.
	 * @apiSuccess (Sucesso - 200) {AtributoAndamento[]} andamentos.atributos Lista com os atributos relacionados ao andamento.
	 * @apiSuccess (Sucesso - 200) {String} andamentos.atributos.nome Nome do atributo.
	 * @apiSuccess (Sucesso - 200) {String} andamentos.atributos.valor Valor do atributo.
	 * @apiSuccess (Sucesso - 200) {String} andamentos.atributos.idOrigem Identificador de origem do atributo.
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */	

	/**
	 * @api {post} /:unidade/processos/:processo/andamentos Lançar andamento
	 * @apiName lancarAndamento
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER
	 * 
	 * @apiDescription Lança um andamento ao processo.
	 *
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
	 * @apiParam (Path Parameters) {String} processo Número do processo.
	 *
	 * @apiParam (Request Body) {NovoAndamento} novoAndamento Objeto representando o novo andamento. 
	 * @apiParam (Request Body) {String} novoAndamento.tarefa Identificador da tarefa a qual o andamento se refere (consultar lista de tarefas).
	 * @apiParam (Request Body) {String} [novoAndamento.tarefaModulo] Identificadoe da tarefa módulo a qual o andamento se refere.
	 * @apiParam (Request Body) {HashMap} novoAndamento.atributos Mapa chave-valor, identificando como serão preenchidos os atributos da tarefa.
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	endpoint: [POST] https://<host>/sei-broker/service/COSAP/processos/33910003114201754/andamentos
	 *
	 *	body:
	 *	{
	 *		"tarefa":"65",
	 *		"atributos":{"DESCRICAO":"Novo andamento adicionado pelo SEI-Broker"}
	 *	}
	 * 
	 * @apiSuccess (Sucesso - 201) {Andamento} andamento Andamento criado.
	 * @apiSuccess (Sucesso - 201) {String} andamento.idAndamento Identificador do andamento.
	 * @apiSuccess (Sucesso - 201) {String} andamento.idTarefa Identificador da tarefa.
	 * @apiSuccess (Sucesso - 201) {String} andamento.descricao Descrição do andamento.
	 * @apiSuccess (Sucesso - 201) {String} andamento.dataHora Data e hora do andamento.
	 * @apiSuccess (Sucesso - 201) {Unidade} andamento.unidade Unidade onde o andamento ocorreu.
	 * @apiSuccess (Sucesso - 201) {String} andamento.unidade.idUnidade Identificador da unidade.
	 * @apiSuccess (Sucesso - 201) {String} andamento.unidade.sigla Sigla da unidade.
	 * @apiSuccess (Sucesso - 201) {String} andamento.unidade.descricao Descrição da unidade.
	 * @apiSuccess (Sucesso - 201) {Usuario} andamento.usuario Usuário responsável pelo andamento.
	 * @apiSuccess (Sucesso - 201) {String} andamento.usuario.idUsuario Identificador do usuário.
	 * @apiSuccess (Sucesso - 201) {String} andamento.usuario.sigla Login do usuário.
	 * @apiSuccess (Sucesso - 201) {String} andamento.usuario.nome Nome do usuário.
	 * @apiSuccess (Sucesso - 201) {AtributoAndamento[]} andamento.atributos Lista com os atributos relacionados ao andamento.
	 * @apiSuccess (Sucesso - 201) {String} andamento.atributos.nome Nome do atributo.
	 * @apiSuccess (Sucesso - 201) {String} andamento.atributos.valor Valor do atributo.
	 * @apiSuccess (Sucesso - 201) {String} andamento.atributos.idOrigem Identificador de origem do atributo.
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */	

	/**
	 * @api {post} /:unidade/processos/:processo/anexados Anexar processo
	 * @apiName anexarProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER
	 * 
	 * @apiDescription Anexar um processo.
	 *
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
	 * @apiParam (Path Parameters) {String} processo Número do processo.
	 *
	 * @apiParam (Request Body) {ProcessoAnexado} processoAnexado Objeto representando o processo a ser anexado. 
	 * @apiParam (Request Body) {String} processoAnexado.numero Número do processo a ser anexado.
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	endpoint: [POST] https://<host>/sei-broker/service/COSAP/processos/33910003114201754/anexados
	 *
	 *	body:
	 *	{
	 *		"numero":"33910003093201777"
	 *	}
	 * 
	 * @apiSuccessExample {json} Success-Response:
	 *     HTTP/1.1 200 OK
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */	

	/**
	 * @api {delete} /:unidade/processos/:processo/anexados/:processoAnexado Desanexar processo
	 * @apiName desanexarProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER
	 * 
	 * @apiDescription Remove um processo anexado.
	 * 
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
	 * @apiParam (Path Parameters) {String} processo Número do processo.
	 * @apiParam (Path Parameters) {String} processo Número do processo anexado.
	 * 	
	 * @apiExample Exemplo de requisição:	
	 *	curl -X DELETE https://<host>/sei-broker/service/COSAP/processos/33910003114201754/anexados/33910003093201777
	 *
	 * @apiParam (Request Body) {Motivo} motivo Objeto com o motivo.
	 * @apiParam (Request Body) {String} motivo.motivo Descrição do motivo para remoção do processo em anexo.
	 *
	 * @apiSuccessExample {json} Success-Response:
	 *     HTTP/1.1 200 OK
	 *     
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */

	/**
	 * @api {post} /:unidade/processos/bloqueados Bloquear processo
	 * @apiName bloquearProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER
	 * 
	 * @apiDescription Bloquear um processo.
	 *
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
	 *
	 * @apiParam (Request Body) {ProcessoBloqueado} processoBloqueado Objeto com o número do processo a ser bloqueado. 
	 * @apiParam (Request Body) {String} processoBloqueado.numero Número do processo a ser bloqueado.
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	endpoint: [POST] https://<host>/sei-broker/service/COSAP/processos/bloqueados
	 *
	 *	body:
	 *	{
	 *		"numero":"33910003093201777"
	 *	}
	 * 
	 * @apiSuccessExample {json} Success-Response:
	 *     HTTP/1.1 200 OK
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */	

	/**
	 * @api {delete} /:unidade/processos/bloqueados/:processo Desbloquear processo
	 * @apiName desbloquearProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER
	 * 
	 * @apiDescription Desbloquear um processo.
	 *
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
	 * @apiParam (Path Parameters) {String} processo Número do processo.
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	endpoint: [DELETE] https://<host>/sei-broker/service/COSAP/processos/bloqueados/33910003093201777
	 * 
	 * @apiSuccessExample {json} Success-Response:
	 *     HTTP/1.1 200 OK
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */	

	/**
	 * @api {post} /:unidade/processos/:processo/relacionados Relacionar processo
	 * @apiName relacionarProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER
	 * 
	 * @apiDescription Relacionar processos.
	 *
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
	 * @apiParam (Path Parameters) {String} processo Número do processo.
	 *
	 * @apiParam (Request Body) {ProcessoRelacionado} processoRelacionado Objeto com o número do processo a ser relacionado. 
	 * @apiParam (Request Body) {String} processoRelacionado.numero Número do processo a ser relacionado.
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	endpoint: [POST] https://<host>/sei-broker/service/COSAP/processos/33910003093201777/relacionados
	 *
	 *	body:
	 *	{
	 *		"numero":"33910000086201632"
	 *	}
	 * 
	 * @apiSuccessExample {json} Success-Response:
	 *     HTTP/1.1 200 OK
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */	

	/**
	 * @api {delete} /:unidade/processos/:processo/relacionados/:processoRelacionado Desrelacionar processo
	 * @apiName desrelacionarProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER
	 * 
	 * @apiDescription Desrelacionar processos.
	 *
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
	 * @apiParam (Path Parameters) {String} processo Número do processo.
	 * @apiParam (Path Parameters) {String} processoRelacionado Número do processo relacionado.
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	endpoint: [DELETE] https://<host>/sei-broker/service/COSAP/processos/33910000086201632/relacionados/33910003107201752
	 * 
	 * @apiSuccessExample {json} Success-Response:
	 *     HTTP/1.1 200 OK
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */	

	/**
	 * @api {post} /:unidade/processos/sobrestados Sobrestar processo
	 * @apiName sobrestarProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER
	 * 
	 * @apiDescription Sobrestar processo.
	 *
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
	 *
	 * @apiParam (Request Body) {SobrestamentoProcesso} sobrestamento Objeto com o motivo do sobrestamento.
	 * @apiParam (Request Body) {String} sobrestamento.processo Número do processo a ser sobrestado. 
	 * @apiParam (Request Body) {String} sobrestamento.motivo Motivo do sobrestamento.
	 * @apiParam (Request Body) {String} [sobrestamento.processoVinculado] Número do processo vinculado.
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	endpoint: [POST] https://<host>/sei-broker/service/COSAP/processos/sobrestados
	 *
	 *	body:
	 *	{
	 *		"processo":"33910003093201777",
	 *		"motivo":"Sobrestando através da camada de serviços."
	 *	}
	 * 
	 * @apiSuccessExample {json} Success-Response:
	 *     HTTP/1.1 200 OK
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */	

	/**
	 * @api {delete} /:unidade/processos/sobrestados/:processo Remover sobrestamento
	 * @apiName removerSobrestamentoProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER
	 * 
	 * @apiDescription Remover sobrestamento de processo.
	 *
	 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
	 * @apiParam (Path Parameters) {String} processo Número do processo.
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	endpoint: [DELETE] https://<host>/sei-broker/service/COSAP/processos/sobrestados/33910003093201777
	 * 
	 * @apiSuccessExample {json} Success-Response:
	 *     HTTP/1.1 200 OK
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */	

	/**
	 * @api {get} /processos/:processo/documentos Listar documentos
	 * @apiName listarDocumentosPorProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER ou RO_SEI_BROKER_CONSULTA
	 * 
	 * @apiDescription Retorna os documentos de um determinado processo.
	 * 
	 * @apiParam (Path Parameters) {String} processo Número do processo.
	 * 
	 * @apiParam (Query Parameters) {String} [tipo=null] Identificador do tipo do documento, caso seja necessário filtrar pelo tipo
	 * @apiParam (Query Parameters) {String = "G (gerado/interno), R (recebido/externo)"} [origem=null] Filtra os documentos por gerados ou recebidos
	 * @apiParam (Query Parameters) {boolean} [somenteAssinados=false] Exibir somente documentos assinados
	 * @apiParam (Query Parameters) {String} [numeroInformado] Filtrar pelo número informado
	 * @apiParam (Query Parameters) {String} [pagina=1] Número da página
	 * @apiParam (Query Parameters) {String} [qtdRegistros = 50] Quantidade de registros que serão exibidos por página
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	curl -i https://<host>/sei-broker/service/processos/33910003149201793/documentos
	 *
	 * @apiSuccess (Sucesso Response Body - 200) {List} documentos Lista com os documentos encontrados.
	 * @apiSuccess (Sucesso Response Body - 200) {DocumentoResumido} documentos.documentoResumido Resumo do documento encontrado no SEI.
	 * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.numero Número do documento.
	 * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.numeroInformado Número informado na inclusão do documento, também conhecido como número de árvore.
	 * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.nome Nome do arquivo que foi enviado para o SEI. (Somente para documentos cujo a origem é "RECEBIDO", também conhecidos como documentos externos)
	 * @apiSuccess (Sucesso Response Body - 200) {String="GERADO","RECEBIDO"} documentos.documentoResumido.origem Origem do documento, se o mesmo é um documento "GERADO" internamente ou "RECEBIDO" de uma fonte externa.
	 * @apiSuccess (Sucesso Response Body - 200) {Data} documentos.documentoResumido.dataGeracao Data de geração do documento.
	 * @apiSuccess (Sucesso Response Body - 200) {Tipo} documentos.documentoResumido.tipo Objeto representando o tipo do documento.
	 * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.tipo.codigo Identificados do tipo do documento, também conhecido como série.
	 * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.tipo.nome Nome do tipo do documento.
	 * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.tipoConferencia Tipo de conferência do documento.
	 * @apiSuccess (Sucesso Response Body - 200) {boolean} documentos.documentoResumido.assinado Boolean indicando se o documento foi assinado.
	 * 
	 * @apiSuccess (Sucesso Response Header- 200) {header} total_registros Quantidade de registros que existem para essa consulta
	 * 
	 * @apiSuccessExample {json} Success-Response:
	 *     HTTP/1.1 200 OK
	 *     {
	 *       "numero": "0670949",
	 *       "numeroInformado": "594",
	 *       "origem": "RECEBIDO",
	 *       "dataGeracao": "2015-08-10T00:00:00-03:00",
	 *       "tipo": {
	 *       	"codigo": "629",
	 *       	"nome": "Relatório de Arquivamento-SIF"
	 *       }
	 *       "tipoConferencia": "4",
	 *       "assinado": true
	 *     }
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */

	/**
	 * @api {get} /processos/:processo/documentos/:documento Consultar documento
	 * @apiName consultarDocumentoDoProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER ou RO_SEI_BROKER_CONSULTA
	 * 
	 * @apiDescription Consulta um documento de determinado processo.
	 * 
	 * @apiParam (Path Parameters) {String} processo Número do processo.
	 * @apiParam (Path Parameters) {String} documento Número do documento.
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	curl -i https://<host>/sei-broker/service/processos/33910002924201874/documentos/55737058
	 *
	 * @apiSuccess (Sucesso Response Body - 200) {DocumentoResumido} documentoResumido Resumo do documento encontrado no SEI.
	 * @apiSuccess (Sucesso Response Body - 200) {String} documentoResumido.numero Número do documento.
	 * @apiSuccess (Sucesso Response Body - 200) {String} documentoResumido.numeroInformado Número informado na inclusão do documento, também conhecido como número de árvore.
	 * @apiSuccess (Sucesso Response Body - 200) {String="GERADO","RECEBIDO"} documentoResumido.origem Origem do documento, se o mesmo é um documento "GERADO" internamente ou "RECEBIDO" de uma fonte externa.
	 * @apiSuccess (Sucesso Response Body - 200) {Data} documentoResumido.dataGeracao Data de geração do documento.
	 * @apiSuccess (Sucesso Response Body - 200) {Tipo} documentoResumido.tipo Objeto representando o tipo do documento.
	 * @apiSuccess (Sucesso Response Body - 200) {String} documentoResumido.tipo.codigo Identificados do tipo do documento, também conhecido como série.
	 * @apiSuccess (Sucesso Response Body - 200) {String} documentoResumido.tipo.nome Nome do tipo do documento.
	 * @apiSuccess (Sucesso Response Body - 200) {String} documentoResumido.tipoConferencia Tipo de conferência do documento.
	 * @apiSuccess (Sucesso Response Body - 200) {boolean} documentoResumido.assinado Boolean indicando se o documento foi assinado.
	 * 
	 * @apiSuccessExample {json} Success-Response:
	 *     HTTP/1.1 200 OK
	 *     {
	 *       "numero": "0670949",
	 *       "numeroInformado": "594",
	 *       "origem": "RECEBIDO",
	 *       "dataGeracao": "2015-08-10T00:00:00-03:00",
	 *       "tipo": {
	 *       	"codigo": "629",
	 *       	"nome": "Relatório de Arquivamento-SIF"
	 *       }
	 *       "tipoConferencia": "4",
	 *       "assinado": true
	 *     }
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */

	/**
	 * @api {get} /processos/:processo/unidades Consultar unidades
	 * @apiName consultarUnidadesProcesso
	 * @apiGroup Processo
	 * @apiVersion 2.0.0
	 * 
	 * @apiPermission RO_SEI_BROKER ou RO_SEI_BROKER_CONSULTA
	 * 
	 * @apiDescription Consulta as unidades onde o processo está aberto.
	 * 
	 * @apiParam (Path Parameters) {String} processo Número do processo.
	 * 
	 * @apiExample Exemplo de requisição:	
	 *	curl -i https://<host>/sei-broker/service/processos/33910002924201874/unidades
	 *
	 * @apiSuccess (Sucesso Response Body - 200) {List} unidades Lista da unidades onde o processo está aberto.
	 * @apiSuccess (Sucesso Response Body - 200) {Unidade} unidades.unidade Objeto Unidade.
	 * @apiSuccess (Sucesso Response Body - 200) {String} unidades.unidade.idUnidade Identificador da unidade.
	 * @apiSuccess (Sucesso Response Body - 200) {String} unidades.unidade.sigla Sigla de unidade.
	 * @apiSuccess (Sucesso Response Body - 200) {String} unidades.unidade.descricao Descrição da unidade.
	 * @apiSuccess (Sucesso Response Body - 200) {String} unidades.unidade.sinProtocolo Descrição pendente da área de negócio.
	 * @apiSuccess (Sucesso Response Body - 200) {String} unidades.unidade.sinArquivamento Descrição pendente da área de negócio.
	 * @apiSuccess (Sucesso Response Body - 200) {String} unidades.unidade.sinOuvidoria Descrição pendente da área de negócio.
	 * 
	 * @apiSuccessExample {json} Success-Response:
	 *     HTTP/1.1 200 OK
	 *     [
	 *     	{
	 *      	 "idUnidade": "110000934",
	 *      	 "sigla": "COSAP",
	 *      	 "descricao": "Coordenadoria de Sistemas e Aplicativos",
	 *      	 "sinProtocolo": "S",
	 *      	 "sinArquivamento": "N",
	 *      	 "sinOuvidoria": "N"
	 *     	}
	 *     ]
	 *
	 * @apiErrorExample {json} Error-Response:
	 * 	HTTP/1.1 500 Internal Server Error
	 * 	{
	 *		"error":"Mensagem de erro."
	 *		"code":"código do erro"
	 *	}
	 */