Webshop Service Refund BigQuery Publisher Task - infrastructure

Components

Component

Description

Ref

<<config_service>>

this is to fetch the configuration from the service json

Configuration(from config service)

<<ECS Task>>

This task will use to read file received from DataFeed for refund and then process message to SNS

AWS ECS

<<KAFKA TOPIC>>

Kafka topic to publish approve refunds to the bq table

KAFKA TOPIC

<<KAFKA TOPIC>>

Kafka topic to publish auto approve refunds to the audit bq table

KAFKA TOPIC

<<CLOUDWATCH LOG GROUP>>

CLOUDWATCH LOG to show logger messages

AWS CLOUDWATCH LOG

Configuration(from config service)

Config File Name

storepick-webshop-service.json

Value:

{
    "REFUND_REQUEST_ID_TABLE": "$ENV.xxwmm.storepick.refund.request_ids",
    "OSP_BASE_URL": "https://mocks.dev.spt.digital.morconnect.com/osp",
    "OSP_ORDER_REFUND_REQUEST_URL": "/v4",
    "REFUND_REQUEST_SNS_NAME": "arn:aws:sns:eu-west-1:928369729144:sns-euw1-$ENV-storepick-refund-pending-request-001",
    "REFUND_REQUEST_SNS_BATCH_SIZE": 10,
    "OSP_ORDER_SERVICE_URL": "v3/morrisons/orders",
    "OSP_PRODUCT_PROPOSITIONS_SERVICE_URL": "v4/morrisons/effective-product-propositions",
    "SALESFORCE_CASECREATION_URL": "services/apexrest",
    "SALESFORCE_BASE_URL": "https://mocks.dev.spt.digital.morconnect.com/osp/",
    "REFUND_API_AUDIT_TABLE": "$ENV.xxwmm.storepick.refund.api_audit",
    "OSP_REFUND_SERVICE_URL": "v4/morrisons",
    "REFUND_REQUEST_ID_TABLE_TTL_DAYS": 1,
    "REFUND_API_AUDIT_TABLE_TTL_DAYS": 1,
    "S3_BUCKET": "msit.xxwmm.retail.storepick.eeeeeeeee",
    "KAFKA_BROKER": "b-1.picktask-test.k8bixh.c5.kafka.eu-west-1.amazonaws.com:9094,b-2.picktask-test.k8bixh.c5.kafka.eu-west-1.amazonaws.com:9094,b-3.picktask-test.k8bixh.c5.kafka.eu-west-1.amazonaws.com:9094",
    "KAFKA_REFUND_TOPIC": "kafka-euw1-dev-digital-storepick-refund-auto-approved",
    "KAFKA_AUDIT_TOPIC": "kafka-euw1-dev-digital-storepick-refund-audit",
    "API_RETRY_COUNT": 5,
    "API_RETRY_EXPONENTIAL_BACKOFF": 1000,
    "ASYNC_CONCURRENCY": 5,
    "BIG_QUERY_DATASET": "store_pick",
    "BIG_QUERY_REFUND_APPROVAL_TABLE": "refund_approval",
    "BIG_QUERY_WEBSHOP_SERVICE_AUDIT_TABLE": "webshop_service_audit",
    "TIME_OUT": 30,
    "SQS_REFUND_PENDING_REQUEST_DLQ": "sqs-euw1-$ENV-storepick-refund-pending-request-deadletter-001",
    "KFK_MAX_READ_MESSAGES": 1000,
    "BQ_KAFKA_CONSUMER_GROUP_ID": "OSP-LIVE-FEED-GRP",
    "BQ_KAFKA_MAX_MESSAGES_IN_ONE_BATCH": 10,
    "KFK_MAX_POLL_INTERVAL_MS": 90000,
    "KFK_AUTO_COMMIT_INTERVAL_MS": 90,
    "OSP_PAYMENTS_SERVICE_URL": "/v3/morrisons/orders/",
    "OSP_ORDER_CANCELLATION_SERVICE_URL": "v3/"
}

Attribute

Description

REFUND_REQUEST_ID_TABLE

this get the name of the dynamodb table

OSP_BASE_URL

osp base url is to get the main url of the process

OSP_ORDERREFUNDREQUEST_SERVICE_URL

this will get the url of the API where we fetch our data

REFUND_REQUEST_SNS_NAME

this will provide the arn of the sns

REFUND_REQUEST_SNS_BATCH_SIZE

batch size for SNS publish batch

OSP_ORDER_SERVICE_URL

this will get the url of the API where we fetch our data

OSP_PRODUCT_PROPOSITIONS_SERVICE_URL

this will get the url of the API where we fetch our data

SALESFORCE_CASECREATION_URL

this will get the url of the API where we fetch our data

SALESFORCE_BASE_URL

this will get the base url of the API where we fetch our data

REFUND_API_AUDIT_TABLE

this get the name of the dynamodb table

REFUND_REQUEST_ID_TABLE_TTL_DAYS

this get the TTL for dynamodb table

REFUND_API_AUDIT_TABLE_TTL_DAYS

this get the TTL for dynamodb table

S3_BUCKET_NAME

this gives the S3 bucket name

OSP_REFUND_SERVICE_URL

this will get the url of the API where we fetch our data

KAFKA_BROKER

this will give the kafka broker

KAFKA_TOPIC

this will give the kafka topic to write data in kafka

AWS Dynamodb

Environment

dynamodb

dev

dev.xxwmm.storepick.refund.request_ids

sit

sit.xxwmm.storepick.refund.request_ids

prd

prd.xxwmm.storepick.refund.request_ids

AWS ECS

Environment

ECS Fargate Task

dev

storepick-ecs-refund-auto-approve-handler-task-dev-002

sit

storepick-ecs-refund-auto-approve-handler-task-sit-002

prd

storepick-ecs-refund-auto-approve-handler-task-prd-002

KAFKA TOPIC

Environment

Kafka

dev

kafka-euw1-dev-digital-storepick-refund-auto-approved

sit

kafka-euw1-sit-digital-storepick-refund-auto-approved

prd

kafka-euw1-prd-digital-storepick-refund-auto-approved

KAFKA TOPIC

Environment

Kafka

dev

kafka-euw1-dev-digital-storepick-refund-audit

sit

kafka-euw1-sit-digital-storepick-refund-audit

prd

kafka-euw1-prd-digital-storepick-refund-audit

AWS CLOUDWATCH LOG

Environment

Cloudwatch Log Group

dev

clg-euw1-dev-storepick-webshop-bq-publisher-task-002

sit

clg-euw1-sit-storepick-webshop-bq-publisher-task-002

prd

clg-euw1-prd-storepick-webshop-bq-publisher-task-002