PageSourceSearch

https://regardsoss.github.io/assets/js/c43b3899.5bd397db.js

js regardsoss.github.io collected 2026-10-03 09:52:51 UTC 9,657 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkregardsoss_github_io=globalThis.webpackChunkregardsoss_github_io||[]).push([[9610],{13899(e,s,r){r.r(s),r.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>d,metadata:()=>t,toc:()=>a});const t=JSON.parse('{"id":"development/services/ingest/api-guides/amqp/ingest-amqp-subscribe-sip-responses","title":"Subscribe to products submission requests events (SIP)","description":"Introduction","source":"@site/versioned_docs/version-2.2.0/development/services/ingest/api-guides/amqp/ingest-amqp-subscribe-sip-responses.md","sourceDirName":"development/services/ingest/api-guides/amqp","slug":"/development/backend/services/ingest/api-guides/amqp/ingest-amqp-subscribe-sip-responses","permalink":"/docs/2.2.0/development/backend/services/ingest/api-guides/amqp/ingest-amqp-subscribe-sip-responses","draft":false,"unlisted":false,"editUrl":"https://github.com/RegardsOss/RegardsOss.github.io/edit/master/versioned_docs/version-2.2.0/development/services/ingest/api-guides/amqp/ingest-amqp-subscribe-sip-responses.md","tags":[],"version":"2.2.0","sidebarPosition":3,"frontMatter":{"title":"Subscribe to products submission requests events (SIP)","sidebar_label":"Subscribe to products events","slug":"/development/backend/services/ingest/api-guides/amqp/ingest-amqp-subscribe-sip-responses","sidebar_position":3},"sidebar":"dev","previous":{"title":"Acknowledge product","permalink":"/docs/2.2.0/development/backend/services/ingest/api-guides/amqp/ingest-amqp-publish-ack"},"next":{"title":"Create Product","permalink":"/docs/2.2.0/development/backend/services/ingest/api-guides/rest/submit-sip-api"}}');var n=r(74848),i=r(28453);const d={title:"Subscribe to products submission requests events (SIP)",sidebar_label:"Subscribe to products events",slug:"/development/backend/services/ingest/api-guides/amqp/ingest-amqp-subscribe-sip-responses",sidebar_position:3},o=void 0,c={},a=[{value:"Introduction",id:"introduction",level:2},{value:"Regards AMQP api",id:"regards-amqp-api",level:2},{value:"Exchange",id:"exchange",level:2},{value:"Queue",id:"queue",level:2},{value:"Message format",id:"message-format",level:2},{value:"Properties",id:"properties",level:3},{value:"Headers",id:"headers",level:3},{value:"Body",id:"body",level:3}];function l(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h2,{id:"introduction",children:"Introduction"}),"\n",(0,n.jsxs)(s.p,{children:["This section describes how to subscribe to events sent by rs-ingest microservice about submitted products requests as\ndescribed in ",(0,n.jsx)(s.a,{href:"/docs/2.2.0/development/backend/services/ingest/api-guides/amqp/ingest-amqp-publish-product",children:"Submit Product SIP guide"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:["After your ",(0,n.jsx)(s.a,{href:"/docs/2.2.0/development/backend/services/ingest/api-guides/amqp/ingest-amqp-publish-product",children:"SIP Submission request"})," is sent you will receive :"]}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsxs)(s.li,{children:["A ",(0,n.jsx)(s.strong,{children:"GRANTED"})," or a ",(0,n.jsx)(s.strong,{children:"DENIED"})," response to inform you if your request has been accepted or not."]}),"\n",(0,n.jsxs)(s.li,{children:["A ",(0,n.jsx)(s.strong,{children:"SUCCESS"})," or an ",(0,n.jsx)(s.strong,{children:"ERROR"})," response to inform you that your request has been processed."]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Requests and responses are linked with a correlation identifier : ",(0,n.jsx)(s.strong,{children:"requestId"})," that is provided into submission\nrequests and added in service responses."]}),"\n",(0,n.jsx)(s.h2,{id:"regards-amqp-api",children:"Regards AMQP api"}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.a,{href:"/docs/2.2.0/development/concepts/amqp-api/",children:"Regards AMQP API concept"})," describe how AMQP interfaces must be handled to\nsubmit events or to subscribe to events."]}
1),"\n",(0,n.jsx)(s.h2,{id:"exchange",children:"Exchange"}),"\n",(0,n.jsx)(s.p,{children:"SIP submission responses from REGARDS are sent to exchange :"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Exchange"}),(0,n.jsx)(s.th,{children:"Virtual host"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:(0,n.jsx)(s.code,{children:"regards.broadcast.fr.cnes.regards.modules.ingest.dto.request.event.IngestRequestEvent"})}),(0,n.jsx)(s.td,{children:(0,n.jsx)(s.code,{children:"regards.multitenant.manager"})})]})})]}),"\n",(0,n.jsx)(s.h2,{id:"queue",children:"Queue"}),"\n",(0,n.jsxs)(s.p,{children:["Every consumer of this\nexchange ",(0,n.jsx)(s.a,{href:"/docs/2.2.0/development/concepts/amqp-api/#subscribe-to-regards-published-events",children:"must create its own queue bound to this exchange"}),"."]}),"\n",(0,n.jsx)(s.h2,{id:"message-format",children:"Message format"}),"\n",(0,n.jsx)(s.h3,{id:"properties",children:"Properties"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Parameter"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"app_id"}),(0,n.jsx)(s.td,{children:"String"}),(0,n.jsx)(s.td,{children:"Standard RabbitMQ property to track message origin."})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"priority"}),(0,n.jsx)(s.td,{children:"Integer"}),(0,n.jsx)(s.td,{children:"Standard RabbitMQ property to sort messages by priority order."})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"content_encoding"}),(0,n.jsx)(s.td,{children:"String"}),(0,n.jsx)(s.td,{children:"Standard RabbitMQ property for the encoding type of the message"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"content_type"}),(0,n.jsx)(s.td,{children:"String"}),(0,n.jsx)(s.td,{children:"Standard RabbitMQ property for the MIME Type of the message sent"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"delivery_mode"}),(0,n.jsx)(s.td,{children:"Integer"}),(0,n.jsx)(s.td,{children:"Standard RabbitMQ property for the delivery mode (persistent or not)"})]})]})]}),"\n",(0,n.jsx)(s.h3,{id:"headers",children:"Headers"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Parameter"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"regards.tenant"}),(0,n.jsx)(s.td,{children:"String"}),(0,n.jsx)(s.td,{children:"Tenant name depends on REGARDS instance project configuration."})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"regards.type"}),(0,n.jsx)(s.td,{children:"String"}),(0,n.jsx)(s.td,{children:"Type of content of the message"})]})]})]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-json",metastring:'title="Example of the properties and headers of an Ingest request event message"',children:'{\n  "app_id": "{ID of app}",\n  "priority": 1,\n  "delivery_mode": 2,\n  "content_encoding": "UTF-8",\n  "content_type": "application/json",\n  "headers": [\n    {\n      "regards.tenant": "REGARDS",\n      "regards.type": "fr.cnes.regards.modules.ingest.dto.request.event.DisseminationAckEvent"\n    }\n  ]\n}\n'})}),"\n",(0,n.jsx)(s.h3,{id:"body",children:"Body"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-json",children:'{\n  "requestId": "xxxxxxxxxxxx",\n  "providerId": "yyyyyyyyy",\n  "sipId": "URN:SIP:DATA:xxxxxxxxxxxx:V1",\n  "state": "",\n  "errors": []\n}\n'})}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Parameter"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"requestId"}),(0,n.jsx)(s.td,{children:"String"}),(0,n.jsx)(s.td,{children:"Request unique identifier. This identifier is the same as the provided one in the SIP submission request"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"providerId"}),(0,n.jsx)(s.td,{children:"String"}),(0,n.jsx)(s.td,{children:"SIP providerId. This parameter is the same as the provided one in the SIP submission request"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"sipId"}),(0,n.jsx)(s.td,{children:"String"}),(0,n.jsx)(s.td,{children:"Unique SIP identifier generated by rs-ingest service with URN format"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"state"}),(0,n.jsx)(s.td,{children:"String"}),(0,n.jsx)(s.td,{children:"State of the SIP submission request"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"errors"}),(0,n.jsx)(s.td,{children:(0,n.jsx)(s.code,{children:"List<String\\>"})}),(0,n.jsx)(s.td,{children:"Optional error messages to inform about request process errors"})]})]})]})]})}function h(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},28453(e,s,r){r.d(s,{R:()=>d,x:()=>o});var t=r(96540);const n={},i=t.createContext(n);function d(e){const s=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.