Send API V2
Send
Web service API
Kérés
A kötelező oszlop jelentése:
- * - Minden esetben kötelező
- E -
EMAILchannel esetén kötelező - P -
POSTchannel esetén kötelező - A -
ARCHIVEchannel esetén kötelező
| Név | Típus | Leírás | Kötelező |
|---|---|---|---|
| clientHashKey | String | A webszolgáltatást hívó kliens azonosítója. | * |
| requestId | String (150) | A kérés azonosítója a hívó oldalon. | |
| batchId | String (100) | A levélköteg azonosítója. | |
| partnerRef | String (100) | Partner azonosító. | |
| messageType | String (100) | A kérés típusa. Értéke egy Hammy-ben létező levélsablon azonosítója. | |
| messageTypeVersion | Integer | A levélhez tartozó template verziószáma. | |
| mailSubject | String (600) | Email tárgya. A mező, illetve a messageType egyidejűleg nem adható meg. |
|
| mailBody | String (CLOB) | Email szövege. A mező, illetve a messageType egyidejűleg nem adható meg. |
|
| mailHtmlBody | String (CLOB) | HTML email szövege. A mező, illetve a messageType egyidejűleg nem adható meg. |
|
| recipientPostalAddress | String (255) | A címzett teljes postai címe. | P |
| recipientEmailAddress | String (100) | A címzett email címe. | E |
| recipientName | String (100) | A címzett teljes neve. | * |
| recipientEmailAddressCC | String (100) | A másolatot kapó személy email címe. Pontosvesszővel felsorolva több is megadható. | |
| recipientNameCC | String (100) | A másolatot kapó személy neve. | |
| replyToAddress | String (100) | A válasz-email címe. | |
| replyToName | String (100) | A válasz-email neve. | |
| fromAddress | String (100) | A küldő email címe. | |
| fromName | String (100) | A küldő teljes neve. | |
| bccAddress | String (150) | Titkos másolat email cím. | |
| xmlData | String (CLOB) | Az üzenethez tartozó adatok XML formátumban. | |
| archivingExpected | Boolean | true esetén a levél tárgya és szövege archiválódik. |
|
| certificationExpected | Boolean | true érték esetén a levél aláírásra kerül. |
|
| channel | MessageChannel | A csatorna típusa. | |
| userName | String | A felhasználó neve. | |
| relatedMessageId | Integer | Kapcsolódó üzenet Id. | |
| replyEnvelopeAttached | Boolean | true jelzi , hogy az üzenethez válaszboríték van csatolva. |
|
| paymentSlipAttached | Boolean | true jelzi , hogy az üzenethez csekk van csatolva. |
|
| campaignPartId | Integer | Kampány rész azonosító id. | |
| letterType | String (LetterType) | A postai levél típusa. | P |
| attachments | Attachment_V1 [ ] | A csatolmányokat tartalmazó lista. | A |
| properties | Property_V1 [ ] | Az üzenethez tartozó egyéb adatok, metaadatok. | |
| params | Param_V1 [ ] | A szolgáltatás működését befolyásoló egyéb paraméterek listája. |
Válasz
| Név | Típus | Leírás |
|---|---|---|
| messageId | Integer | Az aktuális levél adatbázisbeli azonosítója. |
| status | ResponseStatus_V1 | A válasz státusza. |
| params | Param_V1 [ ] | A szolgáltatás működését befolyásoló egyéb paraméterek listája. |
Minta
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:send="http://send.api.hammy.dbx.hu/">
<soapenv:Header/>
<soapenv:Body>
<send:sendMail>
<request>
<clientHashKey>aa87cd4bcd3445bbc4</clientHashKey>
<recipientEmailAddress>emailaddress@dbx.hu</recipientEmailAddress>
<recipientName>NAME</recipientName>
<mailSubject>Teszt levél tárgy</mailSubject>
<mailBody>Teszt levél szöveg</mailBody>
<fromAddress>norepy@dbx.hu</fromAddress>
<fromName>NAME</fromName>
<xmlData>
<DATA>
<contractNumber>10000001</contractNumber>
<clientID>9000001</clientID>
</DATA>
</xmlData>
<archivingExpected>false</archivingExpected>
<certificationExpected>false</certificationExpected>
</request>
</send:sendMail>
</soapenv:Body>
</soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:send="http://send.api.hammy.dbx.hu/">
<soapenv:Header/>
<soapenv:Body>
<send:sendMail>
<request>
<clientHashKey>aa87cd4bcd3445bbc4</clientHashKey>
<requestId>123</requestId>
<partnerRef>partner1234</partnerRef>
<messageType>TEST.MAIL</messageType>
<messageTypeVersion>1</messageTypeVersion>
<recipientEmailAddress>emailaddress@dbx.hu</recipientEmailAddress>
<recipientName>NAME</recipientName>
<fromAddress>norepy@dbx.hu</fromAddress>
<fromName>NAME</fromName>
<xmlData>
<DATA>
<contractNumber>10000001</contractNumber>
<clientID>9000001</clientID>
</DATA>
</xmlData>
<archivingExpected>false</archivingExpected>
<certificationExpected>false</certificationExpected>
</request>
</send:sendMail>
</soapenv:Body>
</soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:send="http://send.api.hammy.dbx.hu/">
<soapenv:Header/>
<soapenv:Body>
<send:sendMail>
<request>
<clientHashKey>aa87cd4bcd3445bbc4</clientHashKey>
<requestId>123</requestId>
<partnerRef>partner1234</partnerRef>
<messageType>TEST.MAIL</messageType>
<messageTypeVersion>1</messageTypeVersion>
<recipientEmailAddress>emailaddress@dbx.hu</recipientEmailAddress>
<recipientName>NAME</recipientName>
<recipientEmailAddressCC>cc_email_address@dbx.hu</recipientEmailAddressCC>
<recipientNameCC>CC NAME</recipientNameCC>
<fromAddress>norepy@dbx.hu</fromAddress>
<fromName>NAME</fromName>
<xmlData>
<DATA>
<contractNumber>10000001</contractNumber>
<clientID>9000001</clientID>
</DATA>
</xmlData>
<archivingExpected>false</archivingExpected>
<certificationExpected>false</certificationExpected>
<attachments>
<attachment>
<fileName>minta.pdf</fileName>
<content>[base_64_content]</content>
<documentType>SAMPLE1</documentType>
<objectType>POLICY</objectType>
<objectRef>123456789</objectRef>
<archivingExpected>true</archivingExpected>
<certificationExpected>false</certificationExpected>
<deleteSourceExpected>false</deleteSourceExpected>
<postableWithoutCertificate>true</postableWithoutCertificate>
<properties>
<property>
<key>ATTACHMENT_SOURCE</key>
<value>INLINE</value>
<isMetaData>false</isMetaData>
</property>
<property>
<key>INTERNAL_FILE_NAME</key>
<value>test.pdf</value>
<isMetaData>false</isMetaData>
</property>
<property>
<key>SZERZODO_NEVE</key>
<value>Béla</value>
<isMetaData>true</isMetaData>
</property>
<property>
<key>ARCHIVE_TARGET</key>
<value>DMS</value>
<isMetaData>false</isMetaData>
</property>
</properties>
</attachment>
</attachments>
<properties>
<property>
<key>AKARMI_PROPERTY</key>
<value>egy valami</value>
<isMetaData>false</isMetaData>
</property>
</properties>
</request>
</send:sendMail>
</soapenv:Body>
</soapenv:Envelope>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:sendMailResponse xmlns:ns2="http://send.api.hammy.dbx.hu/">
<response>
<messageId>18</messageId>
<status>
<code>0</code>
<messages/>
</status>
</response>
</ns2:sendMailResponse>
</S:Body>
</S:Envelope>
REST API
Kérés
POST hammy/json/send/v2/send
multipart/form-data vagy multipart/mixed kérés.
A kötelező oszlop jelentése:
- * - Minden esetben kötelező
- E -
EMAIL,PORTALchannel esetén kötelező - P -
POSTchannel esetén kötelező - A -
ARCHIVEchannel esetén kötelező
multipart név: message
| Név | Típus | Leírás | Kötelező |
|---|---|---|---|
| requestMeta | JRequestMeta_V1 | Metainformációk. | |
| requestId | String (150) | A kérés azonosítója a hívó oldalon. | |
| batchId | String (100) | A levélköteg azonosítója. | |
| partnerRef | String (100) | Partner azonosító. | |
| messageType | String (100) | A kérés típusa. Értéke egy Hammy-ben létező levélsablon azonosítója. | |
| letterType | String (LetterType) | A postai levél típusa. | P |
| messageTypeVersion | Integer | A levélhez tartozó template verziószáma. | |
| mailSubject | String (600) | Email tárgya. A mező, illetve a messageType egyidejűleg nem adható meg. |
|
| mailBody | String (CLOB) | Email szövege. A mező, illetve a messageType egyidejűleg nem adható meg. |
|
| mailHtmlBody | String (CLOB) | HTML email szövege. A mező, illetve a messageType egyidejűleg nem adható meg. |
|
| recipientEmailAddress | String (100) | A címzett email címe. | E |
| recipientPostalAddress | String (255) | A címzett teljes postai címe. | P |
| recipientName | String (100) | A címzett teljes neve. | * |
| recipientEmailAddressCC | String (100) | A másolatot kapó személy email címe. Pontosvesszővel felsorolva több is megadható. | |
| recipientNameCC | String (100) | A másolatot kapó személy neve. | |
| replyToAddress | String (100) | A válasz-email címe. | |
| replyToName | String (100) | A válasz-email neve. | |
| fromAddress | String (100) | A küldő email címe. | |
| fromName | String (100) | A küldő teljes neve. | |
| bccAddress | String (150) | Titkos másolat email cím. | |
| channel | MessageChannel | A csatorna típusa. | |
| xmlData | String (CLOB) | Az üzenethez tartozó adatok XML formátumban. | |
| certificationExpected | Boolean | true érték esetén a levél aláírásra kerül. |
|
| archivingExpected | Boolean | true esetén a levél tárgya és szövege archiválódik. |
|
| relatedMessageId | Integer | Kapcsolódó üzenet Id. | |
| campaignPartId | Integer | Kampány rész azonosító id. | |
| attachments | JAttachment2 [ ] | A csatolmányokat tartalmazó lista. | A |
| properties | JProperty1 [ ] | Az üzenethez tartozó egyéb adatok, metaadatok. |
A csatolmányokat további partokban lehet megadni, a part neve a csatolmány referenciája.
Válasz
| Név | Típus | Leírás |
|---|---|---|
| messageId | Integer | Az aktuális levél adatbázisbeli azonosítója. (vnd.api ID) |
| meta | JMeta1 | A válaszhoz tartozó metainformációk. |
Minta
A lenti példa olyan emailre vonatkozik, amihez beküldött csatolmány tartozik. Ha csatolmány nélküli az email, akkor nem szükséges multipart üzenetet küldeni. Ebben az esetben a Content-Type header az 'application/vnd.api+json' vagy az 'application/json' valamelyike kell legyen, az üzenet body-ja pedig:
POST /hammy/json/send/v1/send?clientHashKey={{clientHashKey}}&userName={{userName}}
Authorization: JWT {{jwtToken}}
X-Client-Hash-Key: {{clientHashKey}}
X-User-Name: {{userName}}
content-type: multipart/form-data; boundary=-----------------------------{{boundary}}
-----------------------------{{boundary}}
Content-Disposition: form-data; name="message"
Content-Type: application/vnd.api+json
{
"data" : {
"type" : "sendRequests",
"id" : "dfjhdsfk",
"attributes" : {
"mailSubject" : "Teszt",
"mailBody" : "TesztTesztTeszt",
"recipientAddress" : "cimzett.neve@valahol.hu",
"recipientName" : "Dr. Címzett Neve",
"fromAddress" : "felado@valahonnan.com",
"fromName" : "Fel Adó"
},
"relationships" : {
"properties" : {
"data" : [ ]
},
"attachments" : {
"data" : [ {
"type" : "attachments",
"id" : "1"
} ]
}
}
},
"included" : [ {
"type" : "attachments",
"id" : "1",
"attributes" : {
"fileName" : "image.png",
"internalFileName" : "internal-image.png",
"archivingExpected" : true,
"certificationExpected" : false,
"contentAvailable" : false,
"attachmentRef" : "{{attachmentPartNev}}",
"deleteSourceExpected" : false,
"postableWithoutCertificate" : false
},
"relationships" : {
"properties" : {
"data" : [ {
"type" : "properties",
"id" : "1"
}, {
"type" : "properties",
"id" : "2"
}, {
"type" : "properties",
"id" : "3"
} ]
}
}
}, {
"type" : "properties",
"id" : "3",
"attributes" : {
"key" : "ARCHIVE_RELATIVE_PATH",
"value" : "/alma/",
"isMetaData" : false
}
}, {
"type" : "properties",
"id" : "2",
"attributes" : {
"key" : "ARCHIVE_TARGET",
"value" : "FS",
"isMetaData" : false
}
}, {
"type" : "properties",
"id" : "1",
"attributes" : {
"key" : "ATTACHMENT_SOURCE",
"value" : "INLINE",
"isMetaData" : false
}
} ]
}
-----------------------------{{boundary}}
Content-Disposition: form-data; name="{{attachmentPartNev}}"
Content-Type: application/octet-stream
[BINÁRIS TARTALOM]
-----------------------------{{boundary}}
HTTP/1.1 200 OK
Authorization: JWT {{jwtToken}}
Content-Type: application/vnd.api+json
{
"data" : {
"type" : "sendResponse",
"id" : "122",
"attributes" : { }
},
"meta" : {
"total" : null,
"params" : [ ],
"responseStatus" : {
"code" : 0,
"messages" : [ ]
}
}
}
Queue API minta
Beállítások
AMQP-n keresztül is fogadjuk a kéréseket. Ebben az esetben az üzenet tulajdonságai között a következő értékek megadása szükséges:
content_type: [application/xml | application/json | application/vnd.api+json]
content_encoding: {{encoding}}
correlation_id: {{correlationId}}
message_id: {{messageId}}
reply_to: {{queue to send response to}}
Az üzenet fejlécben pedig a következő értékek megadása szükséges:
X-Client-Hash-Key: {{clientHashKey}}
X-Method-Name:Send_V2_Send
replyToApp: {{routing key for response}}
Minta
A kérések és válaszok elvárt formátumát a content_type property vezérli.
application/json
Authorization: JWT {{jwtToken}}
X-Client-Hash-Key: {{clientHashKey}}
X-User-Name: {{userName}}
Content-Type: application/json
{
"messageType": "351.DI",
"recipientEmailAddress": "emailaddress@dbx.hu",
"recipientName": "NAME",
"attachments": [
{
"documentType": "351.DI",
"fileName": "minta.pdf",
"archivingExpected": "true",
"certificationExpected": "false",
"properties": [
{
"isMetaData": "false",
"key": "ATTACHMENT_SOURCE",
"value": "FS"
},
{
"isMetaData": "false",
"key": "RELATIVE_FILE_PATH",
"value": "test.pdf"
},
{
"isMetaData": "false",
"key": "ARCHIVE_TARGET",
"value": "DMS"
},
{
"isMetaData": "true",
"key": "SZERZODO_NEVE",
"value": "Cserepes Virág"
}
]
}
],
"properties": [
{
"isMetaData": "false",
"key": "CIMZETT_NEVE",
"value": "Teszt Elek"
},
{
"isMetaData": "false",
"key": "SZERZODES_AZON",
"value": "123456789"
},
{
"isMetaData": "false",
"key": "NYOMT_AZON",
"value": "351 díjértesítő"
},
{
"isMetaData": "false",
"key": "ROOT_ID",
"value": "111111111"
}
]
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"meta" : {
"responseStatus" : {
"code" : 0,
"messages" : [ ]
},
"params" : [ ]
},
"messageId" : 308563
}
application/vnd.api+json
Authorization: JWT {{jwtToken}}
X-Client-Hash-Key: {{clientHashKey}}
X-User-Name: {{userName}}
Content-Type: application/vnd.api+json
{
"data": {
"type": "sendRequest",
"id": "3ff0f9bb-80db-4e0f-a09c-7dac438e157f",
"attributes": {
"messageType": "351.DI",
"recipientEmailAddress": "emailaddress@dbx.hu",
"recipientName": "NAME"
},
"relationships": {
"properties": {
"data": [{
"type": "properties",
"id": "1"
},
{
"type": "properties",
"id": "2"
},
{
"type": "properties",
"id": "3"
},
{
"type": "properties",
"id": "4"
}
]
},
"attachments": {
"data": [{
"type": "attachments",
"id": "1"
}]
}
}
},
"included": [{
"type": "attachments",
"id": "1",
"attributes": {
"fileName": "minta.pdf",
"documentType": "351.DI",
"archivingExpected": "true",
"certificationExpected": "false"
},
"relationships": {
"properties": {
"data": [{
"type": "properties",
"id": "5"
},
{
"type": "properties",
"id": "6"
},
{
"type": "properties",
"id": "7"
},
{
"type": "properties",
"id": "8"
}
]
}
}
},
{
"type": "properties",
"id": "1",
"attributes": {
"key": "CIMZETT_NEVE",
"value": "Teszt Elek",
"isMetaData": false
}
},
{
"type": "properties",
"id": "2",
"attributes": {
"key": "SZERZODES_AZON",
"value": "123456789",
"isMetaData": false
}
},
{
"type": "properties",
"id": "3",
"attributes": {
"key": "NYOMT_AZON",
"value": "351 díjértesítő",
"isMetaData": false
}
},
{
"type": "properties",
"id": "4",
"attributes": {
"key": "ROOT_ID",
"value": "111111111",
"isMetaData": false
}
},
{
"type": "properties",
"id": "5",
"attributes": {
"key": "ATTACHMENT_SOURCE",
"value": "FS",
"isMetaData": false
}
},
{
"type": "properties",
"id": "6",
"attributes": {
"key": "RELATIVE_FILE_PATH",
"value": "test.pdf",
"isMetaData": false
}
},
{
"type": "properties",
"id": "7",
"attributes": {
"key": "ARCHIVE_TARGET",
"value": "DMS",
"isMetaData": false
}
},
{
"type": "properties",
"id": "8",
"attributes": {
"key": "SZERZODO_NEVE",
"value": "Cserepes Virág",
"isMetaData": true
}
}
]
}
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
{
"data" : {
"type" : "sendResponse",
"id" : "308562",
"attributes" : { }
},
"meta" : {
"params" : [ ],
"responseStatus" : {
"code" : 0,
"messages" : [ ]
}
}
}
application/xml
<sendMailRequest>
<messageType>351.DI</messageType>
<recipientEmailAddress>test@example.com</recipientEmailAddress>
<recipientName>Teszt Elek</recipientName>
<attachments>
<attachment>
<fileName>minta.pdf</fileName>
<documentType>351.DI</documentType>
<archivingExpected>true</archivingExpected>
<certificationExpected>false</certificationExpected>
<deleteSourceExpected>false</deleteSourceExpected>
<postableWithoutCertificate>false</postableWithoutCertificate>
<properties>
<property>
<key>ATTACHMENT_SOURCE</key>
<value>FS</value>
<isMetaData>false</isMetaData>
</property>
<property>
<key>RELATIVE_FILE_PATH</key>
<value>test.pdf</value>
<isMetaData>false</isMetaData>
</property>
<property>
<key>ARCHIVE_TARGET</key>
<value>DMS</value>
<isMetaData>false</isMetaData>
</property>
<property>
<key>SZERZODO_NEVE</key>
<value>Cserepes Virág</value>
<isMetaData>true</isMetaData>
</property>
</properties>
</attachment>
</attachments>
<properties>
<property>
<key>CIMZETT_NEVE</key>
<value>Teszt Elek</value>
<isMetaData>false</isMetaData>
</property>
<property>
<key>SZERZODES_AZON</key>
<value>123456789</value>
<isMetaData>false</isMetaData>
</property>
<property>
<key>NYOMT_AZON</key>
<value>351 díjértesítő</value>
<isMetaData>false</isMetaData>
</property>
<property>
<key>ROOT_ID</key>
<value>111111111</value>
<isMetaData>false</isMetaData>
</property>
</properties>
</sendMailRequest>
<sendMailResponse>
<messageId>308564</messageId>
<status>
<code>0</code>
<messages/>
</status>
</sendMailResponse>
Resend
Web service API
Ebben a verzióban nem változott.
REST API
Ebben a verzióban nem változott.
Queue
Queue-n keresztül is fogadjuk a kérést. Ez esetben a kötelező headerök a kérésnél:
Content-Type: application/xml
X-Client-Hash-Key: {{clientHashKey}}
X-Method-Name: Send_V2_Resend